=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: wined3d: Acquire stream output buffers for draw calls.

Alexandre Julliard julliard at winehq.org
Wed Mar 29 15:02:52 CDT 2017


Module: wine
Branch: master
Commit: eb77e320d53a659f9fc0d4dda4ff8e8fd77f3834
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=eb77e320d53a659f9fc0d4dda4ff8e8fd77f3834

Author: Józef Kucia <jkucia at 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 at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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])




More information about the wine-cvs mailing list