ac: remove gfx11_emulate_clear_state
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run

We don't use CLEAR_STATE on gfx11 anymore.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34589>
This commit is contained in:
Marek Olšák 2025-04-17 14:08:07 -04:00 committed by Marge Bot
parent 5e487dbc49
commit 7f0de1a512
3 changed files with 4 additions and 656 deletions

View file

@ -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, &reg_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, &reg_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, &reg_offset, &reg_value);
} else if (info->gfx_level == GFX10_3) {
if (info->gfx_level == GFX10_3) {
gfx103_emulate_clear_state(pm4, 1, &reg_offset, &reg_value);
} else if (info->gfx_level == GFX10) {
gfx10_emulate_clear_state(pm4, 1, &reg_offset, &reg_value);

View file

@ -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;

View file

@ -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);