anv: dirty all push constant stages in simple shader

Above we're reprogramming push constants as well at a couple of
workarounds that require dirtying all stages.

cmd_buffer->state.gfx.push_constant_stages was already set in the
above function.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 4fa1eddb4c ("anv: optimize binding table flushing")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14953
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
(cherry picked from commit 38ef732169)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>
This commit is contained in:
Lionel Landwerlin 2026-03-03 17:07:11 +02:00 committed by Eric Engestrom
parent 049caf1696
commit 195fbfb2f1
2 changed files with 4 additions and 2 deletions

View file

@ -3854,7 +3854,7 @@
"description": "anv: dirty all push constant stages in simple shader",
"nominated": false,
"nomination_type": 2,
"resolution": 4,
"resolution": 1,
"main_sha": null,
"because_sha": "4fa1eddb4cff78dcb04dc03425d77bd30f9daa3d",
"notes": null

View file

@ -390,7 +390,9 @@ genX(emit_simpler_shader_init_fragment)(struct anv_simple_shader *state)
ANV_CMD_DIRTY_XFB_ENABLE |
ANV_CMD_DIRTY_OCCLUSION_QUERY_ACTIVE |
ANV_CMD_DIRTY_INDEX_TYPE);
state->cmd_buffer->state.push_constants_dirty |= VK_SHADER_STAGE_FRAGMENT_BIT;
/* We're reprogramming push constants and also
* Wa_22011440098/Wa_18022330953 force us to reprogram */
state->cmd_buffer->state.push_constants_dirty |= VK_SHADER_STAGE_ALL_GRAPHICS;
state->cmd_buffer->state.gfx.push_constant_stages = VK_SHADER_STAGE_FRAGMENT_BIT;
}