From eb77e320d53a659f9fc0d4dda4ff8e8fd77f3834 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B3zef=20Kucia?= Date: Wed, 29 Mar 2017 15:11:07 +0200 Subject: [PATCH] wined3d: Acquire stream output buffers for draw calls. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Józef Kucia Signed-off-by: Henri Verbeet Signed-off-by: Alexandre Julliard --- dlls/wined3d/cs.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c index dd6feab295e..71099e7519b 100644 --- a/dlls/wined3d/cs.c +++ b/dlls/wined3d/cs.c @@ -634,6 +634,11 @@ static void wined3d_cs_exec_draw(struct wined3d_cs *cs, const void *data) if (state->streams[i].buffer) wined3d_resource_release(&state->streams[i].buffer->resource); } + for (i = 0; i < ARRAY_SIZE(state->stream_output); ++i) + { + if (state->stream_output[i].buffer) + wined3d_resource_release(&state->stream_output[i].buffer->resource); + } for (i = 0; i < ARRAY_SIZE(state->textures); ++i) { if (state->textures[i]) @@ -675,6 +680,11 @@ void wined3d_cs_emit_draw(struct wined3d_cs *cs, GLenum primitive_type, int base if (state->streams[i].buffer) wined3d_resource_acquire(&state->streams[i].buffer->resource); } + for (i = 0; i < ARRAY_SIZE(state->stream_output); ++i) + { + if (state->stream_output[i].buffer) + wined3d_resource_acquire(&state->stream_output[i].buffer->resource); + } for (i = 0; i < ARRAY_SIZE(state->textures); ++i) { if (state->textures[i])