diff --git a/src/freedreno/common/freedreno_devices.py b/src/freedreno/common/freedreno_devices.py index a262033322e..37e5d5eca08 100644 --- a/src/freedreno/common/freedreno_devices.py +++ b/src/freedreno/common/freedreno_devices.py @@ -1013,9 +1013,6 @@ a730_raw_magic_regs = [ [A6XXRegs.REG_A7XX_SP_UNKNOWN_AB22, 0x00000000], [A6XXRegs.REG_A7XX_SP_UNKNOWN_B310, 0x00000000], - [A6XXRegs.REG_A7XX_GRAS_UNKNOWN_8120, 0x09510840], - [A6XXRegs.REG_A7XX_GRAS_UNKNOWN_8121, 0x00000a62], - [A6XXRegs.REG_A7XX_SP_UNKNOWN_0CE2, 0x00000000], [A6XXRegs.REG_A7XX_SP_UNKNOWN_0CE2+1, 0x00000000], [A6XXRegs.REG_A7XX_SP_UNKNOWN_0CE4, 0x00000000], @@ -1071,9 +1068,6 @@ a740_raw_magic_regs = [ [A6XXRegs.REG_A7XX_SP_UNKNOWN_AB22, 0x00000000], [A6XXRegs.REG_A7XX_SP_UNKNOWN_B310, 0x00000000], - [A6XXRegs.REG_A7XX_GRAS_UNKNOWN_8120, 0x09510840], - [A6XXRegs.REG_A7XX_GRAS_UNKNOWN_8121, 0x00000a62], - [A6XXRegs.REG_A7XX_SP_UNKNOWN_0CE2, 0x00000000], [A6XXRegs.REG_A7XX_SP_UNKNOWN_0CE2+1, 0x00000000], [A6XXRegs.REG_A7XX_SP_UNKNOWN_0CE4, 0x00000000], @@ -1175,9 +1169,6 @@ add_gpus([ [A6XXRegs.REG_A7XX_SP_UNKNOWN_AB22, 0x00000000], [A6XXRegs.REG_A7XX_SP_UNKNOWN_B310, 0x00000000], - [A6XXRegs.REG_A7XX_GRAS_UNKNOWN_8120, 0x09510840], - [A6XXRegs.REG_A7XX_GRAS_UNKNOWN_8121, 0x00000a62], - [A6XXRegs.REG_A7XX_SP_UNKNOWN_0CE2, 0x00000000], [A6XXRegs.REG_A7XX_SP_UNKNOWN_0CE2+1, 0x00000000], [A6XXRegs.REG_A7XX_SP_UNKNOWN_0CE4, 0x00000000], @@ -1250,9 +1241,6 @@ add_gpus([ [A6XXRegs.REG_A7XX_SP_UNKNOWN_AB22, 0x00000000], [A6XXRegs.REG_A7XX_SP_UNKNOWN_B310, 0x00000000], - [A6XXRegs.REG_A7XX_GRAS_UNKNOWN_8120, 0x09510840], - [A6XXRegs.REG_A7XX_GRAS_UNKNOWN_8121, 0x00000a62], - [A6XXRegs.REG_A7XX_SP_UNKNOWN_0CE2, 0x00000000], [A6XXRegs.REG_A7XX_SP_UNKNOWN_0CE2+1, 0x00000000], [A6XXRegs.REG_A7XX_SP_UNKNOWN_0CE4, 0x00000000], @@ -1349,8 +1337,6 @@ add_gpus([ [A6XXRegs.REG_A7XX_SP_UNKNOWN_AB01, 0x00000000], [A6XXRegs.REG_A7XX_SP_UNKNOWN_AB22, 0x00000000], [A6XXRegs.REG_A7XX_SP_UNKNOWN_B310, 0x00000000], - [A6XXRegs.REG_A7XX_GRAS_UNKNOWN_8120, 0x09510840], - [A6XXRegs.REG_A7XX_GRAS_UNKNOWN_8121, 0x00000a62], [A6XXRegs.REG_A7XX_SP_UNKNOWN_0CE2, 0x00000000], [A6XXRegs.REG_A7XX_SP_UNKNOWN_0CE2+1, 0x00000000], diff --git a/src/freedreno/registers/adreno/a6xx.xml b/src/freedreno/registers/adreno/a6xx.xml index 46cd19e35ed..196b46cda61 100644 --- a/src/freedreno/registers/adreno/a6xx.xml +++ b/src/freedreno/registers/adreno/a6xx.xml @@ -1278,9 +1278,8 @@ by a particular renderpass/blit. - - - + LUT used to convert quality buffer values to HW shading rate values. An array of 4-bit values. + diff --git a/src/freedreno/vulkan/tu_cmd_buffer.cc b/src/freedreno/vulkan/tu_cmd_buffer.cc index 26fecd0de86..2b882a08e8d 100644 --- a/src/freedreno/vulkan/tu_cmd_buffer.cc +++ b/src/freedreno/vulkan/tu_cmd_buffer.cc @@ -24,6 +24,7 @@ #include "common/freedreno_gpu_event.h" #include "common/freedreno_lrz.h" +#include "common/freedreno_vrs.h" enum tu_cmd_buffer_status { TU_CMD_BUFFER_STATUS_IDLE = 0, @@ -1712,6 +1713,13 @@ tu6_init_static_regs(struct tu_device *dev, struct tu_cs *cs) tu_cs_emit_write_reg(cs, magic_reg.reg, value); } + if (dev->physical_device->info->a6xx.has_attachment_shading_rate) { + tu_cs_emit_write_reg(cs, REG_A7XX_GRAS_LRZ_QUALITY_LOOKUP_TABLE(0), + fd_gras_shading_rate_lut(0)); + tu_cs_emit_write_reg(cs, REG_A7XX_GRAS_LRZ_QUALITY_LOOKUP_TABLE(1), + fd_gras_shading_rate_lut(1)); + } + tu_cs_emit_write_reg(cs, REG_A6XX_RB_DBG_ECO_CNTL, phys_dev->info->a6xx.magic.RB_DBG_ECO_CNTL); tu_cs_emit_write_reg(cs, REG_A6XX_SP_NC_MODE_CNTL_2, 0);