tu: Track dirty TCS state

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39254>
This commit is contained in:
Rob Clark 2026-01-12 10:02:46 -08:00 committed by Marge Bot
parent 9e57b87acb
commit 0edbafcb37
2 changed files with 7 additions and 2 deletions

View file

@ -5322,7 +5322,10 @@ tu_bind_vs(struct tu_cmd_buffer *cmd, struct tu_shader *vs)
static void
tu_bind_tcs(struct tu_cmd_buffer *cmd, struct tu_shader *tcs)
{
cmd->state.shaders[MESA_SHADER_TESS_CTRL] = tcs;
if (cmd->state.shaders[MESA_SHADER_TESS_CTRL] != tcs) {
cmd->state.shaders[MESA_SHADER_TESS_CTRL] = tcs;
cmd->state.dirty |= TU_CMD_DIRTY_TCS;
}
}
static void

View file

@ -76,8 +76,10 @@ enum tu_cmd_dirty_bits
TU_CMD_DIRTY_FS = BIT(14),
TU_CMD_DIRTY_SHADING_RATE = BIT(15),
TU_CMD_DIRTY_DISABLE_FS = BIT(16),
TU_CMD_DIRTY_TCS = BIT(17),
/* all draw states were disabled and need to be re-enabled: */
TU_CMD_DIRTY_DRAW_STATE = BIT(17)
TU_CMD_DIRTY_DRAW_STATE = BIT(18)
};
/* There are only three cache domains we have to care about: the CCU, or