diff --git a/src/gallium/drivers/iris/iris_state.c b/src/gallium/drivers/iris/iris_state.c index c7e3423620e..14166de7be2 100644 --- a/src/gallium/drivers/iris/iris_state.c +++ b/src/gallium/drivers/iris/iris_state.c @@ -2488,9 +2488,12 @@ iris_upload_sampler_states(struct iris_context *ice, gl_shader_stage stage) memset(map, 0, 4 * GENX(SAMPLER_STATE_length)); } else { const uint32_t *sampler_state = state->sampler_state; + #if GFX_VERx10 == 125 - if (tex && tex->res->base.b.target == PIPE_TEXTURE_3D) - sampler_state = state->sampler_state_3d; + if (intel_needs_workaround(screen->devinfo, 14014414195) && + tex && tex->res->base.b.target == PIPE_TEXTURE_3D) { + sampler_state = state->sampler_state_3d; + } #endif if (!state->needs_border_color) {