diff --git a/.pick_status.json b/.pick_status.json index bf2e3bab72d..d1152e9b6a2 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -10274,7 +10274,7 @@ "description": "zink: unset line stipple ds3 state flags when stipple not available", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "7b4c1b3a426ec781c81f48bf57e5e7de07bea2af", "notes": null 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;