diff --git a/src/gallium/drivers/iris/iris_state.c b/src/gallium/drivers/iris/iris_state.c index 55ecf449e8f..137fcd99073 100644 --- a/src/gallium/drivers/iris/iris_state.c +++ b/src/gallium/drivers/iris/iris_state.c @@ -668,6 +668,15 @@ iris_rewrite_compute_walker_pc(struct iris_batch *batch, for (uint32_t i = 0; i < GENX(COMPUTE_WALKER_length); i++) walker[i] |= dwords[i]; + + /* + * TDOD: Add INTEL_NEEDS_WA_14025112257 check once HSD is propogated for all + * other impacted platforms. + */ + if (screen->devinfo->ver >= 20 && batch->name == IRIS_BATCH_COMPUTE) { + iris_emit_pipe_control_flush(batch, "WA_14025112257", + PIPE_CONTROL_STATE_CACHE_INVALIDATE); + } #else UNREACHABLE("Unsupported"); #endif @@ -9250,6 +9259,15 @@ iris_upload_compute_walker(struct iris_context *ice, } } + /* + * TDOD: Add INTEL_NEEDS_WA_14025112257 check once HSD is propogated for all + * other impacted platforms. + */ + if (screen->devinfo->ver >= 20 && batch->name == IRIS_BATCH_COMPUTE) { + iris_emit_pipe_control_flush(batch, "WA_14025112257", + PIPE_CONTROL_STATE_CACHE_INVALIDATE); + } + trace_intel_end_compute(&batch->trace, grid->grid[0], grid->grid[1], grid->grid[2], 0); }