tu: Template tu6_emit_msaa() by CHIP.

This gets us the right regs on 8xx.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38796>
This commit is contained in:
Emma Anholt
2025-12-02 16:34:55 -08:00
committed by Marge Bot
parent 22a8475151
commit 99f31785a2
3 changed files with 12 additions and 7 deletions
+1 -1
View File
@@ -948,7 +948,7 @@ r3d_common(struct tu_cmd_buffer *cmd, struct tu_cs *cs, enum r3d_type type,
}
}
tu6_emit_msaa(cs, dst_samples, false);
tu6_emit_msaa<CHIP>(cs, dst_samples, false);
}
static void
+10 -6
View File
@@ -1165,6 +1165,7 @@ tu_cs_emit_draw_state(struct tu_cs *cs, uint32_t id, struct tu_draw_state state)
tu_cs_emit_qw(cs, state.iova);
}
template <chip CHIP>
void
tu6_emit_msaa(struct tu_cs *cs, VkSampleCountFlagBits vk_samples,
bool msaa_disable)
@@ -1177,8 +1178,8 @@ tu6_emit_msaa(struct tu_cs *cs, VkSampleCountFlagBits vk_samples,
.msaa_disable = msaa_disable));
tu_cs_emit_regs(cs,
A6XX_GRAS_SC_RAS_MSAA_CNTL(samples),
A6XX_GRAS_SC_DEST_MSAA_CNTL(.samples = samples,
GRAS_SC_RAS_MSAA_CNTL(CHIP, samples),
GRAS_SC_DEST_MSAA_CNTL(CHIP, .samples = samples,
.msaa_disable = msaa_disable));
tu_cs_emit_regs(cs,
@@ -1186,7 +1187,9 @@ tu6_emit_msaa(struct tu_cs *cs, VkSampleCountFlagBits vk_samples,
A6XX_RB_DEST_MSAA_CNTL(.samples = samples,
.msaa_disable = msaa_disable));
}
TU_GENX(tu6_emit_msaa);
template <chip CHIP>
static void
tu6_update_msaa(struct tu_cmd_buffer *cmd)
{
@@ -1199,9 +1202,10 @@ tu6_update_msaa(struct tu_cmd_buffer *cmd)
*/
if (samples == 0)
samples = VK_SAMPLE_COUNT_1_BIT;
tu6_emit_msaa(&cmd->draw_cs, samples, cmd->state.msaa_disable);
tu6_emit_msaa<CHIP>(&cmd->draw_cs, samples, cmd->state.msaa_disable);
}
template <chip CHIP>
static void
tu6_update_msaa_disable(struct tu_cmd_buffer *cmd)
{
@@ -1221,7 +1225,7 @@ tu6_update_msaa_disable(struct tu_cmd_buffer *cmd)
if (cmd->state.msaa_disable != msaa_disable) {
cmd->state.msaa_disable = msaa_disable;
tu6_update_msaa(cmd);
tu6_update_msaa<CHIP>(cmd);
}
}
@@ -7941,13 +7945,13 @@ tu6_draw_common(struct tu_cmd_buffer *cmd,
MESA_VK_DYNAMIC_RS_LINE_MODE) ||
(cmd->state.dirty & TU_CMD_DIRTY_TES) ||
(cmd->state.dirty & TU_CMD_DIRTY_DRAW_STATE)) {
tu6_update_msaa_disable(cmd);
tu6_update_msaa_disable<CHIP>(cmd);
}
if (BITSET_TEST(cmd->vk.dynamic_graphics_state.dirty,
MESA_VK_DYNAMIC_MS_RASTERIZATION_SAMPLES) ||
(cmd->state.dirty & TU_CMD_DIRTY_DRAW_STATE)) {
tu6_update_msaa(cmd);
tu6_update_msaa<CHIP>(cmd);
}
bool dirty_fs_params = false;
+1
View File
@@ -835,6 +835,7 @@ tu_get_descriptors_state(struct tu_cmd_buffer *cmd_buffer,
return &cmd_buffer->descriptors[bind_point];
}
template <chip CHIP>
void tu6_emit_msaa(struct tu_cs *cs, VkSampleCountFlagBits samples,
bool msaa_disable);