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:
committed by
Marge Bot
parent
4bc060ea11
commit
bcf901f5fb
@@ -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 =
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user