diff --git a/src/mesa/state_tracker/st_program.c b/src/mesa/state_tracker/st_program.c index 1a075619297..5424fc204fd 100644 --- a/src/mesa/state_tracker/st_program.c +++ b/src/mesa/state_tracker/st_program.c @@ -699,6 +699,7 @@ st_create_vp_variant(struct st_context *st, _mesa_add_state_reference(params, point_size_state); NIR_PASS_V(state.ir.nir, nir_lower_point_size_mov, point_size_state); + stvp->affected_states |= ST_NEW_VS_CONSTANTS; finalize = true; } @@ -1713,6 +1714,10 @@ st_get_common_variant(struct st_context *st, _mesa_add_state_reference(params, point_size_state); NIR_PASS_V(state.ir.nir, nir_lower_point_size_mov, point_size_state); + if (prog->Base.info.stage == MESA_SHADER_TESS_EVAL) + prog->affected_states |= ST_NEW_TES_CONSTANTS; + else if (prog->Base.info.stage == MESA_SHADER_GEOMETRY) + prog->affected_states |= ST_NEW_GS_CONSTANTS; finalize = true; } state.stream_output = prog->state.stream_output;