diff --git a/src/gallium/drivers/iris/iris_blorp.c b/src/gallium/drivers/iris/iris_blorp.c index a0af9d6d343..2a43ca872cd 100644 --- a/src/gallium/drivers/iris/iris_blorp.c +++ b/src/gallium/drivers/iris/iris_blorp.c @@ -353,8 +353,15 @@ iris_blorp_exec_render(struct blorp_batch *blorp_batch, IRIS_DIRTY_LINE_STIPPLE | IRIS_ALL_DIRTY_FOR_COMPUTE | IRIS_DIRTY_SCISSOR_RECT | - IRIS_DIRTY_VF | - IRIS_DIRTY_SF_CL_VIEWPORT); + IRIS_DIRTY_VF); + /* Wa_14016820455 + * On Gfx 12.5 platforms, the SF_CL_VIEWPORT pointer can be invalidated + * likely by a read cache invalidation when clipping is disabled, so we + * don't skip its dirty bit here, in order to reprogram it. + */ + if (GFX_VERx10 != 125) + skip_bits |= IRIS_DIRTY_SF_CL_VIEWPORT; + uint64_t skip_stage_bits = (IRIS_ALL_STAGE_DIRTY_FOR_COMPUTE | IRIS_STAGE_DIRTY_UNCOMPILED_VS | IRIS_STAGE_DIRTY_UNCOMPILED_TCS |