From: Marek Olšák Date: Sun, 11 Jun 2023 01:02:58 +0000 (-0400) Subject: amd: update shadowed register tables for gfx11 X-Git-Tag: upstream/23.3.3~6856 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6349d3f537cf4681575fac2afd65bb88ad7ac2a4;p=platform%2Fupstream%2Fmesa.git amd: update shadowed register tables for gfx11 The new table format is identical to the source to facilitate backporting. Reviewed-by: Pierre-Eric Pelloux-Prayer Part-of: --- diff --git a/src/amd/common/ac_shadowed_regs.c b/src/amd/common/ac_shadowed_regs.c index 5f64d01..51a23e4 100644 --- a/src/amd/common/ac_shadowed_regs.c +++ b/src/amd/common/ac_shadowed_regs.c @@ -603,102 +603,33 @@ static const struct ac_reg_range Gfx103UserConfigShadowRange[] = { static const struct ac_reg_range Gfx11ShShadowRange[] = { - { - R_00B018_SPI_SHADER_PGM_CHKSUM_PS, - 4, - }, - { - R_00B020_SPI_SHADER_PGM_LO_PS, - R_00B0AC_SPI_SHADER_USER_DATA_PS_31 - R_00B020_SPI_SHADER_PGM_LO_PS + 4, - }, - { - R_00B0C8_SPI_SHADER_USER_ACCUM_PS_0, - R_00B0D4_SPI_SHADER_USER_ACCUM_PS_3 - R_00B0C8_SPI_SHADER_USER_ACCUM_PS_0 + 4, - }, - { - R_00B320_SPI_SHADER_PGM_LO_ES, - R_00B324_SPI_SHADER_PGM_HI_ES - R_00B320_SPI_SHADER_PGM_LO_ES + 4, - }, - { - R_00B520_SPI_SHADER_PGM_LO_LS, - R_00B524_SPI_SHADER_PGM_HI_LS - R_00B520_SPI_SHADER_PGM_LO_LS + 4, - }, - { - R_00B200_SPI_SHADER_PGM_CHKSUM_GS, - 4, - }, - { - R_00B220_SPI_SHADER_PGM_LO_GS, - R_00B2B4_SPI_SHADER_GS_MESHLET_EXP_ALLOC - R_00B220_SPI_SHADER_PGM_LO_GS + 4, - }, - { - R_00B2C8_SPI_SHADER_USER_ACCUM_ESGS_0, - R_00B2D4_SPI_SHADER_USER_ACCUM_ESGS_3 - R_00B2C8_SPI_SHADER_USER_ACCUM_ESGS_0 + 4, - }, - { - R_00B400_SPI_SHADER_PGM_CHKSUM_HS, - 4, - }, - { - R_00B420_SPI_SHADER_PGM_LO_HS, - R_00B4AC_SPI_SHADER_USER_DATA_HS_31 - R_00B420_SPI_SHADER_PGM_LO_HS + 4, - }, - { - R_00B4C8_SPI_SHADER_USER_ACCUM_LSHS_0, - R_00B4D4_SPI_SHADER_USER_ACCUM_LSHS_3 - R_00B4C8_SPI_SHADER_USER_ACCUM_LSHS_0 + 4, - }, - { - R_00B0C0_SPI_SHADER_REQ_CTRL_PS, - 4, - }, + /* First register Count * 4 Last register */ + { R_00B004_SPI_SHADER_PGM_RSRC4_PS, 1 * 4}, // SPI_SHADER_PGM_RSRC4_PS + { R_00B018_SPI_SHADER_PGM_CHKSUM_PS, 38 * 4}, // SPI_SHADER_USER_DATA_PS_31 + { R_00B0C0_SPI_SHADER_REQ_CTRL_PS, 1 * 4}, // SPI_SHADER_REQ_CTRL_PS + { R_00B0C8_SPI_SHADER_USER_ACCUM_PS_0, 4 * 4}, // SPI_SHADER_USER_ACCUM_PS_3 + { R_00B200_SPI_SHADER_PGM_CHKSUM_GS, 2 * 4}, // SPI_SHADER_PGM_RSRC4_GS + { R_00B21C_SPI_SHADER_PGM_RSRC3_GS, 39 * 4}, // SPI_SHADER_GS_MESHLET_EXP_ALLOC + { R_00B2C8_SPI_SHADER_USER_ACCUM_ESGS_0, 4 * 4}, // SPI_SHADER_USER_ACCUM_ESGS_3 + { R_00B320_SPI_SHADER_PGM_LO_ES, 2 * 4}, // SPI_SHADER_PGM_HI_ES + { R_00B400_SPI_SHADER_PGM_CHKSUM_HS, 2 * 4}, // SPI_SHADER_PGM_RSRC4_HS + { R_00B41C_SPI_SHADER_PGM_RSRC3_HS, 37 * 4}, // SPI_SHADER_USER_DATA_HS_31 + { R_00B4C8_SPI_SHADER_USER_ACCUM_LSHS_0, 4 * 4}, // SPI_SHADER_USER_ACCUM_LSHS_3 + { R_00B520_SPI_SHADER_PGM_LO_LS, 2 * 4} // SPI_SHADER_PGM_HI_LS }; static const struct ac_reg_range Gfx11CsShShadowRange[] = { - { - R_00B810_COMPUTE_START_X, - R_00B824_COMPUTE_NUM_THREAD_Z - R_00B810_COMPUTE_START_X + 4, - }, - { - R_00B82C_COMPUTE_PERFCOUNT_ENABLE, - R_00B834_COMPUTE_PGM_HI - R_00B82C_COMPUTE_PERFCOUNT_ENABLE + 4, - }, - { - R_00B840_COMPUTE_DISPATCH_SCRATCH_BASE_LO, - R_00B84C_COMPUTE_PGM_RSRC2 - R_00B840_COMPUTE_DISPATCH_SCRATCH_BASE_LO + 4, - }, - { - R_00B854_COMPUTE_RESOURCE_LIMITS, - 4, - }, - { - R_00B860_COMPUTE_TMPRING_SIZE, - 4, - }, - { - R_00B878_COMPUTE_THREAD_TRACE_ENABLE, - 4, - }, - { - R_00B890_COMPUTE_USER_ACCUM_0, - R_00B8A0_COMPUTE_PGM_RSRC3 - R_00B890_COMPUTE_USER_ACCUM_0 + 4, - }, - { - R_00B8A8_COMPUTE_SHADER_CHKSUM, - 4, - }, - { - R_00B8BC_COMPUTE_DISPATCH_INTERLEAVE, - 4, - }, - { - R_00B900_COMPUTE_USER_DATA_0, - R_00B93C_COMPUTE_USER_DATA_15 - R_00B900_COMPUTE_USER_DATA_0 + 4, - }, - { - R_00B9F4_COMPUTE_DISPATCH_TUNNEL, - 4, - }, + /* First register Count * 4 Last register */ + { R_00B810_COMPUTE_START_X, 6 * 4}, // COMPUTE_NUM_THREAD_Z + { R_00B82C_COMPUTE_PERFCOUNT_ENABLE, 3 * 4}, // COMPUTE_PGM_HI + { R_00B840_COMPUTE_DISPATCH_SCRATCH_BASE_LO, 4 * 4}, // COMPUTE_PGM_RSRC2 + { R_00B854_COMPUTE_RESOURCE_LIMITS, 6 * 4}, // COMPUTE_STATIC_THREAD_MGMT_SE3 + { R_00B878_COMPUTE_THREAD_TRACE_ENABLE, 1 * 4}, // COMPUTE_THREAD_TRACE_ENABLE + { R_00B890_COMPUTE_USER_ACCUM_0, 5 * 4}, // COMPUTE_PGM_RSRC3 + { R_00B8A8_COMPUTE_SHADER_CHKSUM, 6 * 4}, // COMPUTE_DISPATCH_INTERLEAVE + { R_00B900_COMPUTE_USER_DATA_0, 16 * 4}, // COMPUTE_USER_DATA_15 + { R_00B9F4_COMPUTE_DISPATCH_TUNNEL, 1 * 4} // COMPUTE_DISPATCH_TUNNEL }; /* Defines the set of ranges of context registers we shadow when mid command buffer preemption @@ -706,210 +637,84 @@ static const struct ac_reg_range Gfx11CsShShadowRange[] = */ static const struct ac_reg_range Gfx11ContextShadowRange[] = { - { - R_028000_DB_RENDER_CONTROL, - R_028084_TA_BC_BASE_ADDR_HI - R_028000_DB_RENDER_CONTROL + 4, - }, - { - R_0281E8_COHER_DEST_BASE_HI_0, - R_02835C_PA_SC_TILE_STEERING_OVERRIDE - R_0281E8_COHER_DEST_BASE_HI_0 + 4, - }, - { - R_0283D0_PA_SC_VRS_OVERRIDE_CNTL, - R_0283E4_PA_SC_VRS_RATE_CACHE_CNTL - R_0283D0_PA_SC_VRS_OVERRIDE_CNTL + 4, - }, - { - R_0283F0_PA_SC_VRS_RATE_BASE, - R_0283F8_PA_SC_VRS_RATE_SIZE_XY - R_0283F0_PA_SC_VRS_RATE_BASE + 4, - }, - { - R_02840C_VGT_MULTI_PRIM_IB_RESET_INDX, - R_028618_PA_CL_UCP_5_W - R_02840C_VGT_MULTI_PRIM_IB_RESET_INDX + 4, - }, - { - R_028644_SPI_PS_INPUT_CNTL_0, - R_0286F0_SPI_GFX_SCRATCH_BASE_HI - R_028644_SPI_PS_INPUT_CNTL_0 + 4, - }, - { - R_028708_SPI_SHADER_IDX_FORMAT, - R_028714_SPI_SHADER_COL_FORMAT - R_028708_SPI_SHADER_IDX_FORMAT + 4, - }, - { - R_028750_SX_PS_DOWNCONVERT_CONTROL, - R_02879C_CB_BLEND7_CONTROL - R_028750_SX_PS_DOWNCONVERT_CONTROL + 4, - }, - { - R_0287D4_PA_CL_POINT_X_RAD, - R_0287E0_PA_CL_POINT_CULL_RAD - R_0287D4_PA_CL_POINT_X_RAD + 4, - }, - { - R_0287FC_GE_MAX_OUTPUT_PER_SUBGROUP, - R_028848_PA_CL_VRS_CNTL - R_0287FC_GE_MAX_OUTPUT_PER_SUBGROUP + 4, - }, - { - R_028A00_PA_SU_POINT_SIZE, - R_028A0C_PA_SC_LINE_STIPPLE - R_028A00_PA_SU_POINT_SIZE + 4, - }, - { - R_028A18_VGT_HOS_MAX_TESS_LEVEL, - R_028A1C_VGT_HOS_MIN_TESS_LEVEL - R_028A18_VGT_HOS_MAX_TESS_LEVEL + 4, - }, - { - R_028A48_PA_SC_MODE_CNTL_0, - R_028A50_VGT_ENHANCE - R_028A48_PA_SC_MODE_CNTL_0 + 4, - }, - { - R_028A84_VGT_PRIMITIVEID_EN, - 4, - }, - { - R_028A8C_VGT_PRIMITIVEID_RESET, - 4, - }, - { - R_028A98_VGT_DRAW_PAYLOAD_CNTL, - 4, - }, - { - R_028AAC_VGT_ESGS_RING_ITEMSIZE, - R_028AC4_DB_SRESULTS_COMPARE_STATE1 - R_028AAC_VGT_ESGS_RING_ITEMSIZE + 4, - }, - { - R_028B28_VGT_STRMOUT_DRAW_OPAQUE_OFFSET, - R_028B38_VGT_GS_MAX_VERT_OUT - R_028B28_VGT_STRMOUT_DRAW_OPAQUE_OFFSET + 4, - }, - { - R_028B4C_GE_NGG_SUBGRP_CNTL, - R_028B58_VGT_LS_HS_CONFIG - R_028B4C_GE_NGG_SUBGRP_CNTL + 4, - }, - { - R_028B6C_VGT_TF_PARAM, - R_028B90_VGT_GS_INSTANCE_CNT - R_028B6C_VGT_TF_PARAM + 4, - }, - { - R_028BD4_PA_SC_CENTROID_PRIORITY_0, - R_028C54_PA_SC_BINNER_CNTL_2 - R_028BD4_PA_SC_CENTROID_PRIORITY_0 + 4, - }, - { - R_028C60_CB_COLOR0_BASE, - 4, - }, - { - R_028C6C_CB_COLOR0_VIEW, - R_028C78_CB_COLOR0_FDCC_CONTROL - R_028C6C_CB_COLOR0_VIEW + 4, - }, - { - R_028C94_CB_COLOR0_DCC_BASE, - R_028C9C_CB_COLOR1_BASE - R_028C94_CB_COLOR0_DCC_BASE + 4, - }, - { - R_028CA8_CB_COLOR1_VIEW, - R_028CB4_CB_COLOR1_FDCC_CONTROL - R_028CA8_CB_COLOR1_VIEW + 4, - }, - { - R_028CD0_CB_COLOR1_DCC_BASE, - R_028CD8_CB_COLOR2_BASE - R_028CD0_CB_COLOR1_DCC_BASE + 4, - }, - { - R_028CE4_CB_COLOR2_VIEW, - R_028CF0_CB_COLOR2_FDCC_CONTROL - R_028CE4_CB_COLOR2_VIEW + 4, - }, - { - R_028D0C_CB_COLOR2_DCC_BASE, - R_028D14_CB_COLOR3_BASE - R_028D0C_CB_COLOR2_DCC_BASE + 4, - }, - { - R_028D20_CB_COLOR3_VIEW, - R_028D2C_CB_COLOR3_FDCC_CONTROL - R_028D20_CB_COLOR3_VIEW + 4, - }, - { - R_028D48_CB_COLOR3_DCC_BASE, - R_028D50_CB_COLOR4_BASE - R_028D48_CB_COLOR3_DCC_BASE + 4, - }, - { - R_028D5C_CB_COLOR4_VIEW, - R_028D68_CB_COLOR4_FDCC_CONTROL - R_028D5C_CB_COLOR4_VIEW + 4, - }, - { - R_028D84_CB_COLOR4_DCC_BASE, - R_028D8C_CB_COLOR5_BASE - R_028D84_CB_COLOR4_DCC_BASE + 4, - }, - { - R_028D98_CB_COLOR5_VIEW, - R_028DA4_CB_COLOR5_FDCC_CONTROL - R_028D98_CB_COLOR5_VIEW + 4, - }, - { - R_028DC0_CB_COLOR5_DCC_BASE, - R_028DC8_CB_COLOR6_BASE - R_028DC0_CB_COLOR5_DCC_BASE + 4, - }, - { - R_028DD4_CB_COLOR6_VIEW, - R_028DE0_CB_COLOR6_FDCC_CONTROL - R_028DD4_CB_COLOR6_VIEW + 4, - }, - { - R_028DFC_CB_COLOR6_DCC_BASE, - R_028E04_CB_COLOR7_BASE - R_028DFC_CB_COLOR6_DCC_BASE + 4, - }, - { - R_028E10_CB_COLOR7_VIEW, - R_028E1C_CB_COLOR7_FDCC_CONTROL - R_028E10_CB_COLOR7_VIEW + 4, - }, - { - R_028E38_CB_COLOR7_DCC_BASE, - R_028E5C_CB_COLOR7_BASE_EXT - R_028E38_CB_COLOR7_DCC_BASE + 4, - }, - { - R_028EA0_CB_COLOR0_DCC_BASE_EXT, - R_028EFC_CB_COLOR7_ATTRIB3 - R_028EA0_CB_COLOR0_DCC_BASE_EXT + 4, - }, + /* First register Count * 4 Last register */ + { R_028000_DB_RENDER_CONTROL, 6 * 4}, // DB_HTILE_DATA_BASE + { R_02801C_DB_DEPTH_SIZE_XY, 7 * 4}, // PA_SC_SCREEN_SCISSOR_BR + { R_02803C_DB_RESERVED_REG_2, 10 * 4}, // DB_SPI_VRS_CENTER_LOCATION + { R_028068_DB_Z_READ_BASE_HI, 8 * 4}, // TA_BC_BASE_ADDR_HI + { R_0281E8_COHER_DEST_BASE_HI_0, 94 * 4}, // PA_SC_TILE_STEERING_OVERRIDE + { R_0283D0_PA_SC_VRS_OVERRIDE_CNTL, 4 * 4}, // PA_SC_VRS_RATE_FEEDBACK_SIZE_XY + { R_0283E4_PA_SC_VRS_RATE_CACHE_CNTL, 1 * 4}, // PA_SC_VRS_RATE_CACHE_CNTL + { R_0283F0_PA_SC_VRS_RATE_BASE, 3 * 4}, // PA_SC_VRS_RATE_SIZE_XY + { R_02840C_VGT_MULTI_PRIM_IB_RESET_INDX, 11 * 4}, // DB_STENCILREFMASK_BF + { R_02843C_PA_CL_VPORT_XSCALE, 120 * 4}, // PA_CL_UCP_5_W + { R_02861C_PA_CL_PROG_NEAR_CLIP_Z, 2 * 4}, // PA_RATE_CNTL - not shadowed by RS64 !!! + { R_028644_SPI_PS_INPUT_CNTL_0, 33 * 4}, // SPI_VS_OUT_CONFIG + { R_0286CC_SPI_PS_INPUT_ENA, 6 * 4}, // SPI_BARYC_CNTL + { R_0286E8_SPI_TMPRING_SIZE, 3 * 4}, // SPI_GFX_SCRATCH_BASE_HI + { R_028708_SPI_SHADER_IDX_FORMAT, 4 * 4}, // SPI_SHADER_COL_FORMAT + { R_028750_SX_PS_DOWNCONVERT_CONTROL, 20 * 4}, // CB_BLEND7_CONTROL + { R_0287D4_PA_CL_POINT_X_RAD, 4 * 4}, // PA_CL_POINT_CULL_RAD + { R_0287FC_GE_MAX_OUTPUT_PER_SUBGROUP, 14 * 4}, // PA_SU_SMALL_PRIM_FILTER_CNTL + { R_028838_PA_CL_NGG_CNTL, 5 * 4}, // PA_CL_VRS_CNTL + { R_028A00_PA_SU_POINT_SIZE, 4 * 4}, // PA_SC_LINE_STIPPLE + { R_028A18_VGT_HOS_MAX_TESS_LEVEL, 2 * 4}, // VGT_HOS_MIN_TESS_LEVEL + { R_028A48_PA_SC_MODE_CNTL_0, 3 * 4}, // VGT_ENHANCE + { R_028A84_VGT_PRIMITIVEID_EN, 1 * 4}, // VGT_PRIMITIVEID_EN + { R_028A8C_VGT_PRIMITIVEID_RESET, 1 * 4}, // VGT_PRIMITIVEID_RESET + { R_028A98_VGT_DRAW_PAYLOAD_CNTL, 1 * 4}, // VGT_DRAW_PAYLOAD_CNTL + { R_028AAC_VGT_ESGS_RING_ITEMSIZE, 1 * 4}, // VGT_ESGS_RING_ITEMSIZE + { R_028AB4_VGT_REUSE_OFF, 1 * 4}, // VGT_REUSE_OFF + { R_028ABC_DB_HTILE_SURFACE, 4 * 4}, // DB_PRELOAD_CONTROL + { R_028B28_VGT_STRMOUT_DRAW_OPAQUE_OFFSET, 3 * 4}, // VGT_STRMOUT_DRAW_OPAQUE_VERTEX_STRIDE + { R_028B38_VGT_GS_MAX_VERT_OUT, 1 * 4}, // VGT_GS_MAX_VERT_OUT + { R_028B4C_GE_NGG_SUBGRP_CNTL, 4 * 4}, // VGT_LS_HS_CONFIG + { R_028B6C_VGT_TF_PARAM, 2 * 4}, // DB_ALPHA_TO_MASK + { R_028B78_PA_SU_POLY_OFFSET_DB_FMT_CNTL, 7 * 4}, // VGT_GS_INSTANCE_CNT + { R_028BD4_PA_SC_CENTROID_PRIORITY_0, 33 * 4}, // PA_SC_BINNER_CNTL_2 + { R_028C60_CB_COLOR0_BASE, 1 * 4}, // CB_COLOR0_BASE + { R_028C6C_CB_COLOR0_VIEW, 4 * 4}, // CB_COLOR0_FDCC_CONTROL + { R_028C94_CB_COLOR0_DCC_BASE, 1 * 4}, // CB_COLOR0_DCC_BASE + { R_028C9C_CB_COLOR1_BASE, 1 * 4}, // CB_COLOR1_BASE + { R_028CA8_CB_COLOR1_VIEW, 4 * 4}, // CB_COLOR1_FDCC_CONTROL + { R_028CD0_CB_COLOR1_DCC_BASE, 1 * 4}, // CB_COLOR1_DCC_BASE + { R_028CD8_CB_COLOR2_BASE, 1 * 4}, // CB_COLOR2_BASE + { R_028CE4_CB_COLOR2_VIEW, 4 * 4}, // CB_COLOR2_FDCC_CONTROL + { R_028D0C_CB_COLOR2_DCC_BASE, 1 * 4}, // CB_COLOR2_DCC_BASE + { R_028D14_CB_COLOR3_BASE, 1 * 4}, // CB_COLOR3_BASE + { R_028D20_CB_COLOR3_VIEW, 4 * 4}, // CB_COLOR3_FDCC_CONTROL + { R_028D48_CB_COLOR3_DCC_BASE, 1 * 4}, // CB_COLOR3_DCC_BASE + { R_028D50_CB_COLOR4_BASE, 1 * 4}, // CB_COLOR4_BASE + { R_028D5C_CB_COLOR4_VIEW, 4 * 4}, // CB_COLOR4_FDCC_CONTROL + { R_028D84_CB_COLOR4_DCC_BASE, 1 * 4}, // CB_COLOR4_DCC_BASE + { R_028D8C_CB_COLOR5_BASE, 1 * 4}, // CB_COLOR5_BASE + { R_028D98_CB_COLOR5_VIEW, 4 * 4}, // CB_COLOR5_FDCC_CONTROL + { R_028DC0_CB_COLOR5_DCC_BASE, 1 * 4}, // CB_COLOR5_DCC_BASE + { R_028DC8_CB_COLOR6_BASE, 1 * 4}, // CB_COLOR6_BASE + { R_028DD4_CB_COLOR6_VIEW, 4 * 4}, // CB_COLOR6_FDCC_CONTROL + { R_028DFC_CB_COLOR6_DCC_BASE, 1 * 4}, // CB_COLOR6_DCC_BASE + { R_028E04_CB_COLOR7_BASE, 1 * 4}, // CB_COLOR7_BASE + { R_028E10_CB_COLOR7_VIEW, 4 * 4}, // CB_COLOR7_FDCC_CONTROL + { R_028E38_CB_COLOR7_DCC_BASE, 1 * 4}, // CB_COLOR7_DCC_BASE + { R_028E40_CB_COLOR0_BASE_EXT, 8 * 4}, // CB_COLOR7_BASE_EXT + { R_028EA0_CB_COLOR0_DCC_BASE_EXT, 24 * 4} // CB_COLOR7_ATTRIB3 }; static const struct ac_reg_range Gfx11UserConfigShadowRange[] = { - { - R_030908_VGT_PRIMITIVE_TYPE, - 4, - }, - { - R_030998_VGT_GS_OUT_PRIM_TYPE, - 4, - }, - { - R_030964_GE_MAX_VTX_INDX, - 4, - }, - { - R_030924_GE_MIN_VTX_INDX, - R_03092C_GE_MULTI_PRIM_IB_RESET_EN - R_030924_GE_MIN_VTX_INDX + 4, - }, - { - R_030934_VGT_NUM_INSTANCES, - R_030940_VGT_TF_MEMORY_BASE - R_030934_VGT_NUM_INSTANCES + 4, - }, - { - R_03097C_GE_STEREO_CNTL, - R_030984_VGT_TF_MEMORY_BASE_HI - R_03097C_GE_STEREO_CNTL + 4, - }, - { - R_03096C_GE_CNTL, - 4, - }, - { - R_030968_VGT_INSTANCE_BASE_ID, - 4, - }, - { - R_030E00_TA_CS_BC_BASE_ADDR, - R_030E04_TA_CS_BC_BASE_ADDR_HI - R_030E00_TA_CS_BC_BASE_ADDR + 4, - }, - { - R_030988_GE_USER_VGPR_EN, - R_03098C_GE_VRS_RATE - R_030988_GE_USER_VGPR_EN + 4, - }, - { - R_031110_SPI_GS_THROTTLE_CNTL1, - R_03111C_SPI_ATTRIBUTE_RING_SIZE - R_031110_SPI_GS_THROTTLE_CNTL1 + 4, - }, + /* First register Count * 4 Last register */ + { R_030908_VGT_PRIMITIVE_TYPE, 1 * 4}, // VGT_PRIMITIVE_TYPE + { R_030924_GE_MIN_VTX_INDX, 3 * 4}, // GE_MULTI_PRIM_IB_RESET_EN + { R_030934_VGT_NUM_INSTANCES, 4 * 4}, // VGT_TF_MEMORY_BASE + { R_030964_GE_MAX_VTX_INDX, 3 * 4}, // GE_CNTL + { R_03097C_GE_STEREO_CNTL, 5 * 4}, // GE_VRS_RATE + { R_030998_VGT_GS_OUT_PRIM_TYPE, 1 * 4}, // VGT_GS_OUT_PRIM_TYPE + { R_030A00_PA_SU_LINE_STIPPLE_VALUE, 2 * 4}, // PA_SC_LINE_STIPPLE_STATE - not shadowed by RS64 + { R_030E00_TA_CS_BC_BASE_ADDR, 2 * 4}, // TA_CS_BC_BASE_ADDR_HI + { R_031110_SPI_GS_THROTTLE_CNTL1, 4 * 4}, // SPI_ATTRIBUTE_RING_SIZE + /* GDS_STRMOUT_* registers are not listed because they are modified outside of the command buffer, + * so they have to be shadowed differently by firmware. + . */ }; void ac_get_reg_ranges(enum amd_gfx_level gfx_level, enum radeon_family family,