radv: re-emit the TCS epilog when a new TCS is bound

Similarly to VS prologs and PS epilogs, this needs to be re-emitted
otherwise the config shader state can be overwritten.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26930>
This commit is contained in:
Samuel Pitoiset
2024-01-10 17:17:20 +01:00
committed by Marge Bot
parent 1bc5f15b68
commit 9351a4c51a

View File

@@ -6432,6 +6432,10 @@ radv_bind_tess_ctrl_shader(struct radv_cmd_buffer *cmd_buffer, const struct radv
* 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;
/* Re-emit the TCS epilog when a new tessellation control shader is bound. */
if (tcs->info.has_epilog)
cmd_buffer->state.emitted_tcs_epilog = NULL;
}
static void