Module: Mesa
Branch: main
Commit: 122ffb0c88810ca7fb3a8519830fe157c127d94e
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=122ffb0c88810ca7fb3a8519830fe157c127d94e

Author: Mike Blumenkrantz <[email protected]>
Date:   Thu Aug  3 07:36:56 2023 -0400

zink: unset line stipple ds3 state flags when stipple not available

Fixes: 7b4c1b3a426 ("zink: track and apply ds3 states only on change")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24478>

---

 src/gallium/drivers/zink/zink_context.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/gallium/drivers/zink/zink_context.c 
b/src/gallium/drivers/zink/zink_context.c
index 610a0e302fc..a4cb5088225 100644
--- a/src/gallium/drivers/zink/zink_context.c
+++ b/src/gallium/drivers/zink/zink_context.c
@@ -3250,6 +3250,10 @@ flush_batch(struct zink_context *ctx, bool sync)
             ctx->ds3_states = BITFIELD_MASK(ZINK_DS3_BLEND_A2C);
          if 
(!screen->info.dynamic_state3_feats.extendedDynamicState3AlphaToOneEnable)
             ctx->ds3_states &= ~BITFIELD_BIT(ZINK_DS3_BLEND_A21);
+         if 
(!screen->info.dynamic_state3_feats.extendedDynamicState3LineStippleEnable)
+            ctx->ds3_states &= ~BITFIELD_BIT(ZINK_DS3_RAST_STIPPLE_ON);
+         if (screen->driver_workarounds.no_linestipple)
+            ctx->ds3_states &= ~BITFIELD_BIT(ZINK_DS3_RAST_STIPPLE);
       }
       ctx->oom_flush = false;
       ctx->oom_stall = false;

Reply via email to