radeonsi/gfx10: update spi_map if API VS (as NGG) changes and PS doesn't
authorMarek Olšák <marek.olsak@amd.com>
Tue, 28 May 2019 23:56:08 +0000 (19:56 -0400)
committerMarek Olšák <marek.olsak@amd.com>
Wed, 3 Jul 2019 19:51:13 +0000 (15:51 -0400)
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/gallium/drivers/radeonsi/si_state_shaders.c

index 7450fa67ffc3878f52c08313f2cf30c31453a45c..7922ced414d6c8827b6c5fcd95a7dded3414bf57 100644 (file)
@@ -3849,7 +3849,9 @@ bool si_update_shaders(struct si_context *sctx)
                        sctx->ps_shader.cso->db_shader_control |
                        S_02880C_KILL_ENABLE(si_get_alpha_test_func(sctx) != PIPE_FUNC_ALWAYS);
 
-               if (si_pm4_state_changed(sctx, ps) || si_pm4_state_changed(sctx, vs) ||
+               if (si_pm4_state_changed(sctx, ps) ||
+                   si_pm4_state_changed(sctx, vs) ||
+                   (key.u.ngg && si_pm4_state_changed(sctx, gs)) ||
                    sctx->sprite_coord_enable != rs->sprite_coord_enable ||
                    sctx->flatshade != rs->flatshade) {
                        sctx->sprite_coord_enable = rs->sprite_coord_enable;