tu: Fill GS/DS ViewID register fields

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40153>
This commit is contained in:
Connor Abbott 2026-02-27 18:19:06 -05:00 committed by Marge Bot
parent f497e3913b
commit 3433e53da7

View file

@ -2443,13 +2443,15 @@ tu6_emit_ds(struct tu_cs *cs,
regid(63, 0);
const uint32_t ds_primitiveid_regid =
ir3_find_sysval_regid(ds, SYSTEM_VALUE_PRIMITIVE_ID);
const uint32_t viewid_regid =
ir3_find_sysval_regid(ds, SYSTEM_VALUE_VIEW_INDEX);
tu_cs_emit_pkt4(cs, REG_A6XX_VFD_CNTL_3, 2);
tu_cs_emit(cs, A6XX_VFD_CNTL_3_REGID_DSRELPATCHID(ds_rel_patch_regid) |
A6XX_VFD_CNTL_3_REGID_TESSX(tess_coord_x_regid) |
A6XX_VFD_CNTL_3_REGID_TESSY(tess_coord_y_regid) |
A6XX_VFD_CNTL_3_REGID_DSPRIMID(ds_primitiveid_regid));
tu_cs_emit(cs, 0x000000fc); /* VFD_CNTL_4 */
tu_cs_emit(cs, A6XX_VFD_CNTL_4_REGID_DSVIEWID(viewid_regid)); /* VFD_CNTL_4 */
}
TU_GENX(tu6_emit_ds);
@ -2474,10 +2476,12 @@ tu6_emit_gs(struct tu_cs *cs,
{
const uint32_t gsheader_regid =
ir3_find_sysval_regid(gs, SYSTEM_VALUE_GS_HEADER_IR3);
const uint32_t viewid_regid =
ir3_find_sysval_regid(gs, SYSTEM_VALUE_VIEW_INDEX);
tu_cs_emit_pkt4(cs, REG_A6XX_VFD_CNTL_5, 1);
tu_cs_emit(cs, A6XX_VFD_CNTL_5_REGID_GSHEADER(gsheader_regid) |
0xfc00);
A6XX_VFD_CNTL_5_REGID_GSVIEWID(viewid_regid));
if (gs) {
uint32_t vertices_out, invocations;