Module: wine Branch: master Commit: eb77e320d53a659f9fc0d4dda4ff8e8fd77f3834 URL: http://source.winehq.org/git/wine.git/?a=commit;h=eb77e320d53a659f9fc0d4dda4...
Author: Józef Kucia jkucia@codeweavers.com Date: Wed Mar 29 15:11:07 2017 +0200
wined3d: Acquire stream output buffers for draw calls.
Signed-off-by: Józef Kucia jkucia@codeweavers.com Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/wined3d/cs.c | 10 ++++++++++ 1 file changed, 10 insertions(+)
diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c index dd6feab..71099e7 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])