[PATCH 2/3] wined3d: Clear the graphics pipeline key stencil test state when the stencil test is disabled.

Henri Verbeet hverbeet at codeweavers.com
Tue Oct 13 08:20:54 CDT 2020


The state itself is ignored in this case, but could still cause additional
pipeline variants to be created. That's mostly a consideration for Direct3D 9
and before, since Direct3D 10 and 11 already normalise disabled stencil test
state themselves.

Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
---
 dlls/wined3d/context_vk.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/dlls/wined3d/context_vk.c b/dlls/wined3d/context_vk.c
index 92b8c14e239..f1258842152 100644
--- a/dlls/wined3d/context_vk.c
+++ b/dlls/wined3d/context_vk.c
@@ -2080,6 +2080,11 @@ static bool wined3d_context_vk_update_graphics_pipeline_key(struct wined3d_conte
                 key->ds_desc.back.reference = state->render_states[WINED3D_RS_STENCILREF]
                         & ((1 << state->fb.depth_stencil->format->stencil_size) - 1);
             }
+            else
+            {
+                memset(&key->ds_desc.front, 0, sizeof(key->ds_desc.front));
+                memset(&key->ds_desc.back, 0, sizeof(key->ds_desc.back));
+            }
         }
         else
         {
-- 
2.20.1




More information about the wine-devel mailing list