From 122ffb0c88810ca7fb3a8519830fe157c127d94e Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Thu, 3 Aug 2023 07:36:56 -0400 Subject: [PATCH] zink: unset line stipple ds3 state flags when stipple not available Fixes: 7b4c1b3a426 ("zink: track and apply ds3 states only on change") Part-of: --- 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;