tu,freedreno: Use HW option to auto add base instance to instance id

We don't need the lowering of instance id to "base instance + offset"
since hw has VFD_ADD_OFFSET_INSTANCE flag.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34902>
This commit is contained in:
Danylo Piliaiev
2025-05-09 17:59:04 +02:00
committed by Marge Bot
parent 4bc060ea11
commit bcf901f5fb
3 changed files with 3 additions and 3 deletions
+1
View File
@@ -328,6 +328,7 @@ ir3_compiler_create(struct fd_device *dev, const struct fd_dev_id *dev_id,
if (compiler->gen >= 6) {
compiler->nir_options.force_indirect_unrolling = nir_var_all,
compiler->nir_options.lower_device_index_to_zero = true;
compiler->nir_options.instance_id_includes_base_index = true;
if (dev_info->a6xx.has_dp2acc || dev_info->a6xx.has_dp4acc) {
compiler->nir_options.has_udot_4x8 =
+1 -2
View File
@@ -1558,8 +1558,7 @@ tu6_init_static_regs(struct tu_device *dev, struct tu_cs *cs)
.isammode = ISAMMODE_GL,
.shared_consts_enable = false));
/* TODO: set A6XX_VFD_ADD_OFFSET_INSTANCE and fix ir3 to avoid adding base instance */
tu_cs_emit_write_reg(cs, REG_A6XX_VFD_ADD_OFFSET, A6XX_VFD_ADD_OFFSET_VERTEX);
tu_cs_emit_regs(cs, A6XX_VFD_ADD_OFFSET(.vertex = true, .instance = true));
tu_cs_emit_write_reg(cs, REG_A6XX_RB_UNKNOWN_8811, 0x00000010);
tu_cs_emit_write_reg(cs, REG_A6XX_PC_MODE_CNTL,
phys_dev->info->a6xx.magic.PC_MODE_CNTL);
@@ -928,7 +928,7 @@ fd6_emit_static_regs(struct fd_context *ctx, struct fd_ringbuffer *ring)
.shared_consts_enable = false,
)
);
WRITE(REG_A6XX_VFD_ADD_OFFSET, A6XX_VFD_ADD_OFFSET_VERTEX);
OUT_REG(ring, A6XX_VFD_ADD_OFFSET(.vertex = true, .instance = true));
WRITE(REG_A6XX_VPC_UNKNOWN_9107, 0);
WRITE(REG_A6XX_RB_UNKNOWN_8811, 0x00000010);
WRITE(REG_A6XX_PC_MODE_CNTL, screen->info->a6xx.magic.PC_MODE_CNTL);