[PATCH 2/6] wined3d: Acquire stream output buffers for draw calls.
Józef Kucia
jkucia at codeweavers.com
Wed Mar 29 08:11:07 CDT 2017
Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
---
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])
--
2.10.2
More information about the wine-patches
mailing list