=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: wined3d: Do not try to invalidate compute states for freshly created contexts.

Alexandre Julliard julliard at winehq.org
Wed Feb 22 15:42:03 CST 2017


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

Author: Józef Kucia <jkucia at codeweavers.com>
Date:   Wed Feb 22 13:19:27 2017 +0100

wined3d: Do not try to invalidate compute states for freshly created contexts.

The context_invalidate_state() function doesn't handle compute states
properly.

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/context.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
index a58a905..67daded 100644
--- a/dlls/wined3d/context.c
+++ b/dlls/wined3d/context.c
@@ -1828,11 +1828,11 @@ struct wined3d_context *context_create(struct wined3d_swapchain *swapchain,
     ret->d3d_info = d3d_info;
     ret->state_table = device->StateTable;
 
-    /* Mark all states dirty to force a proper initialization of the states
-     * on the first use of the context. */
+    /* Mark all states dirty to force a proper initialization of the states on
+     * the first use of the context. Compute states do not need initialization. */
     for (state = 0; state <= STATE_HIGHEST; ++state)
     {
-        if (ret->state_table[state].representative)
+        if (ret->state_table[state].representative && !STATE_IS_COMPUTE(state))
             context_invalidate_state(ret, state);
     }
 




More information about the wine-cvs mailing list