diff --git a/src/amd/common/ac_shadowed_regs.c b/src/amd/common/ac_shadowed_regs.c index 11948d7f453..76640bac537 100644 --- a/src/amd/common/ac_shadowed_regs.c +++ b/src/amd/common/ac_shadowed_regs.c @@ -2851,656 +2851,6 @@ static void gfx103_emulate_clear_state(struct ac_pm4_state *pm4, unsigned num_re set_context_reg_seq_array(pm4, reg_offsets[i], 1, ®_values[i]); } -/** - * Emulate CLEAR_STATE. Additionally, initialize num_reg_pairs registers specified - * via reg_offsets and reg_values. - */ -static void gfx11_emulate_clear_state(struct ac_pm4_state *pm4,unsigned num_reg_pairs, - unsigned *reg_offsets, uint32_t *reg_values) -{ - static const uint32_t DbRenderControlGfx11[] = { - 0x0, // DB_RENDER_CONTROL - 0x0, // DB_COUNT_CONTROL - 0x0, // DB_DEPTH_VIEW - 0x0, // DB_RENDER_OVERRIDE - 0x0, // DB_RENDER_OVERRIDE2 - 0x0, // DB_HTILE_DATA_BASE - 0x0, // - 0x0, // DB_DEPTH_SIZE_XY - 0x0, // DB_DEPTH_BOUNDS_MIN - 0x0, // DB_DEPTH_BOUNDS_MAX - 0x0, // DB_STENCIL_CLEAR - 0x0, // DB_DEPTH_CLEAR - 0x0, // PA_SC_SCREEN_SCISSOR_TL - 0x40004000, // PA_SC_SCREEN_SCISSOR_BR - 0x0, // - 0x0, // DB_RESERVED_REG_2 - 0x0, // DB_Z_INFO - 0x0, // DB_STENCIL_INFO - 0x0, // DB_Z_READ_BASE - 0x0, // DB_STENCIL_READ_BASE - 0x0, // DB_Z_WRITE_BASE - 0x0, // DB_STENCIL_WRITE_BASE - 0x0, // DB_RESERVED_REG_1 - 0x0, // DB_RESERVED_REG_3 - 0x0, // DB_SPI_VRS_CENTER_LOCATION - 0x0, // - 0x0, // DB_Z_READ_BASE_HI - 0x0, // DB_STENCIL_READ_BASE_HI - 0x0, // DB_Z_WRITE_BASE_HI - 0x0, // DB_STENCIL_WRITE_BASE_HI - 0x0, // DB_HTILE_DATA_BASE_HI - 0x0, // DB_RMI_L2_CACHE_CONTROL - 0x0, // TA_BC_BASE_ADDR - 0x0, // TA_BC_BASE_ADDR_HI - }; - static const uint32_t CoherDestBaseHi0Gfx11[] = { - 0x0, // COHER_DEST_BASE_HI_0 - 0x0, // COHER_DEST_BASE_HI_1 - 0x0, // COHER_DEST_BASE_HI_2 - 0x0, // COHER_DEST_BASE_HI_3 - 0x0, // COHER_DEST_BASE_2 - 0x0, // COHER_DEST_BASE_3 - 0x0, // PA_SC_WINDOW_OFFSET - 0x80000000, // PA_SC_WINDOW_SCISSOR_TL - 0x40004000, // PA_SC_WINDOW_SCISSOR_BR - 0xffff, // PA_SC_CLIPRECT_RULE - 0x0, // PA_SC_CLIPRECT_0_TL - 0x40004000, // PA_SC_CLIPRECT_0_BR - 0x0, // PA_SC_CLIPRECT_1_TL - 0x40004000, // PA_SC_CLIPRECT_1_BR - 0x0, // PA_SC_CLIPRECT_2_TL - 0x40004000, // PA_SC_CLIPRECT_2_BR - 0x0, // PA_SC_CLIPRECT_3_TL - 0x40004000, // PA_SC_CLIPRECT_3_BR - 0xaa99aaaa, // PA_SC_EDGERULE - 0x0, // PA_SU_HARDWARE_SCREEN_OFFSET - 0xffffffff, // CB_TARGET_MASK - 0xffffffff, // CB_SHADER_MASK - 0x80000000, // PA_SC_GENERIC_SCISSOR_TL - 0x40004000, // PA_SC_GENERIC_SCISSOR_BR - 0x0, // COHER_DEST_BASE_0 - 0x0, // COHER_DEST_BASE_1 - 0x80000000, // PA_SC_VPORT_SCISSOR_0_TL - 0x40004000, // PA_SC_VPORT_SCISSOR_0_BR - 0x80000000, // PA_SC_VPORT_SCISSOR_1_TL - 0x40004000, // PA_SC_VPORT_SCISSOR_1_BR - 0x80000000, // PA_SC_VPORT_SCISSOR_2_TL - 0x40004000, // PA_SC_VPORT_SCISSOR_2_BR - 0x80000000, // PA_SC_VPORT_SCISSOR_3_TL - 0x40004000, // PA_SC_VPORT_SCISSOR_3_BR - 0x80000000, // PA_SC_VPORT_SCISSOR_4_TL - 0x40004000, // PA_SC_VPORT_SCISSOR_4_BR - 0x80000000, // PA_SC_VPORT_SCISSOR_5_TL - 0x40004000, // PA_SC_VPORT_SCISSOR_5_BR - 0x80000000, // PA_SC_VPORT_SCISSOR_6_TL - 0x40004000, // PA_SC_VPORT_SCISSOR_6_BR - 0x80000000, // PA_SC_VPORT_SCISSOR_7_TL - 0x40004000, // PA_SC_VPORT_SCISSOR_7_BR - 0x80000000, // PA_SC_VPORT_SCISSOR_8_TL - 0x40004000, // PA_SC_VPORT_SCISSOR_8_BR - 0x80000000, // PA_SC_VPORT_SCISSOR_9_TL - 0x40004000, // PA_SC_VPORT_SCISSOR_9_BR - 0x80000000, // PA_SC_VPORT_SCISSOR_10_TL - 0x40004000, // PA_SC_VPORT_SCISSOR_10_BR - 0x80000000, // PA_SC_VPORT_SCISSOR_11_TL - 0x40004000, // PA_SC_VPORT_SCISSOR_11_BR - 0x80000000, // PA_SC_VPORT_SCISSOR_12_TL - 0x40004000, // PA_SC_VPORT_SCISSOR_12_BR - 0x80000000, // PA_SC_VPORT_SCISSOR_13_TL - 0x40004000, // PA_SC_VPORT_SCISSOR_13_BR - 0x80000000, // PA_SC_VPORT_SCISSOR_14_TL - 0x40004000, // PA_SC_VPORT_SCISSOR_14_BR - 0x80000000, // PA_SC_VPORT_SCISSOR_15_TL - 0x40004000, // PA_SC_VPORT_SCISSOR_15_BR - 0x0, // PA_SC_VPORT_ZMIN_0 - 0x3f800000, // PA_SC_VPORT_ZMAX_0 - 0x0, // PA_SC_VPORT_ZMIN_1 - 0x3f800000, // PA_SC_VPORT_ZMAX_1 - 0x0, // PA_SC_VPORT_ZMIN_2 - 0x3f800000, // PA_SC_VPORT_ZMAX_2 - 0x0, // PA_SC_VPORT_ZMIN_3 - 0x3f800000, // PA_SC_VPORT_ZMAX_3 - 0x0, // PA_SC_VPORT_ZMIN_4 - 0x3f800000, // PA_SC_VPORT_ZMAX_4 - 0x0, // PA_SC_VPORT_ZMIN_5 - 0x3f800000, // PA_SC_VPORT_ZMAX_5 - 0x0, // PA_SC_VPORT_ZMIN_6 - 0x3f800000, // PA_SC_VPORT_ZMAX_6 - 0x0, // PA_SC_VPORT_ZMIN_7 - 0x3f800000, // PA_SC_VPORT_ZMAX_7 - 0x0, // PA_SC_VPORT_ZMIN_8 - 0x3f800000, // PA_SC_VPORT_ZMAX_8 - 0x0, // PA_SC_VPORT_ZMIN_9 - 0x3f800000, // PA_SC_VPORT_ZMAX_9 - 0x0, // PA_SC_VPORT_ZMIN_10 - 0x3f800000, // PA_SC_VPORT_ZMAX_10 - 0x0, // PA_SC_VPORT_ZMIN_11 - 0x3f800000, // PA_SC_VPORT_ZMAX_11 - 0x0, // PA_SC_VPORT_ZMIN_12 - 0x3f800000, // PA_SC_VPORT_ZMAX_12 - 0x0, // PA_SC_VPORT_ZMIN_13 - 0x3f800000, // PA_SC_VPORT_ZMAX_13 - 0x0, // PA_SC_VPORT_ZMIN_14 - 0x3f800000, // PA_SC_VPORT_ZMAX_14 - 0x0, // PA_SC_VPORT_ZMIN_15 - 0x3f800000, // PA_SC_VPORT_ZMAX_15 - 0x0, // PA_SC_RASTER_CONFIG - 0x0, // PA_SC_RASTER_CONFIG_1 - 0x0, // - 0x0, // PA_SC_TILE_STEERING_OVERRIDE - }; - static const uint32_t PaScVrsOverrideCntlGfx11[] = { - 0x0, // PA_SC_VRS_OVERRIDE_CNTL - 0x0, // PA_SC_VRS_RATE_FEEDBACK_BASE - 0x0, // PA_SC_VRS_RATE_FEEDBACK_BASE_EXT - 0x0, // PA_SC_VRS_RATE_FEEDBACK_SIZE_XY - 0x0, // - 0x0, // PA_SC_VRS_RATE_CACHE_CNTL - }; - static const uint32_t PaScVrsRateBaseGfx11[] = { - 0x0, // PA_SC_VRS_RATE_BASE - 0x0, // PA_SC_VRS_RATE_BASE_EXT - 0x0, // PA_SC_VRS_RATE_SIZE_XY - }; - static const uint32_t VgtMultiPrimIbResetIndxGfx11[] = { - 0x0, // VGT_MULTI_PRIM_IB_RESET_INDX - 0x0, // CB_RMI_GL2_CACHE_CONTROL - 0x0, // CB_BLEND_RED - 0x0, // CB_BLEND_GREEN - 0x0, // CB_BLEND_BLUE - 0x0, // CB_BLEND_ALPHA - 0x0, // CB_FDCC_CONTROL - 0x0, // CB_COVERAGE_OUT_CONTROL - 0x0, // DB_STENCIL_CONTROL - 0x1000000, // DB_STENCILREFMASK - 0x1000000, // DB_STENCILREFMASK_BF - 0x0, // - 0x0, // PA_CL_VPORT_XSCALE - 0x0, // PA_CL_VPORT_XOFFSET - 0x0, // PA_CL_VPORT_YSCALE - 0x0, // PA_CL_VPORT_YOFFSET - 0x0, // PA_CL_VPORT_ZSCALE - 0x0, // PA_CL_VPORT_ZOFFSET - 0x0, // PA_CL_VPORT_XSCALE_1 - 0x0, // PA_CL_VPORT_XOFFSET_1 - 0x0, // PA_CL_VPORT_YSCALE_1 - 0x0, // PA_CL_VPORT_YOFFSET_1 - 0x0, // PA_CL_VPORT_ZSCALE_1 - 0x0, // PA_CL_VPORT_ZOFFSET_1 - 0x0, // PA_CL_VPORT_XSCALE_2 - 0x0, // PA_CL_VPORT_XOFFSET_2 - 0x0, // PA_CL_VPORT_YSCALE_2 - 0x0, // PA_CL_VPORT_YOFFSET_2 - 0x0, // PA_CL_VPORT_ZSCALE_2 - 0x0, // PA_CL_VPORT_ZOFFSET_2 - 0x0, // PA_CL_VPORT_XSCALE_3 - 0x0, // PA_CL_VPORT_XOFFSET_3 - 0x0, // PA_CL_VPORT_YSCALE_3 - 0x0, // PA_CL_VPORT_YOFFSET_3 - 0x0, // PA_CL_VPORT_ZSCALE_3 - 0x0, // PA_CL_VPORT_ZOFFSET_3 - 0x0, // PA_CL_VPORT_XSCALE_4 - 0x0, // PA_CL_VPORT_XOFFSET_4 - 0x0, // PA_CL_VPORT_YSCALE_4 - 0x0, // PA_CL_VPORT_YOFFSET_4 - 0x0, // PA_CL_VPORT_ZSCALE_4 - 0x0, // PA_CL_VPORT_ZOFFSET_4 - 0x0, // PA_CL_VPORT_XSCALE_5 - 0x0, // PA_CL_VPORT_XOFFSET_5 - 0x0, // PA_CL_VPORT_YSCALE_5 - 0x0, // PA_CL_VPORT_YOFFSET_5 - 0x0, // PA_CL_VPORT_ZSCALE_5 - 0x0, // PA_CL_VPORT_ZOFFSET_5 - 0x0, // PA_CL_VPORT_XSCALE_6 - 0x0, // PA_CL_VPORT_XOFFSET_6 - 0x0, // PA_CL_VPORT_YSCALE_6 - 0x0, // PA_CL_VPORT_YOFFSET_6 - 0x0, // PA_CL_VPORT_ZSCALE_6 - 0x0, // PA_CL_VPORT_ZOFFSET_6 - 0x0, // PA_CL_VPORT_XSCALE_7 - 0x0, // PA_CL_VPORT_XOFFSET_7 - 0x0, // PA_CL_VPORT_YSCALE_7 - 0x0, // PA_CL_VPORT_YOFFSET_7 - 0x0, // PA_CL_VPORT_ZSCALE_7 - 0x0, // PA_CL_VPORT_ZOFFSET_7 - 0x0, // PA_CL_VPORT_XSCALE_8 - 0x0, // PA_CL_VPORT_XOFFSET_8 - 0x0, // PA_CL_VPORT_YSCALE_8 - 0x0, // PA_CL_VPORT_YOFFSET_8 - 0x0, // PA_CL_VPORT_ZSCALE_8 - 0x0, // PA_CL_VPORT_ZOFFSET_8 - 0x0, // PA_CL_VPORT_XSCALE_9 - 0x0, // PA_CL_VPORT_XOFFSET_9 - 0x0, // PA_CL_VPORT_YSCALE_9 - 0x0, // PA_CL_VPORT_YOFFSET_9 - 0x0, // PA_CL_VPORT_ZSCALE_9 - 0x0, // PA_CL_VPORT_ZOFFSET_9 - 0x0, // PA_CL_VPORT_XSCALE_10 - 0x0, // PA_CL_VPORT_XOFFSET_10 - 0x0, // PA_CL_VPORT_YSCALE_10 - 0x0, // PA_CL_VPORT_YOFFSET_10 - 0x0, // PA_CL_VPORT_ZSCALE_10 - 0x0, // PA_CL_VPORT_ZOFFSET_10 - 0x0, // PA_CL_VPORT_XSCALE_11 - 0x0, // PA_CL_VPORT_XOFFSET_11 - 0x0, // PA_CL_VPORT_YSCALE_11 - 0x0, // PA_CL_VPORT_YOFFSET_11 - 0x0, // PA_CL_VPORT_ZSCALE_11 - 0x0, // PA_CL_VPORT_ZOFFSET_11 - 0x0, // PA_CL_VPORT_XSCALE_12 - 0x0, // PA_CL_VPORT_XOFFSET_12 - 0x0, // PA_CL_VPORT_YSCALE_12 - 0x0, // PA_CL_VPORT_YOFFSET_12 - 0x0, // PA_CL_VPORT_ZSCALE_12 - 0x0, // PA_CL_VPORT_ZOFFSET_12 - 0x0, // PA_CL_VPORT_XSCALE_13 - 0x0, // PA_CL_VPORT_XOFFSET_13 - 0x0, // PA_CL_VPORT_YSCALE_13 - 0x0, // PA_CL_VPORT_YOFFSET_13 - 0x0, // PA_CL_VPORT_ZSCALE_13 - 0x0, // PA_CL_VPORT_ZOFFSET_13 - 0x0, // PA_CL_VPORT_XSCALE_14 - 0x0, // PA_CL_VPORT_XOFFSET_14 - 0x0, // PA_CL_VPORT_YSCALE_14 - 0x0, // PA_CL_VPORT_YOFFSET_14 - 0x0, // PA_CL_VPORT_ZSCALE_14 - 0x0, // PA_CL_VPORT_ZOFFSET_14 - 0x0, // PA_CL_VPORT_XSCALE_15 - 0x0, // PA_CL_VPORT_XOFFSET_15 - 0x0, // PA_CL_VPORT_YSCALE_15 - 0x0, // PA_CL_VPORT_YOFFSET_15 - 0x0, // PA_CL_VPORT_ZSCALE_15 - 0x0, // PA_CL_VPORT_ZOFFSET_15 - 0x0, // PA_CL_UCP_0_X - 0x0, // PA_CL_UCP_0_Y - 0x0, // PA_CL_UCP_0_Z - 0x0, // PA_CL_UCP_0_W - 0x0, // PA_CL_UCP_1_X - 0x0, // PA_CL_UCP_1_Y - 0x0, // PA_CL_UCP_1_Z - 0x0, // PA_CL_UCP_1_W - 0x0, // PA_CL_UCP_2_X - 0x0, // PA_CL_UCP_2_Y - 0x0, // PA_CL_UCP_2_Z - 0x0, // PA_CL_UCP_2_W - 0x0, // PA_CL_UCP_3_X - 0x0, // PA_CL_UCP_3_Y - 0x0, // PA_CL_UCP_3_Z - 0x0, // PA_CL_UCP_3_W - 0x0, // PA_CL_UCP_4_X - 0x0, // PA_CL_UCP_4_Y - 0x0, // PA_CL_UCP_4_Z - 0x0, // PA_CL_UCP_4_W - 0x0, // PA_CL_UCP_5_X - 0x0, // PA_CL_UCP_5_Y - 0x0, // PA_CL_UCP_5_Z - 0x0, // PA_CL_UCP_5_W - }; - static const uint32_t SpiPsInputCntl0Gfx11[] = { - 0x0, // SPI_PS_INPUT_CNTL_0 - 0x0, // SPI_PS_INPUT_CNTL_1 - 0x0, // SPI_PS_INPUT_CNTL_2 - 0x0, // SPI_PS_INPUT_CNTL_3 - 0x0, // SPI_PS_INPUT_CNTL_4 - 0x0, // SPI_PS_INPUT_CNTL_5 - 0x0, // SPI_PS_INPUT_CNTL_6 - 0x0, // SPI_PS_INPUT_CNTL_7 - 0x0, // SPI_PS_INPUT_CNTL_8 - 0x0, // SPI_PS_INPUT_CNTL_9 - 0x0, // SPI_PS_INPUT_CNTL_10 - 0x0, // SPI_PS_INPUT_CNTL_11 - 0x0, // SPI_PS_INPUT_CNTL_12 - 0x0, // SPI_PS_INPUT_CNTL_13 - 0x0, // SPI_PS_INPUT_CNTL_14 - 0x0, // SPI_PS_INPUT_CNTL_15 - 0x0, // SPI_PS_INPUT_CNTL_16 - 0x0, // SPI_PS_INPUT_CNTL_17 - 0x0, // SPI_PS_INPUT_CNTL_18 - 0x0, // SPI_PS_INPUT_CNTL_19 - 0x0, // SPI_PS_INPUT_CNTL_20 - 0x0, // SPI_PS_INPUT_CNTL_21 - 0x0, // SPI_PS_INPUT_CNTL_22 - 0x0, // SPI_PS_INPUT_CNTL_23 - 0x0, // SPI_PS_INPUT_CNTL_24 - 0x0, // SPI_PS_INPUT_CNTL_25 - 0x0, // SPI_PS_INPUT_CNTL_26 - 0x0, // SPI_PS_INPUT_CNTL_27 - 0x0, // SPI_PS_INPUT_CNTL_28 - 0x0, // SPI_PS_INPUT_CNTL_29 - 0x0, // SPI_PS_INPUT_CNTL_30 - 0x0, // SPI_PS_INPUT_CNTL_31 - 0x0, // SPI_VS_OUT_CONFIG - 0x0, // - 0x0, // SPI_PS_INPUT_ENA - 0x0, // SPI_PS_INPUT_ADDR - 0x0, // SPI_INTERP_CONTROL_0 - 0x2, // SPI_PS_IN_CONTROL - 0x0, // SPI_BARYC_SSAA_CNTL - 0x0, // SPI_BARYC_CNTL - 0x0, // - 0x0, // SPI_TMPRING_SIZE - 0x0, // SPI_GFX_SCRATCH_BASE_LO - 0x0, // SPI_GFX_SCRATCH_BASE_HI - }; - static const uint32_t SpiShaderIdxFormatGfx11[] = { - 0x0, // SPI_SHADER_IDX_FORMAT - 0x0, // SPI_SHADER_POS_FORMAT - 0x0, // SPI_SHADER_Z_FORMAT - 0x0, // SPI_SHADER_COL_FORMAT - }; - static const uint32_t SxPsDownconvertControlGfx11[] = { - 0x0, // SX_PS_DOWNCONVERT_CONTROL - 0x0, // SX_PS_DOWNCONVERT - 0x0, // SX_BLEND_OPT_EPSILON - 0x0, // SX_BLEND_OPT_CONTROL - 0x0, // SX_MRT0_BLEND_OPT - 0x0, // SX_MRT1_BLEND_OPT - 0x0, // SX_MRT2_BLEND_OPT - 0x0, // SX_MRT3_BLEND_OPT - 0x0, // SX_MRT4_BLEND_OPT - 0x0, // SX_MRT5_BLEND_OPT - 0x0, // SX_MRT6_BLEND_OPT - 0x0, // SX_MRT7_BLEND_OPT - 0x0, // CB_BLEND0_CONTROL - 0x0, // CB_BLEND1_CONTROL - 0x0, // CB_BLEND2_CONTROL - 0x0, // CB_BLEND3_CONTROL - 0x0, // CB_BLEND4_CONTROL - 0x0, // CB_BLEND5_CONTROL - 0x0, // CB_BLEND6_CONTROL - 0x0, // CB_BLEND7_CONTROL - }; - static const uint32_t PaClPointXRadGfx11[] = { - 0x0, // PA_CL_POINT_X_RAD - 0x0, // PA_CL_POINT_Y_RAD - 0x0, // PA_CL_POINT_SIZE - 0x0, // PA_CL_POINT_CULL_RAD - }; - static const uint32_t GeMaxOutputPerSubgroupGfx11[] = { - 0x0, // GE_MAX_OUTPUT_PER_SUBGROUP - 0x0, // DB_DEPTH_CONTROL - 0x0, // DB_EQAA - 0x0, // CB_COLOR_CONTROL - 0x0, // DB_SHADER_CONTROL - 0x90000, // PA_CL_CLIP_CNTL - 0x4, // PA_SU_SC_MODE_CNTL - 0x0, // PA_CL_VTE_CNTL - 0x0, // PA_CL_VS_OUT_CNTL - 0x0, // PA_CL_NANINF_CNTL - 0x0, // PA_SU_LINE_STIPPLE_CNTL - 0x0, // PA_SU_LINE_STIPPLE_SCALE - 0x0, // PA_SU_PRIM_FILTER_CNTL - 0x0, // PA_SU_SMALL_PRIM_FILTER_CNTL - 0x0, // - 0x0, // PA_CL_NGG_CNTL - 0x0, // PA_SU_OVER_RASTERIZATION_CNTL - 0x0, // PA_STEREO_CNTL - 0x0, // PA_STATE_STEREO_X - 0x0, // PA_CL_VRS_CNTL - }; - static const uint32_t PaSuPointSizeGfx11[] = { - 0x0, // PA_SU_POINT_SIZE - 0x0, // PA_SU_POINT_MINMAX - 0x0, // PA_SU_LINE_CNTL - 0x0, // PA_SC_LINE_STIPPLE - }; - static const uint32_t VgtHosMaxTessLevelGfx11[] = { - 0x0, // VGT_HOS_MAX_TESS_LEVEL - 0x0, // VGT_HOS_MIN_TESS_LEVEL - }; - static const uint32_t PaScModeCntl0Gfx11[] = { - 0x0, // PA_SC_MODE_CNTL_0 - 0x0, // PA_SC_MODE_CNTL_1 - 0x0, // VGT_ENHANCE - }; - static const uint32_t VgtPrimitiveidEnGfx11[] = { - 0x0, // VGT_PRIMITIVEID_EN - }; - static const uint32_t VgtPrimitiveidResetGfx11[] = { - 0x0, // VGT_PRIMITIVEID_RESET - }; - static const uint32_t VgtDrawPayloadCntlGfx11[] = { - 0x0, // VGT_DRAW_PAYLOAD_CNTL - }; - static const uint32_t VgtEsgsRingItemsizeGfx11[] = { - 0x0, // VGT_ESGS_RING_ITEMSIZE - 0x0, // - 0x0, // VGT_REUSE_OFF - 0x0, // - 0x0, // DB_HTILE_SURFACE - 0x0, // DB_SRESULTS_COMPARE_STATE0 - 0x0, // DB_SRESULTS_COMPARE_STATE1 - }; - static const uint32_t VgtStrmoutDrawOpaqueOffsetGfx11[] = { - 0x0, // VGT_STRMOUT_DRAW_OPAQUE_OFFSET - 0x0, // VGT_STRMOUT_DRAW_OPAQUE_BUFFER_FILLED_SIZE - 0x0, // VGT_STRMOUT_DRAW_OPAQUE_VERTEX_STRIDE - 0x0, // - 0x0, // VGT_GS_MAX_VERT_OUT - }; - static const uint32_t GeNggSubgrpCntlGfx11[] = { - 0x0, // GE_NGG_SUBGRP_CNTL - 0x0, // VGT_TESS_DISTRIBUTION - 0x0, // VGT_SHADER_STAGES_EN - 0x0, // VGT_LS_HS_CONFIG - }; - static const uint32_t VgtTfParamGfx11[] = { - 0x0, // VGT_TF_PARAM - 0x0, // DB_ALPHA_TO_MASK - 0x0, // - 0x0, // PA_SU_POLY_OFFSET_DB_FMT_CNTL - 0x0, // PA_SU_POLY_OFFSET_CLAMP - 0x0, // PA_SU_POLY_OFFSET_FRONT_SCALE - 0x0, // PA_SU_POLY_OFFSET_FRONT_OFFSET - 0x0, // PA_SU_POLY_OFFSET_BACK_SCALE - 0x0, // PA_SU_POLY_OFFSET_BACK_OFFSET - 0x0, // VGT_GS_INSTANCE_CNT - }; - static const uint32_t PaScCentroidPriority0Gfx11[] = { - 0x0, // PA_SC_CENTROID_PRIORITY_0 - 0x0, // PA_SC_CENTROID_PRIORITY_1 - 0x1000, // PA_SC_LINE_CNTL - 0x0, // PA_SC_AA_CONFIG - 0x5, // PA_SU_VTX_CNTL - 0x3f800000, // PA_CL_GB_VERT_CLIP_ADJ - 0x3f800000, // PA_CL_GB_VERT_DISC_ADJ - 0x3f800000, // PA_CL_GB_HORZ_CLIP_ADJ - 0x3f800000, // PA_CL_GB_HORZ_DISC_ADJ - 0x0, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_0 - 0x0, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_1 - 0x0, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_2 - 0x0, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_3 - 0x0, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_0 - 0x0, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_1 - 0x0, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_2 - 0x0, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_3 - 0x0, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_0 - 0x0, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_1 - 0x0, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_2 - 0x0, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_3 - 0x0, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_0 - 0x0, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_1 - 0x0, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_2 - 0x0, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_3 - 0xffffffff, // PA_SC_AA_MASK_X0Y0_X1Y0 - 0xffffffff, // PA_SC_AA_MASK_X0Y1_X1Y1 - 0x0, // PA_SC_SHADER_CONTROL - 0x3, // PA_SC_BINNER_CNTL_0 - 0x0, // PA_SC_BINNER_CNTL_1 - 0x100000, // PA_SC_CONSERVATIVE_RASTERIZATION_CNTL - 0x0, // PA_SC_NGG_MODE_CNTL - 0x0, // PA_SC_BINNER_CNTL_2 - }; - static const uint32_t CbColor0BaseGfx11[] = { - 0x0, // CB_COLOR0_BASE - }; - static const uint32_t CbColor0ViewGfx11[] = { - 0x0, // CB_COLOR0_VIEW - 0x0, // CB_COLOR0_INFO - 0x0, // CB_COLOR0_ATTRIB - 0x0, // CB_COLOR0_DCC_CONTROL - }; - static const uint32_t CbColor0DccBaseGfx11[] = { - 0x0, // CB_COLOR0_DCC_BASE - 0x0, // - 0x0, // CB_COLOR1_BASE - }; - static const uint32_t CbColor1ViewGfx11[] = { - 0x0, // CB_COLOR1_VIEW - 0x0, // CB_COLOR1_INFO - 0x0, // CB_COLOR1_ATTRIB - 0x0, // CB_COLOR1_DCC_CONTROL - }; - static const uint32_t CbColor1DccBaseGfx11[] = { - 0x0, // CB_COLOR1_DCC_BASE - 0x0, // - 0x0, // CB_COLOR2_BASE - }; - static const uint32_t CbColor2ViewGfx11[] = { - 0x0, // CB_COLOR2_VIEW - 0x0, // CB_COLOR2_INFO - 0x0, // CB_COLOR2_ATTRIB - 0x0, // CB_COLOR2_DCC_CONTROL - }; - static const uint32_t CbColor2DccBaseGfx11[] = { - 0x0, // CB_COLOR2_DCC_BASE - 0x0, // - 0x0, // CB_COLOR3_BASE - }; - static const uint32_t CbColor3ViewGfx11[] = { - 0x0, // CB_COLOR3_VIEW - 0x0, // CB_COLOR3_INFO - 0x0, // CB_COLOR3_ATTRIB - 0x0, // CB_COLOR3_DCC_CONTROL - }; - static const uint32_t CbColor3DccBaseGfx11[] = { - 0x0, // CB_COLOR3_DCC_BASE - 0x0, // - 0x0, // CB_COLOR4_BASE - }; - static const uint32_t CbColor4ViewGfx11[] = { - 0x0, // CB_COLOR4_VIEW - 0x0, // CB_COLOR4_INFO - 0x0, // CB_COLOR4_ATTRIB - 0x0, // CB_COLOR4_DCC_CONTROL - }; - static const uint32_t CbColor4DccBaseGfx11[] = { - 0x0, // CB_COLOR4_DCC_BASE - 0x0, // - 0x0, // CB_COLOR5_BASE - }; - static const uint32_t CbColor5ViewGfx11[] = { - 0x0, // CB_COLOR5_VIEW - 0x0, // CB_COLOR5_INFO - 0x0, // CB_COLOR5_ATTRIB - 0x0, // CB_COLOR5_DCC_CONTROL - }; - static const uint32_t CbColor5DccBaseGfx11[] = { - 0x0, // CB_COLOR5_DCC_BASE - 0x0, // - 0x0, // CB_COLOR6_BASE - }; - static const uint32_t CbColor6ViewGfx11[] = { - 0x0, // CB_COLOR6_VIEW - 0x0, // CB_COLOR6_INFO - 0x0, // CB_COLOR6_ATTRIB - 0x0, // CB_COLOR6_DCC_CONTROL - }; - static const uint32_t CbColor6DccBaseGfx11[] = { - 0x0, // CB_COLOR6_DCC_BASE - 0x0, // - 0x0, // CB_COLOR7_BASE - }; - static const uint32_t CbColor7ViewGfx11[] = { - 0x0, // CB_COLOR7_VIEW - 0x0, // CB_COLOR7_INFO - 0x0, // CB_COLOR7_ATTRIB - 0x0, // CB_COLOR7_DCC_CONTROL - }; - static const uint32_t CbColor7DccBaseGfx11[] = { - 0x0, // CB_COLOR7_DCC_BASE - 0x0, // - 0x0, // CB_COLOR0_BASE_EXT - 0x0, // CB_COLOR1_BASE_EXT - 0x0, // CB_COLOR2_BASE_EXT - 0x0, // CB_COLOR3_BASE_EXT - 0x0, // CB_COLOR4_BASE_EXT - 0x0, // CB_COLOR5_BASE_EXT - 0x0, // CB_COLOR6_BASE_EXT - 0x0, // CB_COLOR7_BASE_EXT - }; - static const uint32_t CbColor0DccBaseExtGfx11[] = { - 0x0, // CB_COLOR0_DCC_BASE_EXT - 0x0, // CB_COLOR1_DCC_BASE_EXT - 0x0, // CB_COLOR2_DCC_BASE_EXT - 0x0, // CB_COLOR3_DCC_BASE_EXT - 0x0, // CB_COLOR4_DCC_BASE_EXT - 0x0, // CB_COLOR5_DCC_BASE_EXT - 0x0, // CB_COLOR6_DCC_BASE_EXT - 0x0, // CB_COLOR7_DCC_BASE_EXT - 0x0, // CB_COLOR0_ATTRIB2 - 0x0, // CB_COLOR1_ATTRIB2 - 0x0, // CB_COLOR2_ATTRIB2 - 0x0, // CB_COLOR3_ATTRIB2 - 0x0, // CB_COLOR4_ATTRIB2 - 0x0, // CB_COLOR5_ATTRIB2 - 0x0, // CB_COLOR6_ATTRIB2 - 0x0, // CB_COLOR7_ATTRIB2 - 0x0, // CB_COLOR0_ATTRIB3 - 0x0, // CB_COLOR1_ATTRIB3 - 0x0, // CB_COLOR2_ATTRIB3 - 0x0, // CB_COLOR3_ATTRIB3 - 0x0, // CB_COLOR4_ATTRIB3 - 0x0, // CB_COLOR5_ATTRIB3 - 0x0, // CB_COLOR6_ATTRIB3 - 0x0, // CB_COLOR7_ATTRIB3 - }; - - set_context_reg_seq_array(pm4, R_028000_DB_RENDER_CONTROL, SET(DbRenderControlGfx11)); - set_context_reg_seq_array(pm4, R_0281E8_COHER_DEST_BASE_HI_0, SET(CoherDestBaseHi0Gfx11)); - set_context_reg_seq_array(pm4, R_0283D0_PA_SC_VRS_OVERRIDE_CNTL, SET(PaScVrsOverrideCntlGfx11)); - set_context_reg_seq_array(pm4, R_0283F0_PA_SC_VRS_RATE_BASE, SET(PaScVrsRateBaseGfx11)); - set_context_reg_seq_array(pm4, R_02840C_VGT_MULTI_PRIM_IB_RESET_INDX, SET(VgtMultiPrimIbResetIndxGfx11)); - set_context_reg_seq_array(pm4, R_028644_SPI_PS_INPUT_CNTL_0, SET(SpiPsInputCntl0Gfx11)); - set_context_reg_seq_array(pm4, R_028708_SPI_SHADER_IDX_FORMAT, SET(SpiShaderIdxFormatGfx11)); - set_context_reg_seq_array(pm4, R_028750_SX_PS_DOWNCONVERT_CONTROL, SET(SxPsDownconvertControlGfx11)); - set_context_reg_seq_array(pm4, R_0287D4_PA_CL_POINT_X_RAD, SET(PaClPointXRadGfx11)); - set_context_reg_seq_array(pm4, R_0287FC_GE_MAX_OUTPUT_PER_SUBGROUP, SET(GeMaxOutputPerSubgroupGfx11)); - set_context_reg_seq_array(pm4, R_028A00_PA_SU_POINT_SIZE, SET(PaSuPointSizeGfx11)); - set_context_reg_seq_array(pm4, R_028A18_VGT_HOS_MAX_TESS_LEVEL, SET(VgtHosMaxTessLevelGfx11)); - set_context_reg_seq_array(pm4, R_028A48_PA_SC_MODE_CNTL_0, SET(PaScModeCntl0Gfx11)); - set_context_reg_seq_array(pm4, R_028A84_VGT_PRIMITIVEID_EN, SET(VgtPrimitiveidEnGfx11)); - set_context_reg_seq_array(pm4, R_028A8C_VGT_PRIMITIVEID_RESET, SET(VgtPrimitiveidResetGfx11)); - set_context_reg_seq_array(pm4, R_028A98_VGT_DRAW_PAYLOAD_CNTL, SET(VgtDrawPayloadCntlGfx11)); - set_context_reg_seq_array(pm4, R_028AAC_VGT_ESGS_RING_ITEMSIZE, SET(VgtEsgsRingItemsizeGfx11)); - set_context_reg_seq_array(pm4, R_028B28_VGT_STRMOUT_DRAW_OPAQUE_OFFSET, SET(VgtStrmoutDrawOpaqueOffsetGfx11)); - set_context_reg_seq_array(pm4, R_028B4C_GE_NGG_SUBGRP_CNTL, SET(GeNggSubgrpCntlGfx11)); - set_context_reg_seq_array(pm4, R_028B6C_VGT_TF_PARAM, SET(VgtTfParamGfx11)); - set_context_reg_seq_array(pm4, R_028BD4_PA_SC_CENTROID_PRIORITY_0, SET(PaScCentroidPriority0Gfx11)); - set_context_reg_seq_array(pm4, R_028C60_CB_COLOR0_BASE, SET(CbColor0BaseGfx11)); - set_context_reg_seq_array(pm4, R_028C6C_CB_COLOR0_VIEW, SET(CbColor0ViewGfx11)); - set_context_reg_seq_array(pm4, R_028C94_CB_COLOR0_DCC_BASE, SET(CbColor0DccBaseGfx11)); - set_context_reg_seq_array(pm4, R_028CA8_CB_COLOR1_VIEW, SET(CbColor1ViewGfx11)); - set_context_reg_seq_array(pm4, R_028CD0_CB_COLOR1_DCC_BASE, SET(CbColor1DccBaseGfx11)); - set_context_reg_seq_array(pm4, R_028CE4_CB_COLOR2_VIEW, SET(CbColor2ViewGfx11)); - set_context_reg_seq_array(pm4, R_028D0C_CB_COLOR2_DCC_BASE, SET(CbColor2DccBaseGfx11)); - set_context_reg_seq_array(pm4, R_028D20_CB_COLOR3_VIEW, SET(CbColor3ViewGfx11)); - set_context_reg_seq_array(pm4, R_028D48_CB_COLOR3_DCC_BASE, SET(CbColor3DccBaseGfx11)); - set_context_reg_seq_array(pm4, R_028D5C_CB_COLOR4_VIEW, SET(CbColor4ViewGfx11)); - set_context_reg_seq_array(pm4, R_028D84_CB_COLOR4_DCC_BASE, SET(CbColor4DccBaseGfx11)); - set_context_reg_seq_array(pm4, R_028D98_CB_COLOR5_VIEW, SET(CbColor5ViewGfx11)); - set_context_reg_seq_array(pm4, R_028DC0_CB_COLOR5_DCC_BASE, SET(CbColor5DccBaseGfx11)); - set_context_reg_seq_array(pm4, R_028DD4_CB_COLOR6_VIEW, SET(CbColor6ViewGfx11)); - set_context_reg_seq_array(pm4, R_028DFC_CB_COLOR6_DCC_BASE, SET(CbColor6DccBaseGfx11)); - set_context_reg_seq_array(pm4, R_028E10_CB_COLOR7_VIEW, SET(CbColor7ViewGfx11)); - set_context_reg_seq_array(pm4, R_028E38_CB_COLOR7_DCC_BASE, SET(CbColor7DccBaseGfx11)); - set_context_reg_seq_array(pm4, R_028C98_CB_COLOR0_DCC_BASE_EXT, SET(CbColor0DccBaseExtGfx11)); - - for (unsigned i = 0; i < num_reg_pairs; i++) - set_context_reg_seq_array(pm4, reg_offsets[i], 1, ®_values[i]); -} - struct ac_pm4_state *ac_emulate_clear_state(const struct radeon_info *info) { struct ac_pm4_state *pm4; @@ -3509,15 +2859,13 @@ struct ac_pm4_state *ac_emulate_clear_state(const struct radeon_info *info) if (!pm4) return NULL; - assert(info->gfx_level < GFX12); + assert(info->gfx_level < GFX11); /* Set context registers same as CLEAR_STATE to initialize shadow memory. */ unsigned reg_offset = R_02835C_PA_SC_TILE_STEERING_OVERRIDE; uint32_t reg_value = info->pa_sc_tile_steering_override; - if (info->gfx_level == GFX11 || info->gfx_level == GFX11_5) { - gfx11_emulate_clear_state(pm4, 1, ®_offset, ®_value); - } else if (info->gfx_level == GFX10_3) { + if (info->gfx_level == GFX10_3) { gfx103_emulate_clear_state(pm4, 1, ®_offset, ®_value); } else if (info->gfx_level == GFX10) { gfx10_emulate_clear_state(pm4, 1, ®_offset, ®_value); diff --git a/src/amd/vulkan/radv_cp_reg_shadowing.c b/src/amd/vulkan/radv_cp_reg_shadowing.c index 0ec33d35807..f01c3a9cd48 100644 --- a/src/amd/vulkan/radv_cp_reg_shadowing.c +++ b/src/amd/vulkan/radv_cp_reg_shadowing.c @@ -122,7 +122,7 @@ radv_init_shadowed_regs_buffer_state(const struct radv_device *device, struct ra radv_emit_shadow_regs_preamble(cs, device, &queue->state); - if (pdev->info.gfx_level < GFX12) { + if (pdev->info.gfx_level < GFX11) { struct ac_pm4_state *pm4 = ac_emulate_clear_state(gpu_info); if (!pm4) { result = VK_ERROR_OUT_OF_HOST_MEMORY; diff --git a/src/gallium/drivers/radeonsi/si_cp_reg_shadowing.c b/src/gallium/drivers/radeonsi/si_cp_reg_shadowing.c index e8f8e1280cc..c9e0bbe49be 100644 --- a/src/gallium/drivers/radeonsi/si_cp_reg_shadowing.c +++ b/src/gallium/drivers/radeonsi/si_cp_reg_shadowing.c @@ -66,7 +66,7 @@ void si_init_cp_reg_shadowing(struct si_context *sctx) RADEON_USAGE_READWRITE | RADEON_PRIO_DESCRIPTORS); si_pm4_emit_commands(sctx, shadowing_preamble); - if (sctx->gfx_level < GFX12) { + if (sctx->gfx_level < GFX11) { struct ac_pm4_state *clear_state = ac_emulate_clear_state(&sctx->screen->info); si_pm4_emit_commands(sctx, clear_state); ac_pm4_free_state(clear_state);