crocus/gfx6: fix sampler view first level.
authorDave Airlie <airlied@redhat.com>
Thu, 24 Jun 2021 03:19:31 +0000 (13:19 +1000)
committerMarge Bot <eric+marge@anholt.net>
Thu, 24 Jun 2021 06:50:49 +0000 (06:50 +0000)
The gfx6 state needs to dirty sampler state so that BaseMipLevel
gets updated properly.

Fixes:
dEQP-GLES3.functional.texture.mipmap.cube.base_level.*

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11567>

src/gallium/drivers/crocus/crocus_state.c

index 8506aac..8cb00a9 100644 (file)
@@ -3142,7 +3142,10 @@ crocus_set_sampler_views(struct pipe_context *ctx,
          shs->bound_sampler_views |= 1 << (start + i);
       }
    }
-
+#if GFX_VER == 6
+   /* first level parameters to crocus_upload_sampler_state is gfx6 only */
+   ice->state.stage_dirty |= CROCUS_STAGE_DIRTY_SAMPLER_STATES_VS << stage;
+#endif
    ice->state.stage_dirty |= (CROCUS_STAGE_DIRTY_BINDINGS_VS << stage);
    ice->state.dirty |=
       stage == MESA_SHADER_COMPUTE ? CROCUS_DIRTY_COMPUTE_RESOLVES_AND_FLUSHES