diff options
Diffstat (limited to 'src/gallium/drivers/iris/iris_state.c')
-rw-r--r-- | src/gallium/drivers/iris/iris_state.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/gallium/drivers/iris/iris_state.c b/src/gallium/drivers/iris/iris_state.c index 582611d3a04..2ea077300da 100644 --- a/src/gallium/drivers/iris/iris_state.c +++ b/src/gallium/drivers/iris/iris_state.c @@ -967,6 +967,15 @@ iris_init_render_context(struct iris_batch *batch) iris_upload_slice_hashing_state(batch); #endif +#if GEN_GEN == 12 + iris_pack_state(GENX(SAMPLER_MODE), ®_val, reg) { + /* GEN:BUG:1406941453 */ + reg.SmallPL = true; + reg.SmallPLMask = true; + } + iris_emit_lri(batch, SAMPLER_MODE, reg_val); +#endif + /* 3DSTATE_DRAWING_RECTANGLE is non-pipelined, so we want to avoid * changing it dynamically. We set it to the maximum size here, and * instead include the render target dimensions in the viewport, so @@ -1020,6 +1029,15 @@ iris_init_compute_context(struct iris_batch *batch) init_state_base_address(batch); +#if GEN_GEN == 12 + iris_pack_state(GENX(SAMPLER_MODE), ®_val, reg) { + /* GEN:BUG:1406941453 */ + reg.SmallPL = true; + reg.SmallPLMask = true; + } + iris_emit_lri(batch, SAMPLER_MODE, reg_val); +#endif + #if GEN_GEN == 9 if (devinfo->is_geminilake) init_glk_barrier_mode(batch, GLK_BARRIER_MODE_GPGPU); |