/* * Copyright © 2009 Jerome Glisse * * This file is free software; you can redistribute it and/or modify * it under the terms of version 2 of the GNU General Public License * as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef R600_STATES_H #define R600_STATES_H static const struct radeon_register R600_CONFIG_names[] = { {0x00008C00, 0, 0, "SQ_CONFIG"}, {0x00008C04, 0, 0, "SQ_GPR_RESOURCE_MGMT_1"}, {0x00008C08, 0, 0, "SQ_GPR_RESOURCE_MGMT_2"}, {0x00008C0C, 0, 0, "SQ_THREAD_RESOURCE_MGMT"}, {0x00008C10, 0, 0, "SQ_STACK_RESOURCE_MGMT_1"}, {0x00008C14, 0, 0, "SQ_STACK_RESOURCE_MGMT_2"}, {0x00008D8C, 0, 0, "SQ_DYN_GPR_CNTL_PS_FLUSH_REQ"}, {0x00009508, 0, 0, "TA_CNTL_AUX"}, {0x00009714, 0, 0, "VC_ENHANCE"}, {0x00009830, 0, 0, "DB_DEBUG"}, {0x00009838, 0, 0, "DB_WATERMARKS"}, {0x00028350, 0, 0, "SX_MISC"}, {0x000286C8, 0, 0, "SPI_THREAD_GROUPING"}, {0x000287A0, 0, 0, "CB_SHADER_CONTROL"}, {0x000288A8, 0, 0, "SQ_ESGS_RING_ITEMSIZE"}, {0x000288AC, 0, 0, "SQ_GSVS_RING_ITEMSIZE"}, {0x000288B0, 0, 0, "SQ_ESTMP_RING_ITEMSIZE"}, {0x000288B4, 0, 0, "SQ_GSTMP_RING_ITEMSIZE"}, {0x000288B8, 0, 0, "SQ_VSTMP_RING_ITEMSIZE"}, {0x000288BC, 0, 0, "SQ_PSTMP_RING_ITEMSIZE"}, {0x000288C0, 0, 0, "SQ_FBUF_RING_ITEMSIZE"}, {0x000288C4, 0, 0, "SQ_REDUC_RING_ITEMSIZE"}, {0x000288C8, 0, 0, "SQ_GS_VERT_ITEMSIZE"}, {0x00028A10, 0, 0, "VGT_OUTPUT_PATH_CNTL"}, {0x00028A14, 0, 0, "VGT_HOS_CNTL"}, {0x00028A18, 0, 0, "VGT_HOS_MAX_TESS_LEVEL"}, {0x00028A1C, 0, 0, "VGT_HOS_MIN_TESS_LEVEL"}, {0x00028A20, 0, 0, "VGT_HOS_REUSE_DEPTH"}, {0x00028A24, 0, 0, "VGT_GROUP_PRIM_TYPE"}, {0x00028A28, 0, 0, "VGT_GROUP_FIRST_DECR"}, {0x00028A2C, 0, 0, "VGT_GROUP_DECR"}, {0x00028A30, 0, 0, "VGT_GROUP_VECT_0_CNTL"}, {0x00028A34, 0, 0, "VGT_GROUP_VECT_1_CNTL"}, {0x00028A38, 0, 0, "VGT_GROUP_VECT_0_FMT_CNTL"}, {0x00028A3C, 0, 0, "VGT_GROUP_VECT_1_FMT_CNTL"}, {0x00028A40, 0, 0, "VGT_GS_MODE"}, {0x00028A4C, 0, 0, "PA_SC_MODE_CNTL"}, {0x00028AB0, 0, 0, "VGT_STRMOUT_EN"}, {0x00028AB4, 0, 0, "VGT_REUSE_OFF"}, {0x00028AB8, 0, 0, "VGT_VTX_CNT_EN"}, {0x00028B20, 0, 0, "VGT_STRMOUT_BUFFER_EN"}, }; static const struct radeon_register R600_CB_CNTL_names[] = { {0x00028120, 0, 0, "CB_CLEAR_RED"}, {0x00028124, 0, 0, "CB_CLEAR_GREEN"}, {0x00028128, 0, 0, "CB_CLEAR_BLUE"}, {0x0002812C, 0, 0, "CB_CLEAR_ALPHA"}, {0x0002823C, 0, 0, "CB_SHADER_MASK"}, {0x00028238, 0, 0, "CB_TARGET_MASK"}, {0x00028424, 0, 0, "CB_FOG_RED"}, {0x00028428, 0, 0, "CB_FOG_GREEN"}, {0x0002842C, 0, 0, "CB_FOG_BLUE"}, {0x00028808, 0, 0, "CB_COLOR_CONTROL"}, {0x00028C04, 0, 0, "PA_SC_AA_CONFIG"}, {0x00028C1C, 0, 0, "PA_SC_AA_SAMPLE_LOCS_MCTX"}, {0x00028C20, 0, 0, "PA_SC_AA_SAMPLE_LOCS_8S_WD1_MCTX"}, {0x00028C30, 0, 0, "CB_CLRCMP_CONTROL"}, {0x00028C34, 0, 0, "CB_CLRCMP_SRC"}, {0x00028C38, 0, 0, "CB_CLRCMP_DST"}, {0x00028C3C, 0, 0, "CB_CLRCMP_MSK"}, {0x00028C48, 0, 0, "PA_SC_AA_MASK"}, }; static const struct radeon_register R600_RASTERIZER_names[] = { {0x000286D4, 0, 0, "SPI_INTERP_CONTROL_0"}, {0x00028810, 0, 0, "PA_CL_CLIP_CNTL"}, {0x00028814, 0, 0, "PA_SU_SC_MODE_CNTL"}, {0x0002881C, 0, 0, "PA_CL_VS_OUT_CNTL"}, {0x00028820, 0, 0, "PA_CL_NANINF_CNTL"}, {0x00028A00, 0, 0, "PA_SU_POINT_SIZE"}, {0x00028A04, 0, 0, "PA_SU_POINT_MINMAX"}, {0x00028A08, 0, 0, "PA_SU_LINE_CNTL"}, {0x00028A0C, 0, 0, "PA_SC_LINE_STIPPLE"}, {0x00028A48, 0, 0, "PA_SC_MPASS_PS_CNTL"}, {0x00028C00, 0, 0, "PA_SC_LINE_CNTL"}, {0x00028C0C, 0, 0, "PA_CL_GB_VERT_CLIP_ADJ"}, {0x00028C10, 0, 0, "PA_CL_GB_VERT_DISC_ADJ"}, {0x00028C14, 0, 0, "PA_CL_GB_HORZ_CLIP_ADJ"}, {0x00028C18, 0, 0, "PA_CL_GB_HORZ_DISC_ADJ"}, {0x00028DF8, 0, 0, "PA_SU_POLY_OFFSET_DB_FMT_CNTL"}, {0x00028DFC, 0, 0, "PA_SU_POLY_OFFSET_CLAMP"}, {0x00028E00, 0, 0, "PA_SU_POLY_OFFSET_FRONT_SCALE"}, {0x00028E04, 0, 0, "PA_SU_POLY_OFFSET_FRONT_OFFSET"}, {0x00028E08, 0, 0, "PA_SU_POLY_OFFSET_BACK_SCALE"}, {0x00028E0C, 0, 0, "PA_SU_POLY_OFFSET_BACK_OFFSET"}, }; static const struct radeon_register R600_VIEWPORT_names[] = { {0x000282D0, 0, 0, "PA_SC_VPORT_ZMIN_0"}, {0x000282D4, 0, 0, "PA_SC_VPORT_ZMAX_0"}, {0x0002843C, 0, 0, "PA_CL_VPORT_XSCALE_0"}, {0x00028444, 0, 0, "PA_CL_VPORT_YSCALE_0"}, {0x0002844C, 0, 0, "PA_CL_VPORT_ZSCALE_0"}, {0x00028440, 0, 0, "PA_CL_VPORT_XOFFSET_0"}, {0x00028448, 0, 0, "PA_CL_VPORT_YOFFSET_0"}, {0x00028450, 0, 0, "PA_CL_VPORT_ZOFFSET_0"}, {0x00028818, 0, 0, "PA_CL_VTE_CNTL"}, }; static const struct radeon_register R600_SCISSOR_names[] = { {0x00028030, 0, 0, "PA_SC_SCREEN_SCISSOR_TL"}, {0x00028034, 0, 0, "PA_SC_SCREEN_SCISSOR_BR"}, {0x00028200, 0, 0, "PA_SC_WINDOW_OFFSET"}, {0x00028204, 0, 0, "PA_SC_WINDOW_SCISSOR_TL"}, {0x00028208, 0, 0, "PA_SC_WINDOW_SCISSOR_BR"}, {0x0002820C, 0, 0, "PA_SC_CLIPRECT_RULE"}, {0x00028210, 0, 0, "PA_SC_CLIPRECT_0_TL"}, {0x00028214, 0, 0, "PA_SC_CLIPRECT_0_BR"}, {0x00028218, 0, 0, "PA_SC_CLIPRECT_1_TL"}, {0x0002821C, 0, 0, "PA_SC_CLIPRECT_1_BR"}, {0x00028220, 0, 0, "PA_SC_CLIPRECT_2_TL"}, {0x00028224, 0, 0, "PA_SC_CLIPRECT_2_BR"}, {0x00028228, 0, 0, "PA_SC_CLIPRECT_3_TL"}, {0x0002822C, 0, 0, "PA_SC_CLIPRECT_3_BR"}, {0x00028230, 0, 0, "PA_SC_EDGERULE"}, {0x00028240, 0, 0, "PA_SC_GENERIC_SCISSOR_TL"}, {0x00028244, 0, 0, "PA_SC_GENERIC_SCISSOR_BR"}, {0x00028250, 0, 0, "PA_SC_VPORT_SCISSOR_0_TL"}, {0x00028254, 0, 0, "PA_SC_VPORT_SCISSOR_0_BR"}, }; static const struct radeon_register R600_BLEND_names[] = { {0x00028414, 0, 0, "CB_BLEND_RED"}, {0x00028418, 0, 0, "CB_BLEND_GREEN"}, {0x0002841C, 0, 0, "CB_BLEND_BLUE"}, {0x00028420, 0, 0, "CB_BLEND_ALPHA"}, {0x00028780, 0, 0, "CB_BLEND0_CONTROL"}, {0x00028784, 0, 0, "CB_BLEND1_CONTROL"}, {0x00028788, 0, 0, "CB_BLEND2_CONTROL"}, {0x0002878C, 0, 0, "CB_BLEND3_CONTROL"}, {0x00028790, 0, 0, "CB_BLEND4_CONTROL"}, {0x00028794, 0, 0, "CB_BLEND5_CONTROL"}, {0x00028798, 0, 0, "CB_BLEND6_CONTROL"}, {0x0002879C, 0, 0, "CB_BLEND7_CONTROL"}, {0x00028804, 0, 0, "CB_BLEND_CONTROL"}, }; static const struct radeon_register R600_DSA_names[] = { {0x00028028, 0, 0, "DB_STENCIL_CLEAR"}, {0x0002802C, 0, 0, "DB_DEPTH_CLEAR"}, {0x00028410, 0, 0, "SX_ALPHA_TEST_CONTROL"}, {0x00028430, 0, 0, "DB_STENCILREFMASK"}, {0x00028434, 0, 0, "DB_STENCILREFMASK_BF"}, {0x00028438, 0, 0, "SX_ALPHA_REF"}, {0x000286E0, 0, 0, "SPI_FOG_FUNC_SCALE"}, {0x000286E4, 0, 0, "SPI_FOG_FUNC_BIAS"}, {0x000286DC, 0, 0, "SPI_FOG_CNTL"}, {0x00028800, 0, 0, "DB_DEPTH_CONTROL"}, {0x0002880C, 0, 0, "DB_SHADER_CONTROL"}, {0x00028D0C, 0, 0, "DB_RENDER_CONTROL"}, {0x00028D10, 0, 0, "DB_RENDER_OVERRIDE"}, {0x00028D2C, 0, 0, "DB_SRESULTS_COMPARE_STATE1"}, {0x00028D30, 0, 0, "DB_PRELOAD_CONTROL"}, {0x00028D44, 0, 0, "DB_ALPHA_TO_MASK"}, }; static const struct radeon_register R600_VS_SHADER_names[] = { {0x00028380, 0, 0, "SQ_VTX_SEMANTIC_0"}, {0x00028384, 0, 0, "SQ_VTX_SEMANTIC_1"}, {0x00028388, 0, 0, "SQ_VTX_SEMANTIC_2"}, {0x0002838C, 0, 0, "SQ_VTX_SEMANTIC_3"}, {0x00028390, 0, 0, "SQ_VTX_SEMANTIC_4"}, {0x00028394, 0, 0, "SQ_VTX_SEMANTIC_5"}, {0x00028398, 0, 0, "SQ_VTX_SEMANTIC_6"}, {0x0002839C, 0, 0, "SQ_VTX_SEMANTIC_7"}, {0x000283A0, 0, 0, "SQ_VTX_SEMANTIC_8"}, {0x000283A4, 0, 0, "SQ_VTX_SEMANTIC_9"}, {0x000283A8, 0, 0, "SQ_VTX_SEMANTIC_10"}, {0x000283AC, 0, 0, "SQ_VTX_SEMANTIC_11"}, {0x000283B0, 0, 0, "SQ_VTX_SEMANTIC_12"}, {0x000283B4, 0, 0, "SQ_VTX_SEMANTIC_13"}, {0x000283B8, 0, 0, "SQ_VTX_SEMANTIC_14"}, {0x000283BC, 0, 0, "SQ_VTX_SEMANTIC_15"}, {0x000283C0, 0, 0, "SQ_VTX_SEMANTIC_16"}, {0x000283C4, 0, 0, "SQ_VTX_SEMANTIC_17"}, {0x000283C8, 0, 0, "SQ_VTX_SEMANTIC_18"}, {0x000283CC, 0, 0, "SQ_VTX_SEMANTIC_19"}, {0x000283D0, 0, 0, "SQ_VTX_SEMANTIC_20"}, {0x000283D4, 0, 0, "SQ_VTX_SEMANTIC_21"}, {0x000283D8, 0, 0, "SQ_VTX_SEMANTIC_22"}, {0x000283DC, 0, 0, "SQ_VTX_SEMANTIC_23"}, {0x000283E0, 0, 0, "SQ_VTX_SEMANTIC_24"}, {0x000283E4, 0, 0, "SQ_VTX_SEMANTIC_25"}, {0x000283E8, 0, 0, "SQ_VTX_SEMANTIC_26"}, {0x000283EC, 0, 0, "SQ_VTX_SEMANTIC_27"}, {0x000283F0, 0, 0, "SQ_VTX_SEMANTIC_28"}, {0x000283F4, 0, 0, "SQ_VTX_SEMANTIC_29"}, {0x000283F8, 0, 0, "SQ_VTX_SEMANTIC_30"}, {0x000283FC, 0, 0, "SQ_VTX_SEMANTIC_31"}, {0x00028614, 0, 0, "SPI_VS_OUT_ID_0"}, {0x00028618, 0, 0, "SPI_VS_OUT_ID_1"}, {0x0002861C, 0, 0, "SPI_VS_OUT_ID_2"}, {0x00028620, 0, 0, "SPI_VS_OUT_ID_3"}, {0x00028624, 0, 0, "SPI_VS_OUT_ID_4"}, {0x00028628, 0, 0, "SPI_VS_OUT_ID_5"}, {0x0002862C, 0, 0, "SPI_VS_OUT_ID_6"}, {0x00028630, 0, 0, "SPI_VS_OUT_ID_7"}, {0x00028634, 0, 0, "SPI_VS_OUT_ID_8"}, {0x00028638, 0, 0, "SPI_VS_OUT_ID_9"}, {0x000286C4, 0, 0, "SPI_VS_OUT_CONFIG"}, {0x00028858, 1, 0, "SQ_PGM_START_VS"}, {0x00028868, 0, 0, "SQ_PGM_RESOURCES_VS"}, {0x00028894, 1, 1, "SQ_PGM_START_FS"}, {0x000288A4, 0, 0, "SQ_PGM_RESOURCES_FS"}, {0x000288D0, 0, 0, "SQ_PGM_CF_OFFSET_VS"}, {0x000288DC, 0, 0, "SQ_PGM_CF_OFFSET_FS"}, }; static const struct radeon_register R600_PS_SHADER_names[] = { {0x00028644, 0, 0, "SPI_PS_INPUT_CNTL_0"}, {0x00028648, 0, 0, "SPI_PS_INPUT_CNTL_1"}, {0x0002864C, 0, 0, "SPI_PS_INPUT_CNTL_2"}, {0x00028650, 0, 0, "SPI_PS_INPUT_CNTL_3"}, {0x00028654, 0, 0, "SPI_PS_INPUT_CNTL_4"}, {0x00028658, 0, 0, "SPI_PS_INPUT_CNTL_5"}, {0x0002865C, 0, 0, "SPI_PS_INPUT_CNTL_6"}, {0x00028660, 0, 0, "SPI_PS_INPUT_CNTL_7"}, {0x00028664, 0, 0, "SPI_PS_INPUT_CNTL_8"}, {0x00028668, 0, 0, "SPI_PS_INPUT_CNTL_9"}, {0x0002866C, 0, 0, "SPI_PS_INPUT_CNTL_10"}, {0x00028670, 0, 0, "SPI_PS_INPUT_CNTL_11"}, {0x00028674, 0, 0, "SPI_PS_INPUT_CNTL_12"}, {0x00028678, 0, 0, "SPI_PS_INPUT_CNTL_13"}, {0x0002867C, 0, 0, "SPI_PS_INPUT_CNTL_14"}, {0x00028680, 0, 0, "SPI_PS_INPUT_CNTL_15"}, {0x00028684, 0, 0, "SPI_PS_INPUT_CNTL_16"}, {0x00028688, 0, 0, "SPI_PS_INPUT_CNTL_17"}, {0x0002868C, 0, 0, "SPI_PS_INPUT_CNTL_18"}, {0x00028690, 0, 0, "SPI_PS_INPUT_CNTL_19"}, {0x00028694, 0, 0, "SPI_PS_INPUT_CNTL_20"}, {0x00028698, 0, 0, "SPI_PS_INPUT_CNTL_21"}, {0x0002869C, 0, 0, "SPI_PS_INPUT_CNTL_22"}, {0x000286A0, 0, 0, "SPI_PS_INPUT_CNTL_23"}, {0x000286A4, 0, 0, "SPI_PS_INPUT_CNTL_24"}, {0x000286A8, 0, 0, "SPI_PS_INPUT_CNTL_25"}, {0x000286AC, 0, 0, "SPI_PS_INPUT_CNTL_26"}, {0x000286B0, 0, 0, "SPI_PS_INPUT_CNTL_27"}, {0x000286B4, 0, 0, "SPI_PS_INPUT_CNTL_28"}, {0x000286B8, 0, 0, "SPI_PS_INPUT_CNTL_29"}, {0x000286BC, 0, 0, "SPI_PS_INPUT_CNTL_30"}, {0x000286C0, 0, 0, "SPI_PS_INPUT_CNTL_31"}, {0x000286CC, 0, 0, "SPI_PS_IN_CONTROL_0"}, {0x000286D0, 0, 0, "SPI_PS_IN_CONTROL_1"}, {0x000286D8, 0, 0, "SPI_INPUT_Z"}, {0x00028840, 1, 0, "SQ_PGM_START_PS"}, {0x00028850, 0, 0, "SQ_PGM_RESOURCES_PS"}, {0x00028854, 0, 0, "SQ_PGM_EXPORTS_PS"}, {0x000288CC, 0, 0, "SQ_PGM_CF_OFFSET_PS"}, }; static const struct radeon_register R600_PS_CONSTANT_names[] = { {0x00030000, 0, 0, "SQ_ALU_CONSTANT0_0"}, {0x00030004, 0, 0, "SQ_ALU_CONSTANT1_0"}, {0x00030008, 0, 0, "SQ_ALU_CONSTANT2_0"}, {0x0003000C, 0, 0, "SQ_ALU_CONSTANT3_0"}, }; static const struct radeon_register R600_VS_CONSTANT_names[] = { {0x00031000, 0, 0, "SQ_ALU_CONSTANT0_256"}, {0x00031004, 0, 0, "SQ_ALU_CONSTANT1_256"}, {0x00031008, 0, 0, "SQ_ALU_CONSTANT2_256"}, {0x0003100C, 0, 0, "SQ_ALU_CONSTANT3_256"}, }; static const struct radeon_register R600_PS_RESOURCE_names[] = { {0x00038000, 0, 0, "RESOURCE0_WORD0"}, {0x00038004, 0, 0, "RESOURCE0_WORD1"}, {0x00038008, 0, 0, "RESOURCE0_WORD2"}, {0x0003800C, 0, 0, "RESOURCE0_WORD3"}, {0x00038010, 0, 0, "RESOURCE0_WORD4"}, {0x00038014, 0, 0, "RESOURCE0_WORD5"}, {0x00038018, 0, 0, "RESOURCE0_WORD6"}, }; static const struct radeon_register R600_VS_RESOURCE_names[] = { {0x00039180, 0, 0, "RESOURCE160_WORD0"}, {0x00039184, 0, 0, "RESOURCE160_WORD1"}, {0x00039188, 0, 0, "RESOURCE160_WORD2"}, {0x0003918C, 0, 0, "RESOURCE160_WORD3"}, {0x00039190, 0, 0, "RESOURCE160_WORD4"}, {0x00039194, 0, 0, "RESOURCE160_WORD5"}, {0x00039198, 0, 0, "RESOURCE160_WORD6"}, }; static const struct radeon_register R600_FS_RESOURCE_names[] = { {0x0003A300, 0, 0, "RESOURCE320_WORD0"}, {0x0003A304, 0, 0, "RESOURCE320_WORD1"}, {0x0003A308, 0, 0, "RESOURCE320_WORD2"}, {0x0003A30C, 0, 0, "RESOURCE320_WORD3"}, {0x0003A310, 0, 0, "RESOURCE320_WORD4"}, {0x0003A314, 0, 0, "RESOURCE320_WORD5"}, {0x0003A318, 0, 0, "RESOURCE320_WORD6"}, }; static const struct radeon_register R600_GS_RESOURCE_names[] = { {0x0003A4C0, 0, 0, "RESOURCE336_WORD0"}, {0x0003A4C4, 0, 0, "RESOURCE336_WORD1"}, {0x0003A4C8, 0, 0, "RESOURCE336_WORD2"}, {0x0003A4CC, 0, 0, "RESOURCE336_WORD3"}, {0x0003A4D0, 0, 0, "RESOURCE336_WORD4"}, {0x0003A4D4, 0, 0, "RESOURCE336_WORD5"}, {0x0003A4D8, 0, 0, "RESOURCE336_WORD6"}, }; static const struct radeon_register R600_PS_SAMPLER_names[] = { {0x0003C000, 0, 0, "SQ_TEX_SAMPLER_WORD0_0"}, {0x0003C004, 0, 0, "SQ_TEX_SAMPLER_WORD1_0"}, {0x0003C008, 0, 0, "SQ_TEX_SAMPLER_WORD2_0"}, }; static const struct radeon_register R600_VS_SAMPLER_names[] = { {0x0003C0D8, 0, 0, "SQ_TEX_SAMPLER_WORD0_18"}, {0x0003C0DC, 0, 0, "SQ_TEX_SAMPLER_WORD1_18"}, {0x0003C0E0, 0, 0, "SQ_TEX_SAMPLER_WORD2_18"}, }; static const struct radeon_register R600_GS_SAMPLER_names[] = { {0x0003C1B0, 0, 0, "SQ_TEX_SAMPLER_WORD0_36"}, {0x0003C1B4, 0, 0, "SQ_TEX_SAMPLER_WORD1_36"}, {0x0003C1B8, 0, 0, "SQ_TEX_SAMPLER_WORD2_36"}, }; static const struct radeon_register R600_PS_SAMPLER_BORDER_names[] = { {0x0000A400, 0, 0, "TD_PS_SAMPLER0_BORDER_RED"}, {0x0000A404, 0, 0, "TD_PS_SAMPLER0_BORDER_GREEN"}, {0x0000A408, 0, 0, "TD_PS_SAMPLER0_BORDER_BLUE"}, {0x0000A40C, 0, 0, "TD_PS_SAMPLER0_BORDER_ALPHA"}, }; static const struct radeon_register R600_VS_SAMPLER_BORDER_names[] = { {0x0000A600, 0, 0, "TD_VS_SAMPLER0_BORDER_RED"}, {0x0000A604, 0, 0, "TD_VS_SAMPLER0_BORDER_GREEN"}, {0x0000A608, 0, 0, "TD_VS_SAMPLER0_BORDER_BLUE"}, {0x0000A60C, 0, 0, "TD_VS_SAMPLER0_BORDER_ALPHA"}, }; static const struct radeon_register R600_GS_SAMPLER_BORDER_names[] = { {0x0000A800, 0, 0, "TD_GS_SAMPLER0_BORDER_RED"}, {0x0000A804, 0, 0, "TD_GS_SAMPLER0_BORDER_GREEN"}, {0x0000A808, 0, 0, "TD_GS_SAMPLER0_BORDER_BLUE"}, {0x0000A80C, 0, 0, "TD_GS_SAMPLER0_BORDER_ALPHA"}, }; static const struct radeon_register R600_CB0_names[] = { {0x00028040, 1, 0, "CB_COLOR0_BASE"}, {0x000280A0, 0, 0, "CB_COLOR0_INFO"}, {0x00028060, 0, 0, "CB_COLOR0_SIZE"}, {0x00028080, 0, 0, "CB_COLOR0_VIEW"}, {0x000280E0, 1, 1, "CB_COLOR0_FRAG"}, {0x000280C0, 1, 2, "CB_COLOR0_TILE"}, {0x00028100, 0, 0, "CB_COLOR0_MASK"}, }; static const struct radeon_register R600_DB_names[] = { {0x0002800C, 1, 0, "DB_DEPTH_BASE"}, {0x00028000, 0, 0, "DB_DEPTH_SIZE"}, {0x00028004, 0, 0, "DB_DEPTH_VIEW"}, {0x00028010, 0, 0, "DB_DEPTH_INFO"}, {0x00028D24, 0, 0, "DB_HTILE_SURFACE"}, {0x00028D34, 0, 0, "DB_PREFETCH_LIMIT"}, }; static const struct radeon_register R600_VGT_names[] = { {0x00008958, 0, 0, "VGT_PRIMITIVE_TYPE"}, {0x00028400, 0, 0, "VGT_MAX_VTX_INDX"}, {0x00028404, 0, 0, "VGT_MIN_VTX_INDX"}, {0x00028408, 0, 0, "VGT_INDX_OFFSET"}, {0x0002840C, 0, 0, "VGT_MULTI_PRIM_IB_RESET_INDX"}, {0x00028A7C, 0, 0, "VGT_DMA_INDEX_TYPE"}, {0x00028A84, 0, 0, "VGT_PRIMITIVEID_EN"}, {0x00028A88, 0, 0, "VGT_DMA_NUM_INSTANCES"}, {0x00028A94, 0, 0, "VGT_MULTI_PRIM_IB_RESET_EN"}, {0x00028AA0, 0, 0, "VGT_INSTANCE_STEP_RATE_0"}, {0x00028AA4, 0, 0, "VGT_INSTANCE_STEP_RATE_1"}, }; static const struct radeon_register R600_DRAW_names[] = { {0x00008970, 0, 0, "VGT_NUM_INDICES"}, {0x000287E4, 0, 0, "VGT_DMA_BASE_HI"}, {0x000287E8, 1, 0, "VGT_DMA_BASE"}, {0x000287F0, 0, 0, "VGT_DRAW_INITIATOR"}, }; static struct radeon_type R600_types[] = { { 128, 0, 0x00000000, 0x00000000, 0x0000, 0, "R600_CONFIG", 41, r600_state_pm4_config, R600_CONFIG_names}, { 128, 1, 0x00000000, 0x00000000, 0x0000, 0, "R600_CB_CNTL", 18, r600_state_pm4_generic, R600_CB_CNTL_names}, { 128, 2, 0x00000000, 0x00000000, 0x0000, 0, "R600_RASTERIZER", 21, r600_state_pm4_generic, R600_RASTERIZER_names}, { 128, 3, 0x00000000, 0x00000000, 0x0000, 0, "R600_VIEWPORT", 9, r600_state_pm4_generic, R600_VIEWPORT_names}, { 128, 4, 0x00000000, 0x00000000, 0x0000, 0, "R600_SCISSOR", 19, r600_state_pm4_generic, R600_SCISSOR_names}, { 128, 5, 0x00000000, 0x00000000, 0x0000, 0, "R600_BLEND", 13, r600_state_pm4_generic, R600_BLEND_names}, { 128, 6, 0x00000000, 0x00000000, 0x0000, 0, "R600_DSA", 16, r600_state_pm4_generic, R600_DSA_names}, { 128, 7, 0x00000000, 0x00000000, 0x0000, 0, "R600_VS_SHADER", 49, r600_state_pm4_shader, R600_VS_SHADER_names}, { 128, 8, 0x00000000, 0x00000000, 0x0000, 0, "R600_PS_SHADER", 39, r600_state_pm4_shader, R600_PS_SHADER_names}, { 128, 9, 0x00030000, 0x00031000, 0x0010, 0, "R600_PS_CONSTANT", 4, r600_state_pm4_generic, R600_PS_CONSTANT_names}, { 128, 265, 0x00031000, 0x00032000, 0x0010, 0, "R600_VS_CONSTANT", 4, r600_state_pm4_generic, R600_VS_CONSTANT_names}, { 128, 521, 0x00038000, 0x00039180, 0x001C, 0, "R600_PS_RESOURCE", 7, r600_state_pm4_resource, R600_PS_RESOURCE_names}, { 128, 681, 0x00039180, 0x0003A300, 0x001C, 0, "R600_VS_RESOURCE", 7, r600_state_pm4_resource, R600_VS_RESOURCE_names}, { 128, 841, 0x00039180, 0x0003A300, 0x001C, 0, "R600_FS_RESOURCE", 7, r600_state_pm4_resource, R600_FS_RESOURCE_names}, { 128, 1001, 0x00039180, 0x0003A300, 0x001C, 0, "R600_GS_RESOURCE", 7, r600_state_pm4_resource, R600_GS_RESOURCE_names}, { 128, 1161, 0x0003C000, 0x0003C0D8, 0x000C, 0, "R600_PS_SAMPLER", 3, r600_state_pm4_generic, R600_PS_SAMPLER_names}, { 128, 1179, 0x0003C0D8, 0x0003C1B0, 0x000C, 0, "R600_VS_SAMPLER", 3, r600_state_pm4_generic, R600_VS_SAMPLER_names}, { 128, 1197, 0x0003C1B0, 0x0003C288, 0x000C, 0, "R600_GS_SAMPLER", 3, r600_state_pm4_generic, R600_GS_SAMPLER_names}, { 128, 1215, 0x0000A400, 0x0000A520, 0x0010, 0, "R600_PS_SAMPLER_BORDER", 4, r600_state_pm4_generic, R600_PS_SAMPLER_BORDER_names}, { 128, 1233, 0x0000A600, 0x0000A720, 0x0010, 0, "R600_VS_SAMPLER_BORDER", 4, r600_state_pm4_generic, R600_VS_SAMPLER_BORDER_names}, { 128, 1251, 0x0000A800, 0x0000A920, 0x0010, 0, "R600_GS_SAMPLER_BORDER", 4, r600_state_pm4_generic, R600_GS_SAMPLER_BORDER_names}, { 128, 1269, 0x00000000, 0x00000000, 0x0000, 0, "R600_CB0", 7, r600_state_pm4_cb0, R600_CB0_names}, { 128, 1270, 0x00000000, 0x00000000, 0x0000, 0, "R600_DB", 6, r600_state_pm4_db, R600_DB_names}, { 128, 1271, 0x00000000, 0x00000000, 0x0000, 0, "R600_VGT", 11, r600_state_pm4_vgt, R600_VGT_names}, { 128, 1272, 0x00000000, 0x00000000, 0x0000, 0, "R600_DRAW", 4, r600_state_pm4_draw, R600_DRAW_names}, }; static struct radeon_type R700_types[] = { { 128, 0, 0x00000000, 0x00000000, 0x0000, 0, "R600_CONFIG", 41, r700_state_pm4_config, R600_CONFIG_names}, { 128, 1, 0x00000000, 0x00000000, 0x0000, 0, "R600_CB_CNTL", 18, r600_state_pm4_generic, R600_CB_CNTL_names}, { 128, 2, 0x00000000, 0x00000000, 0x0000, 0, "R600_RASTERIZER", 21, r600_state_pm4_generic, R600_RASTERIZER_names}, { 128, 3, 0x00000000, 0x00000000, 0x0000, 0, "R600_VIEWPORT", 9, r600_state_pm4_generic, R600_VIEWPORT_names}, { 128, 4, 0x00000000, 0x00000000, 0x0000, 0, "R600_SCISSOR", 19, r600_state_pm4_generic, R600_SCISSOR_names}, { 128, 5, 0x00000000, 0x00000000, 0x0000, 0, "R600_BLEND", 13, r600_state_pm4_generic, R600_BLEND_names}, { 128, 6, 0x00000000, 0x00000000, 0x0000, 0, "R600_DSA", 16, r600_state_pm4_generic, R600_DSA_names}, { 128, 7, 0x00000000, 0x00000000, 0x0000, 0, "R600_VS_SHADER", 49, r600_state_pm4_shader, R600_VS_SHADER_names}, { 128, 8, 0x00000000, 0x00000000, 0x0000, 0, "R600_PS_SHADER", 39, r600_state_pm4_shader, R600_PS_SHADER_names}, { 128, 9, 0x00030000, 0x00031000, 0x0010, 0, "R600_PS_CONSTANT", 4, r600_state_pm4_generic, R600_PS_CONSTANT_names}, { 128, 265, 0x00031000, 0x00032000, 0x0010, 0, "R600_VS_CONSTANT", 4, r600_state_pm4_generic, R600_VS_CONSTANT_names}, { 128, 521, 0x00038000, 0x00039180, 0x001C, 0, "R600_PS_RESOURCE", 7, r600_state_pm4_resource, R600_PS_RESOURCE_names}, { 128, 681, 0x00039180, 0x0003A300, 0x001C, 0, "R600_VS_RESOURCE", 7, r600_state_pm4_resource, R600_VS_RESOURCE_names}, { 128, 841, 0x00039180, 0x0003A300, 0x001C, 0, "R600_FS_RESOURCE", 7, r600_state_pm4_resource, R600_FS_RESOURCE_names}, { 128, 1001, 0x00039180, 0x0003A300, 0x001C, 0, "R600_GS_RESOURCE", 7, r600_state_pm4_resource, R600_GS_RESOURCE_names}, { 128, 1161, 0x0003C000, 0x0003C0D8, 0x000C, 0, "R600_PS_SAMPLER", 3, r600_state_pm4_generic, R600_PS_SAMPLER_names}, { 128, 1179, 0x0003C0D8, 0x0003C1B0, 0x000C, 0, "R600_VS_SAMPLER", 3, r600_state_pm4_generic, R600_VS_SAMPLER_names}, { 128, 1197, 0x0003C1B0, 0x0003C288, 0x000C, 0, "R600_GS_SAMPLER", 3, r600_state_pm4_generic, R600_GS_SAMPLER_names}, { 128, 1215, 0x0000A400, 0x0000A520, 0x0010, 0, "R600_PS_SAMPLER_BORDER", 4, r600_state_pm4_generic, R600_PS_SAMPLER_BORDER_names}, { 128, 1233, 0x0000A600, 0x0000A720, 0x0010, 0, "R600_VS_SAMPLER_BORDER", 4, r600_state_pm4_generic, R600_VS_SAMPLER_BORDER_names}, { 128, 1251, 0x0000A800, 0x0000A920, 0x0010, 0, "R600_GS_SAMPLER_BORDER", 4, r600_state_pm4_generic, R600_GS_SAMPLER_BORDER_names}, { 128, 1269, 0x00000000, 0x00000000, 0x0000, 0, "R600_CB0", 7, r700_state_pm4_cb0, R600_CB0_names}, { 128, 1270, 0x00000000, 0x00000000, 0x0000, 0, "R600_DB", 6, r700_state_pm4_db, R600_DB_names}, { 128, 1271, 0x00000000, 0x00000000, 0x0000, 0, "R600_VGT", 11, r600_state_pm4_vgt, R600_VGT_names}, { 128, 1272, 0x00000000, 0x00000000, 0x0000, 0, "R600_DRAW", 4, r600_state_pm4_draw, R600_DRAW_names}, }; #endif