radv: Move all the dirty flags from TES binding to TCS binding.

With merged shaders we might not have an explicit TES.

Fixes: 879ddf9720 ("radv: rework binding shaders to cmdbuf by introducing new helpers")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8939
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22784>
This commit is contained in:
Bas Nieuwenhuizen
2023-05-01 19:51:42 +02:00
committed by Marge Bot
parent f572344901
commit df08ed7d1c

View File

@@ -6500,6 +6500,8 @@ static void
radv_bind_vertex_shader(struct radv_cmd_buffer *cmd_buffer, const struct radv_shader *vs)
{
radv_bind_pre_rast_shader(cmd_buffer, vs);
/* Can't put anything else here due to merged shaders */
}
static void
@@ -6509,10 +6511,11 @@ radv_bind_tess_ctrl_shader(struct radv_cmd_buffer *cmd_buffer, const struct radv
cmd_buffer->tess_rings_needed = true;
/* Always re-emit patch control points when a new pipeline with tessellation is bound because a
* bunch of parameters (user SGPRs, TCS vertices out, ccw, etc) can be different.
/* Always re-emit patch control points/domain origin when a new pipeline with tessellation is
* bound because a bunch of parameters (user SGPRs, TCS vertices out, ccw, etc) can be different.
*/
cmd_buffer->state.dirty |= RADV_CMD_DIRTY_DYNAMIC_PATCH_CONTROL_POINTS;
cmd_buffer->state.dirty |=
RADV_CMD_DIRTY_DYNAMIC_PATCH_CONTROL_POINTS | RADV_CMD_DIRTY_DYNAMIC_TESS_DOMAIN_ORIGIN;
}
static void
@@ -6520,13 +6523,7 @@ radv_bind_tess_eval_shader(struct radv_cmd_buffer *cmd_buffer, const struct radv
{
radv_bind_pre_rast_shader(cmd_buffer, tes);
cmd_buffer->tess_rings_needed = true;
/* Always re-emit patch control points/domain origin when a new pipeline with tessellation is
* bound because a bunch of parameters (user SGPRs, TCS vertices out, ccw, etc) can be different.
*/
cmd_buffer->state.dirty |= RADV_CMD_DIRTY_DYNAMIC_PATCH_CONTROL_POINTS |
RADV_CMD_DIRTY_DYNAMIC_TESS_DOMAIN_ORIGIN;
/* Can't put anything else here due to merged shaders */
}
static void