blob: dfe78799100d710dff431c6da4c5e60927f57be5 [file] [log] [blame]
/*
* GFX_7_2 Register documentation
*
* Copyright (C) 2014 Advanced Micro Devices, Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
#ifndef GFX_7_2_ENUM_H
#define GFX_7_2_ENUM_H
typedef enum SurfaceNumber {
NUMBER_UNORM = 0x0,
NUMBER_SNORM = 0x1,
NUMBER_USCALED = 0x2,
NUMBER_SSCALED = 0x3,
NUMBER_UINT = 0x4,
NUMBER_SINT = 0x5,
NUMBER_SRGB = 0x6,
NUMBER_FLOAT = 0x7,
} SurfaceNumber;
typedef enum SurfaceSwap {
SWAP_STD = 0x0,
SWAP_ALT = 0x1,
SWAP_STD_REV = 0x2,
SWAP_ALT_REV = 0x3,
} SurfaceSwap;
typedef enum CBMode {
CB_DISABLE = 0x0,
CB_NORMAL = 0x1,
CB_ELIMINATE_FAST_CLEAR = 0x2,
CB_RESOLVE = 0x3,
CB_DECOMPRESS = 0x4,
CB_FMASK_DECOMPRESS = 0x5,
} CBMode;
typedef enum RoundMode {
ROUND_BY_HALF = 0x0,
ROUND_TRUNCATE = 0x1,
} RoundMode;
typedef enum SourceFormat {
EXPORT_4C_32BPC = 0x0,
EXPORT_4C_16BPC = 0x1,
EXPORT_2C_32BPC_GR = 0x2,
EXPORT_2C_32BPC_AR = 0x3,
} SourceFormat;
typedef enum BlendOp {
BLEND_ZERO = 0x0,
BLEND_ONE = 0x1,
BLEND_SRC_COLOR = 0x2,
BLEND_ONE_MINUS_SRC_COLOR = 0x3,
BLEND_SRC_ALPHA = 0x4,
BLEND_ONE_MINUS_SRC_ALPHA = 0x5,
BLEND_DST_ALPHA = 0x6,
BLEND_ONE_MINUS_DST_ALPHA = 0x7,
BLEND_DST_COLOR = 0x8,
BLEND_ONE_MINUS_DST_COLOR = 0x9,
BLEND_SRC_ALPHA_SATURATE = 0xa,
BLEND_BOTH_SRC_ALPHA = 0xb,
BLEND_BOTH_INV_SRC_ALPHA = 0xc,
BLEND_CONSTANT_COLOR = 0xd,
BLEND_ONE_MINUS_CONSTANT_COLOR = 0xe,
BLEND_SRC1_COLOR = 0xf,
BLEND_INV_SRC1_COLOR = 0x10,
BLEND_SRC1_ALPHA = 0x11,
BLEND_INV_SRC1_ALPHA = 0x12,
BLEND_CONSTANT_ALPHA = 0x13,
BLEND_ONE_MINUS_CONSTANT_ALPHA = 0x14,
} BlendOp;
typedef enum CombFunc {
COMB_DST_PLUS_SRC = 0x0,
COMB_SRC_MINUS_DST = 0x1,
COMB_MIN_DST_SRC = 0x2,
COMB_MAX_DST_SRC = 0x3,
COMB_DST_MINUS_SRC = 0x4,
} CombFunc;
typedef enum BlendOpt {
FORCE_OPT_AUTO = 0x0,
FORCE_OPT_DISABLE = 0x1,
FORCE_OPT_ENABLE_IF_SRC_A_0 = 0x2,
FORCE_OPT_ENABLE_IF_SRC_RGB_0 = 0x3,
FORCE_OPT_ENABLE_IF_SRC_ARGB_0 = 0x4,
FORCE_OPT_ENABLE_IF_SRC_A_1 = 0x5,
FORCE_OPT_ENABLE_IF_SRC_RGB_1 = 0x6,
FORCE_OPT_ENABLE_IF_SRC_ARGB_1 = 0x7,
} BlendOpt;
typedef enum CmaskCode {
CMASK_CLR00_F0 = 0x0,
CMASK_CLR00_F1 = 0x1,
CMASK_CLR00_F2 = 0x2,
CMASK_CLR00_FX = 0x3,
CMASK_CLR01_F0 = 0x4,
CMASK_CLR01_F1 = 0x5,
CMASK_CLR01_F2 = 0x6,
CMASK_CLR01_FX = 0x7,
CMASK_CLR10_F0 = 0x8,
CMASK_CLR10_F1 = 0x9,
CMASK_CLR10_F2 = 0xa,
CMASK_CLR10_FX = 0xb,
CMASK_CLR11_F0 = 0xc,
CMASK_CLR11_F1 = 0xd,
CMASK_CLR11_F2 = 0xe,
CMASK_CLR11_FX = 0xf,
} CmaskCode;
typedef enum CBPerfSel {
CB_PERF_SEL_NONE = 0x0,
CB_PERF_SEL_BUSY = 0x1,
CB_PERF_SEL_CORE_SCLK_VLD = 0x2,
CB_PERF_SEL_REG_SCLK0_VLD = 0x3,
CB_PERF_SEL_REG_SCLK1_VLD = 0x4,
CB_PERF_SEL_DRAWN_QUAD = 0x5,
CB_PERF_SEL_DRAWN_PIXEL = 0x6,
CB_PERF_SEL_DRAWN_QUAD_FRAGMENT = 0x7,
CB_PERF_SEL_DRAWN_TILE = 0x8,
CB_PERF_SEL_DB_CB_TILE_VALID_READY = 0x9,
CB_PERF_SEL_DB_CB_TILE_VALID_READYB = 0xa,
CB_PERF_SEL_DB_CB_TILE_VALIDB_READY = 0xb,
CB_PERF_SEL_DB_CB_TILE_VALIDB_READYB = 0xc,
CB_PERF_SEL_CM_FC_TILE_VALID_READY = 0xd,
CB_PERF_SEL_CM_FC_TILE_VALID_READYB = 0xe,
CB_PERF_SEL_CM_FC_TILE_VALIDB_READY = 0xf,
CB_PERF_SEL_CM_FC_TILE_VALIDB_READYB = 0x10,
CB_PERF_SEL_MERGE_TILE_ONLY_VALID_READY = 0x11,
CB_PERF_SEL_MERGE_TILE_ONLY_VALID_READYB = 0x12,
CB_PERF_SEL_DB_CB_LQUAD_VALID_READY = 0x13,
CB_PERF_SEL_DB_CB_LQUAD_VALID_READYB = 0x14,
CB_PERF_SEL_DB_CB_LQUAD_VALIDB_READY = 0x15,
CB_PERF_SEL_DB_CB_LQUAD_VALIDB_READYB = 0x16,
CB_PERF_SEL_LQUAD_NO_TILE = 0x17,
CB_PERF_SEL_LQUAD_FORMAT_IS_EXPORT_32_R = 0x18,
CB_PERF_SEL_LQUAD_FORMAT_IS_EXPORT_32_AR = 0x19,
CB_PERF_SEL_LQUAD_FORMAT_IS_EXPORT_32_GR = 0x1a,
CB_PERF_SEL_LQUAD_FORMAT_IS_EXPORT_32_ABGR = 0x1b,
CB_PERF_SEL_LQUAD_FORMAT_IS_EXPORT_FP16_ABGR = 0x1c,
CB_PERF_SEL_LQUAD_FORMAT_IS_EXPORT_SIGNED16_ABGR = 0x1d,
CB_PERF_SEL_LQUAD_FORMAT_IS_EXPORT_UNSIGNED16_ABGR= 0x1e,
CB_PERF_SEL_QUAD_KILLED_BY_EXTRA_PIXEL_EXPORT = 0x1f,
CB_PERF_SEL_QUAD_KILLED_BY_COLOR_INVALID = 0x20,
CB_PERF_SEL_QUAD_KILLED_BY_NULL_TARGET_SHADER_MASK= 0x21,
CB_PERF_SEL_QUAD_KILLED_BY_NULL_SAMPLE_MASK = 0x22,
CB_PERF_SEL_QUAD_KILLED_BY_DISCARD_PIXEL = 0x23,
CB_PERF_SEL_FC_CLEAR_QUAD_VALID_READY = 0x24,
CB_PERF_SEL_FC_CLEAR_QUAD_VALID_READYB = 0x25,
CB_PERF_SEL_FC_CLEAR_QUAD_VALIDB_READY = 0x26,
CB_PERF_SEL_FC_CLEAR_QUAD_VALIDB_READYB = 0x27,
CB_PERF_SEL_FOP_IN_VALID_READY = 0x28,
CB_PERF_SEL_FOP_IN_VALID_READYB = 0x29,
CB_PERF_SEL_FOP_IN_VALIDB_READY = 0x2a,
CB_PERF_SEL_FOP_IN_VALIDB_READYB = 0x2b,
CB_PERF_SEL_FC_CC_QUADFRAG_VALID_READY = 0x2c,
CB_PERF_SEL_FC_CC_QUADFRAG_VALID_READYB = 0x2d,
CB_PERF_SEL_FC_CC_QUADFRAG_VALIDB_READY = 0x2e,
CB_PERF_SEL_FC_CC_QUADFRAG_VALIDB_READYB = 0x2f,
CB_PERF_SEL_CC_IB_SR_FRAG_VALID_READY = 0x30,
CB_PERF_SEL_CC_IB_SR_FRAG_VALID_READYB = 0x31,
CB_PERF_SEL_CC_IB_SR_FRAG_VALIDB_READY = 0x32,
CB_PERF_SEL_CC_IB_SR_FRAG_VALIDB_READYB = 0x33,
CB_PERF_SEL_CC_IB_TB_FRAG_VALID_READY = 0x34,
CB_PERF_SEL_CC_IB_TB_FRAG_VALID_READYB = 0x35,
CB_PERF_SEL_CC_IB_TB_FRAG_VALIDB_READY = 0x36,
CB_PERF_SEL_CC_IB_TB_FRAG_VALIDB_READYB = 0x37,
CB_PERF_SEL_CC_RB_BC_EVENFRAG_VALID_READY = 0x38,
CB_PERF_SEL_CC_RB_BC_EVENFRAG_VALID_READYB = 0x39,
CB_PERF_SEL_CC_RB_BC_EVENFRAG_VALIDB_READY = 0x3a,
CB_PERF_SEL_CC_RB_BC_EVENFRAG_VALIDB_READYB = 0x3b,
CB_PERF_SEL_CC_RB_BC_ODDFRAG_VALID_READY = 0x3c,
CB_PERF_SEL_CC_RB_BC_ODDFRAG_VALID_READYB = 0x3d,
CB_PERF_SEL_CC_RB_BC_ODDFRAG_VALIDB_READY = 0x3e,
CB_PERF_SEL_CC_RB_BC_ODDFRAG_VALIDB_READYB = 0x3f,
CB_PERF_SEL_CC_BC_CS_FRAG_VALID = 0x40,
CB_PERF_SEL_CM_CACHE_HIT = 0x41,
CB_PERF_SEL_CM_CACHE_TAG_MISS = 0x42,
CB_PERF_SEL_CM_CACHE_SECTOR_MISS = 0x43,
CB_PERF_SEL_CM_CACHE_REEVICTION_STALL = 0x44,
CB_PERF_SEL_CM_CACHE_EVICT_NONZERO_INFLIGHT_STALL= 0x45,
CB_PERF_SEL_CM_CACHE_REPLACE_PENDING_EVICT_STALL = 0x46,
CB_PERF_SEL_CM_CACHE_INFLIGHT_COUNTER_MAXIMUM_STALL= 0x47,
CB_PERF_SEL_CM_CACHE_READ_OUTPUT_STALL = 0x48,
CB_PERF_SEL_CM_CACHE_WRITE_OUTPUT_STALL = 0x49,
CB_PERF_SEL_CM_CACHE_ACK_OUTPUT_STALL = 0x4a,
CB_PERF_SEL_CM_CACHE_STALL = 0x4b,
CB_PERF_SEL_CM_CACHE_FLUSH = 0x4c,
CB_PERF_SEL_CM_CACHE_TAGS_FLUSHED = 0x4d,
CB_PERF_SEL_CM_CACHE_SECTORS_FLUSHED = 0x4e,
CB_PERF_SEL_CM_CACHE_DIRTY_SECTORS_FLUSHED = 0x4f,
CB_PERF_SEL_FC_CACHE_HIT = 0x50,
CB_PERF_SEL_FC_CACHE_TAG_MISS = 0x51,
CB_PERF_SEL_FC_CACHE_SECTOR_MISS = 0x52,
CB_PERF_SEL_FC_CACHE_REEVICTION_STALL = 0x53,
CB_PERF_SEL_FC_CACHE_EVICT_NONZERO_INFLIGHT_STALL= 0x54,
CB_PERF_SEL_FC_CACHE_REPLACE_PENDING_EVICT_STALL = 0x55,
CB_PERF_SEL_FC_CACHE_INFLIGHT_COUNTER_MAXIMUM_STALL= 0x56,
CB_PERF_SEL_FC_CACHE_READ_OUTPUT_STALL = 0x57,
CB_PERF_SEL_FC_CACHE_WRITE_OUTPUT_STALL = 0x58,
CB_PERF_SEL_FC_CACHE_ACK_OUTPUT_STALL = 0x59,
CB_PERF_SEL_FC_CACHE_STALL = 0x5a,
CB_PERF_SEL_FC_CACHE_FLUSH = 0x5b,
CB_PERF_SEL_FC_CACHE_TAGS_FLUSHED = 0x5c,
CB_PERF_SEL_FC_CACHE_SECTORS_FLUSHED = 0x5d,
CB_PERF_SEL_FC_CACHE_DIRTY_SECTORS_FLUSHED = 0x5e,
CB_PERF_SEL_CC_CACHE_HIT = 0x5f,
CB_PERF_SEL_CC_CACHE_TAG_MISS = 0x60,
CB_PERF_SEL_CC_CACHE_SECTOR_MISS = 0x61,
CB_PERF_SEL_CC_CACHE_REEVICTION_STALL = 0x62,
CB_PERF_SEL_CC_CACHE_EVICT_NONZERO_INFLIGHT_STALL= 0x63,
CB_PERF_SEL_CC_CACHE_REPLACE_PENDING_EVICT_STALL = 0x64,
CB_PERF_SEL_CC_CACHE_INFLIGHT_COUNTER_MAXIMUM_STALL= 0x65,
CB_PERF_SEL_CC_CACHE_READ_OUTPUT_STALL = 0x66,
CB_PERF_SEL_CC_CACHE_WRITE_OUTPUT_STALL = 0x67,
CB_PERF_SEL_CC_CACHE_ACK_OUTPUT_STALL = 0x68,
CB_PERF_SEL_CC_CACHE_STALL = 0x69,
CB_PERF_SEL_CC_CACHE_FLUSH = 0x6a,
CB_PERF_SEL_CC_CACHE_TAGS_FLUSHED = 0x6b,
CB_PERF_SEL_CC_CACHE_SECTORS_FLUSHED = 0x6c,
CB_PERF_SEL_CC_CACHE_DIRTY_SECTORS_FLUSHED = 0x6d,
CB_PERF_SEL_CC_CACHE_WA_TO_RMW_CONVERSION = 0x6e,
CB_PERF_SEL_CB_TAP_WRREQ_VALID_READY = 0x6f,
CB_PERF_SEL_CB_TAP_WRREQ_VALID_READYB = 0x70,
CB_PERF_SEL_CB_TAP_WRREQ_VALIDB_READY = 0x71,
CB_PERF_SEL_CB_TAP_WRREQ_VALIDB_READYB = 0x72,
CB_PERF_SEL_CM_MC_WRITE_REQUEST = 0x73,
CB_PERF_SEL_FC_MC_WRITE_REQUEST = 0x74,
CB_PERF_SEL_CC_MC_WRITE_REQUEST = 0x75,
CB_PERF_SEL_CM_MC_WRITE_REQUESTS_IN_FLIGHT = 0x76,
CB_PERF_SEL_FC_MC_WRITE_REQUESTS_IN_FLIGHT = 0x77,
CB_PERF_SEL_CC_MC_WRITE_REQUESTS_IN_FLIGHT = 0x78,
CB_PERF_SEL_CB_TAP_RDREQ_VALID_READY = 0x79,
CB_PERF_SEL_CB_TAP_RDREQ_VALID_READYB = 0x7a,
CB_PERF_SEL_CB_TAP_RDREQ_VALIDB_READY = 0x7b,
CB_PERF_SEL_CB_TAP_RDREQ_VALIDB_READYB = 0x7c,
CB_PERF_SEL_CM_MC_READ_REQUEST = 0x7d,
CB_PERF_SEL_FC_MC_READ_REQUEST = 0x7e,
CB_PERF_SEL_CC_MC_READ_REQUEST = 0x7f,
CB_PERF_SEL_CM_MC_READ_REQUESTS_IN_FLIGHT = 0x80,
CB_PERF_SEL_FC_MC_READ_REQUESTS_IN_FLIGHT = 0x81,
CB_PERF_SEL_CC_MC_READ_REQUESTS_IN_FLIGHT = 0x82,
CB_PERF_SEL_CM_TQ_FULL = 0x83,
CB_PERF_SEL_CM_TQ_FIFO_TILE_RESIDENCY_STALL = 0x84,
CB_PERF_SEL_FC_QUAD_RDLAT_FIFO_FULL = 0x85,
CB_PERF_SEL_FC_TILE_RDLAT_FIFO_FULL = 0x86,
CB_PERF_SEL_FC_RDLAT_FIFO_QUAD_RESIDENCY_STALL = 0x87,
CB_PERF_SEL_FOP_FMASK_RAW_STALL = 0x88,
CB_PERF_SEL_FOP_FMASK_BYPASS_STALL = 0x89,
CB_PERF_SEL_CC_SF_FULL = 0x8a,
CB_PERF_SEL_CC_RB_FULL = 0x8b,
CB_PERF_SEL_CC_EVENFIFO_QUAD_RESIDENCY_STALL = 0x8c,
CB_PERF_SEL_CC_ODDFIFO_QUAD_RESIDENCY_STALL = 0x8d,
CB_PERF_SEL_BLENDER_RAW_HAZARD_STALL = 0x8e,
CB_PERF_SEL_EVENT = 0x8f,
CB_PERF_SEL_EVENT_CACHE_FLUSH_TS = 0x90,
CB_PERF_SEL_EVENT_CONTEXT_DONE = 0x91,
CB_PERF_SEL_EVENT_CACHE_FLUSH = 0x92,
CB_PERF_SEL_EVENT_CACHE_FLUSH_AND_INV_TS_EVENT = 0x93,
CB_PERF_SEL_EVENT_CACHE_FLUSH_AND_INV_EVENT = 0x94,
CB_PERF_SEL_EVENT_FLUSH_AND_INV_CB_DATA_TS = 0x95,
CB_PERF_SEL_EVENT_FLUSH_AND_INV_CB_META = 0x96,
CB_PERF_SEL_CC_SURFACE_SYNC = 0x97,
CB_PERF_SEL_CMASK_READ_DATA_0xC = 0x98,
CB_PERF_SEL_CMASK_READ_DATA_0xD = 0x99,
CB_PERF_SEL_CMASK_READ_DATA_0xE = 0x9a,
CB_PERF_SEL_CMASK_READ_DATA_0xF = 0x9b,
CB_PERF_SEL_CMASK_WRITE_DATA_0xC = 0x9c,
CB_PERF_SEL_CMASK_WRITE_DATA_0xD = 0x9d,
CB_PERF_SEL_CMASK_WRITE_DATA_0xE = 0x9e,
CB_PERF_SEL_CMASK_WRITE_DATA_0xF = 0x9f,
CB_PERF_SEL_TWO_PROBE_QUAD_FRAGMENT = 0xa0,
CB_PERF_SEL_EXPORT_32_ABGR_QUAD_FRAGMENT = 0xa1,
CB_PERF_SEL_DUAL_SOURCE_COLOR_QUAD_FRAGMENT = 0xa2,
CB_PERF_SEL_QUAD_HAS_1_FRAGMENT_BEFORE_UPDATE = 0xa3,
CB_PERF_SEL_QUAD_HAS_2_FRAGMENTS_BEFORE_UPDATE = 0xa4,
CB_PERF_SEL_QUAD_HAS_3_FRAGMENTS_BEFORE_UPDATE = 0xa5,
CB_PERF_SEL_QUAD_HAS_4_FRAGMENTS_BEFORE_UPDATE = 0xa6,
CB_PERF_SEL_QUAD_HAS_5_FRAGMENTS_BEFORE_UPDATE = 0xa7,
CB_PERF_SEL_QUAD_HAS_6_FRAGMENTS_BEFORE_UPDATE = 0xa8,
CB_PERF_SEL_QUAD_HAS_7_FRAGMENTS_BEFORE_UPDATE = 0xa9,
CB_PERF_SEL_QUAD_HAS_8_FRAGMENTS_BEFORE_UPDATE = 0xaa,
CB_PERF_SEL_QUAD_HAS_1_FRAGMENT_AFTER_UPDATE = 0xab,
CB_PERF_SEL_QUAD_HAS_2_FRAGMENTS_AFTER_UPDATE = 0xac,
CB_PERF_SEL_QUAD_HAS_3_FRAGMENTS_AFTER_UPDATE = 0xad,
CB_PERF_SEL_QUAD_HAS_4_FRAGMENTS_AFTER_UPDATE = 0xae,
CB_PERF_SEL_QUAD_HAS_5_FRAGMENTS_AFTER_UPDATE = 0xaf,
CB_PERF_SEL_QUAD_HAS_6_FRAGMENTS_AFTER_UPDATE = 0xb0,
CB_PERF_SEL_QUAD_HAS_7_FRAGMENTS_AFTER_UPDATE = 0xb1,
CB_PERF_SEL_QUAD_HAS_8_FRAGMENTS_AFTER_UPDATE = 0xb2,
CB_PERF_SEL_QUAD_ADDED_1_FRAGMENT = 0xb3,
CB_PERF_SEL_QUAD_ADDED_2_FRAGMENTS = 0xb4,
CB_PERF_SEL_QUAD_ADDED_3_FRAGMENTS = 0xb5,
CB_PERF_SEL_QUAD_ADDED_4_FRAGMENTS = 0xb6,
CB_PERF_SEL_QUAD_ADDED_5_FRAGMENTS = 0xb7,
CB_PERF_SEL_QUAD_ADDED_6_FRAGMENTS = 0xb8,
CB_PERF_SEL_QUAD_ADDED_7_FRAGMENTS = 0xb9,
CB_PERF_SEL_QUAD_REMOVED_1_FRAGMENT = 0xba,
CB_PERF_SEL_QUAD_REMOVED_2_FRAGMENTS = 0xbb,
CB_PERF_SEL_QUAD_REMOVED_3_FRAGMENTS = 0xbc,
CB_PERF_SEL_QUAD_REMOVED_4_FRAGMENTS = 0xbd,
CB_PERF_SEL_QUAD_REMOVED_5_FRAGMENTS = 0xbe,
CB_PERF_SEL_QUAD_REMOVED_6_FRAGMENTS = 0xbf,
CB_PERF_SEL_QUAD_REMOVED_7_FRAGMENTS = 0xc0,
CB_PERF_SEL_QUAD_READS_FRAGMENT_0 = 0xc1,
CB_PERF_SEL_QUAD_READS_FRAGMENT_1 = 0xc2,
CB_PERF_SEL_QUAD_READS_FRAGMENT_2 = 0xc3,
CB_PERF_SEL_QUAD_READS_FRAGMENT_3 = 0xc4,
CB_PERF_SEL_QUAD_READS_FRAGMENT_4 = 0xc5,
CB_PERF_SEL_QUAD_READS_FRAGMENT_5 = 0xc6,
CB_PERF_SEL_QUAD_READS_FRAGMENT_6 = 0xc7,
CB_PERF_SEL_QUAD_READS_FRAGMENT_7 = 0xc8,
CB_PERF_SEL_QUAD_WRITES_FRAGMENT_0 = 0xc9,
CB_PERF_SEL_QUAD_WRITES_FRAGMENT_1 = 0xca,
CB_PERF_SEL_QUAD_WRITES_FRAGMENT_2 = 0xcb,
CB_PERF_SEL_QUAD_WRITES_FRAGMENT_3 = 0xcc,
CB_PERF_SEL_QUAD_WRITES_FRAGMENT_4 = 0xcd,
CB_PERF_SEL_QUAD_WRITES_FRAGMENT_5 = 0xce,
CB_PERF_SEL_QUAD_WRITES_FRAGMENT_6 = 0xcf,
CB_PERF_SEL_QUAD_WRITES_FRAGMENT_7 = 0xd0,
CB_PERF_SEL_QUAD_BLEND_OPT_DONT_READ_DST = 0xd1,
CB_PERF_SEL_QUAD_BLEND_OPT_BLEND_BYPASS = 0xd2,
CB_PERF_SEL_QUAD_BLEND_OPT_DISCARD_PIXELS = 0xd3,
CB_PERF_SEL_QUAD_DST_READ_COULD_HAVE_BEEN_OPTIMIZED= 0xd4,
CB_PERF_SEL_QUAD_BLENDING_COULD_HAVE_BEEN_BYPASSED= 0xd5,
CB_PERF_SEL_QUAD_COULD_HAVE_BEEN_DISCARDED = 0xd6,
CB_PERF_SEL_BLEND_OPT_PIXELS_RESULT_EQ_DEST = 0xd7,
CB_PERF_SEL_DRAWN_BUSY = 0xd8,
CB_PERF_SEL_TILE_TO_CMR_REGION_BUSY = 0xd9,
CB_PERF_SEL_CMR_TO_FCR_REGION_BUSY = 0xda,
CB_PERF_SEL_FCR_TO_CCR_REGION_BUSY = 0xdb,
CB_PERF_SEL_CCR_TO_CCW_REGION_BUSY = 0xdc,
CB_PERF_SEL_FC_PF_SLOW_MODE_QUAD_EMPTY_HALF_DROPPED= 0xdd,
CB_PERF_SEL_FC_SEQUENCER_CLEAR = 0xde,
CB_PERF_SEL_FC_SEQUENCER_ELIMINATE_FAST_CLEAR = 0xdf,
CB_PERF_SEL_FC_SEQUENCER_FMASK_DECOMPRESS = 0xe0,
CB_PERF_SEL_FC_SEQUENCER_FMASK_COMPRESSION_DISABLE= 0xe1,
} CBPerfSel;
typedef enum CBPerfOpFilterSel {
CB_PERF_OP_FILTER_SEL_WRITE_ONLY = 0x0,
CB_PERF_OP_FILTER_SEL_NEEDS_DESTINATION = 0x1,
CB_PERF_OP_FILTER_SEL_RESOLVE = 0x2,
CB_PERF_OP_FILTER_SEL_DECOMPRESS = 0x3,
CB_PERF_OP_FILTER_SEL_FMASK_DECOMPRESS = 0x4,
CB_PERF_OP_FILTER_SEL_ELIMINATE_FAST_CLEAR = 0x5,
} CBPerfOpFilterSel;
typedef enum CBPerfClearFilterSel {
CB_PERF_CLEAR_FILTER_SEL_NONCLEAR = 0x0,
CB_PERF_CLEAR_FILTER_SEL_CLEAR = 0x1,
} CBPerfClearFilterSel;
typedef enum CP_RING_ID {
RINGID0 = 0x0,
RINGID1 = 0x1,
RINGID2 = 0x2,
RINGID3 = 0x3,
} CP_RING_ID;
typedef enum CP_PIPE_ID {
PIPE_ID0 = 0x0,
PIPE_ID1 = 0x1,
PIPE_ID2 = 0x2,
PIPE_ID3 = 0x3,
} CP_PIPE_ID;
typedef enum CP_ME_ID {
ME_ID0 = 0x0,
ME_ID1 = 0x1,
ME_ID2 = 0x2,
ME_ID3 = 0x3,
} CP_ME_ID;
typedef enum SPM_PERFMON_STATE {
STRM_PERFMON_STATE_DISABLE_AND_RESET = 0x0,
STRM_PERFMON_STATE_START_COUNTING = 0x1,
STRM_PERFMON_STATE_STOP_COUNTING = 0x2,
STRM_PERFMON_STATE_RESERVED_3 = 0x3,
STRM_PERFMON_STATE_DISABLE_AND_RESET_PHANTOM = 0x4,
STRM_PERFMON_STATE_COUNT_AND_DUMP_PHANTOM = 0x5,
} SPM_PERFMON_STATE;
typedef enum CP_PERFMON_STATE {
CP_PERFMON_STATE_DISABLE_AND_RESET = 0x0,
CP_PERFMON_STATE_START_COUNTING = 0x1,
CP_PERFMON_STATE_STOP_COUNTING = 0x2,
CP_PERFMON_STATE_RESERVED_3 = 0x3,
CP_PERFMON_STATE_DISABLE_AND_RESET_PHANTOM = 0x4,
CP_PERFMON_STATE_COUNT_AND_DUMP_PHANTOM = 0x5,
} CP_PERFMON_STATE;
typedef enum CP_PERFMON_ENABLE_MODE {
CP_PERFMON_ENABLE_MODE_ALWAYS_COUNT = 0x0,
CP_PERFMON_ENABLE_MODE_RESERVED_1 = 0x1,
CP_PERFMON_ENABLE_MODE_COUNT_CONTEXT_TRUE = 0x2,
CP_PERFMON_ENABLE_MODE_COUNT_CONTEXT_FALSE = 0x3,
} CP_PERFMON_ENABLE_MODE;
typedef enum CPG_PERFCOUNT_SEL {
CPG_PERF_SEL_ALWAYS_COUNT = 0x0,
CPG_PERF_SEL_RBIU_FIFO_FULL = 0x1,
CPG_PERF_SEL_CSF_RTS_BUT_MIU_NOT_RTR = 0x2,
CPG_PERF_SEL_CSF_ST_BASE_SIZE_FIFO_FULL = 0x3,
CPG_PERF_SEL_CP_GRBM_DWORDS_SENT = 0x4,
CPG_PERF_SEL_ME_PARSER_BUSY = 0x5,
CPG_PERF_SEL_COUNT_TYPE0_PACKETS = 0x6,
CPG_PERF_SEL_COUNT_TYPE3_PACKETS = 0x7,
CPG_PERF_SEL_CSF_FETCHING_CMD_BUFFERS = 0x8,
CPG_PERF_SEL_CP_GRBM_OUT_OF_CREDITS = 0x9,
CPG_PERF_SEL_CP_PFP_GRBM_OUT_OF_CREDITS = 0xa,
CPG_PERF_SEL_CP_GDS_GRBM_OUT_OF_CREDITS = 0xb,
CPG_PERF_SEL_RCIU_STALLED_ON_ME_READ = 0xc,
CPG_PERF_SEL_RCIU_STALLED_ON_DMA_READ = 0xd,
CPG_PERF_SEL_SSU_STALLED_ON_ACTIVE_CNTX = 0xe,
CPG_PERF_SEL_SSU_STALLED_ON_CLEAN_SIGNALS = 0xf,
CPG_PERF_SEL_QU_STALLED_ON_EOP_DONE_PULSE = 0x10,
CPG_PERF_SEL_QU_STALLED_ON_EOP_DONE_WR_CONFIRM = 0x11,
CPG_PERF_SEL_PFP_STALLED_ON_CSF_READY = 0x12,
CPG_PERF_SEL_PFP_STALLED_ON_MEQ_READY = 0x13,
CPG_PERF_SEL_PFP_STALLED_ON_RCIU_READY = 0x14,
CPG_PERF_SEL_PFP_STALLED_FOR_DATA_FROM_ROQ = 0x15,
CPG_PERF_SEL_ME_STALLED_FOR_DATA_FROM_PFP = 0x16,
CPG_PERF_SEL_ME_STALLED_FOR_DATA_FROM_STQ = 0x17,
CPG_PERF_SEL_ME_STALLED_ON_NO_AVAIL_GFX_CNTX = 0x18,
CPG_PERF_SEL_ME_STALLED_WRITING_TO_RCIU = 0x19,
CPG_PERF_SEL_ME_STALLED_WRITING_CONSTANTS = 0x1a,
CPG_PERF_SEL_ME_STALLED_ON_PARTIAL_FLUSH = 0x1b,
CPG_PERF_SEL_ME_WAIT_ON_CE_COUNTER = 0x1c,
CPG_PERF_SEL_ME_WAIT_ON_AVAIL_BUFFER = 0x1d,
CPG_PERF_SEL_SEMAPHORE_BUSY_POLLING_FOR_PASS = 0x1e,
CPG_PERF_SEL_LOAD_STALLED_ON_SET_COHERENCY = 0x1f,
CPG_PERF_SEL_DYNAMIC_CLK_VALID = 0x20,
CPG_PERF_SEL_REGISTER_CLK_VALID = 0x21,
CPG_PERF_SEL_MIU_WRITE_REQUEST_SENT = 0x22,
CPG_PERF_SEL_MIU_READ_REQUEST_SENT = 0x23,
CPG_PERF_SEL_CE_STALL_RAM_DUMP = 0x24,
CPG_PERF_SEL_CE_STALL_RAM_WRITE = 0x25,
CPG_PERF_SEL_CE_STALL_ON_INC_FIFO = 0x26,
CPG_PERF_SEL_CE_STALL_ON_WR_RAM_FIFO = 0x27,
CPG_PERF_SEL_CE_STALL_ON_DATA_FROM_MIU = 0x28,
CPG_PERF_SEL_CE_STALL_ON_DATA_FROM_ROQ = 0x29,
CPG_PERF_SEL_CE_STALL_ON_CE_BUFFER_FLAG = 0x2a,
CPG_PERF_SEL_CE_STALL_ON_DE_COUNTER = 0x2b,
CPG_PERF_SEL_TCIU_STALL_WAIT_ON_FREE = 0x2c,
CPG_PERF_SEL_TCIU_STALL_WAIT_ON_TAGS = 0x2d,
} CPG_PERFCOUNT_SEL;
typedef enum CPF_PERFCOUNT_SEL {
CPF_PERF_SEL_ALWAYS_COUNT = 0x0,
CPF_PERF_SEL_MIU_STALLED_WAITING_RDREQ_FREE = 0x1,
CPF_PERF_SEL_TCIU_STALLED_WAITING_ON_FREE = 0x2,
CPF_PERF_SEL_TCIU_STALLED_WAITING_ON_TAGS = 0x3,
CPF_PERF_SEL_CSF_BUSY_FOR_FETCHING_RING = 0x4,
CPF_PERF_SEL_CSF_BUSY_FOR_FETCHING_IB1 = 0x5,
CPF_PERF_SEL_CSF_BUSY_FOR_FETCHING_IB2 = 0x6,
CPF_PERF_SEL_CSF_BUSY_FOR_FECTHINC_STATE = 0x7,
CPF_PERF_SEL_MIU_BUSY_FOR_OUTSTANDING_TAGS = 0x8,
CPF_PERF_SEL_CSF_RTS_MIU_NOT_RTR = 0x9,
CPF_PERF_SEL_CSF_STATE_FIFO_NOT_RTR = 0xa,
CPF_PERF_SEL_CSF_FETCHING_CMD_BUFFERS = 0xb,
CPF_PERF_SEL_GRBM_DWORDS_SENT = 0xc,
CPF_PERF_SEL_DYNAMIC_CLOCK_VALID = 0xd,
CPF_PERF_SEL_REGISTER_CLOCK_VALID = 0xe,
CPF_PERF_SEL_MIU_WRITE_REQUEST_SEND = 0xf,
CPF_PERF_SEL_MIU_READ_REQUEST_SEND = 0x10,
} CPF_PERFCOUNT_SEL;
typedef enum CPC_PERFCOUNT_SEL {
CPC_PERF_SEL_ALWAYS_COUNT = 0x0,
CPC_PERF_SEL_RCIU_STALL_WAIT_ON_FREE = 0x1,
CPC_PERF_SEL_RCIU_STALL_PRIV_VIOLATION = 0x2,
CPC_PERF_SEL_MIU_STALL_ON_RDREQ_FREE = 0x3,
CPC_PERF_SEL_MIU_STALL_ON_WRREQ_FREE = 0x4,
CPC_PERF_SEL_TCIU_STALL_WAIT_ON_FREE = 0x5,
CPC_PERF_SEL_ME1_STALL_WAIT_ON_RCIU_READY = 0x6,
CPC_PERF_SEL_ME1_STALL_WAIT_ON_RCIU_READY_PERF = 0x7,
CPC_PERF_SEL_ME1_STALL_WAIT_ON_RCIU_READ = 0x8,
CPC_PERF_SEL_ME1_STALL_WAIT_ON_MIU_READ = 0x9,
CPC_PERF_SEL_ME1_STALL_WAIT_ON_MIU_WRITE = 0xa,
CPC_PERF_SEL_ME1_STALL_ON_DATA_FROM_ROQ = 0xb,
CPC_PERF_SEL_ME1_STALL_ON_DATA_FROM_ROQ_PERF = 0xc,
CPC_PERF_SEL_ME1_BUSY_FOR_PACKET_DECODE = 0xd,
CPC_PERF_SEL_ME2_STALL_WAIT_ON_RCIU_READY = 0xe,
CPC_PERF_SEL_ME2_STALL_WAIT_ON_RCIU_READY_PERF = 0xf,
CPC_PERF_SEL_ME2_STALL_WAIT_ON_RCIU_READ = 0x10,
CPC_PERF_SEL_ME2_STALL_WAIT_ON_MIU_READ = 0x11,
CPC_PERF_SEL_ME2_STALL_WAIT_ON_MIU_WRITE = 0x12,
CPC_PERF_SEL_ME2_STALL_ON_DATA_FROM_ROQ = 0x13,
CPC_PERF_SEL_ME2_STALL_ON_DATA_FROM_ROQ_PERF = 0x14,
CPC_PERF_SEL_ME2_BUSY_FOR_PACKET_DECODE = 0x15,
} CPC_PERFCOUNT_SEL;
typedef enum CP_ALPHA_TAG_RAM_SEL {
CPG_TAG_RAM = 0x0,
CPC_TAG_RAM = 0x1,
CPF_TAG_RAM = 0x2,
RSV_TAG_RAM = 0x3,
} CP_ALPHA_TAG_RAM_SEL;
#define SEM_ECC_ERROR 0x0
#define SEM_RESERVED 0x1
#define SEM_FAILED 0x2
#define SEM_PASSED 0x3
#define IQ_QUEUE_SLEEP 0x0
#define IQ_OFFLOAD_RETRY 0x1
#define IQ_SCH_WAVE_MSG 0x2
#define IQ_SEM_REARM 0x3
#define IQ_DEQUEUE_RETRY 0x4
#define IQ_INTR_TYPE_PQ 0x0
#define IQ_INTR_TYPE_IB 0x1
#define IQ_INTR_TYPE_MQD 0x2
#define VMID_SZ 0x4
#define CONFIG_SPACE_START 0x2000
#define CONFIG_SPACE_END 0x9fff
#define CONFIG_SPACE1_START 0x2000
#define CONFIG_SPACE1_END 0x2bff
#define CONFIG_SPACE2_START 0x3000
#define CONFIG_SPACE2_END 0x9fff
#define UCONFIG_SPACE_START 0xc000
#define UCONFIG_SPACE_END 0xffff
#define PERSISTENT_SPACE_START 0x2c00
#define PERSISTENT_SPACE_END 0x2fff
#define CONTEXT_SPACE_START 0xa000
#define CONTEXT_SPACE_END 0xbfff
typedef enum ForceControl {
FORCE_OFF = 0x0,
FORCE_ENABLE = 0x1,
FORCE_DISABLE = 0x2,
FORCE_RESERVED = 0x3,
} ForceControl;
typedef enum ZSamplePosition {
Z_SAMPLE_CENTER = 0x0,
Z_SAMPLE_CENTROID = 0x1,
} ZSamplePosition;
typedef enum ZOrder {
LATE_Z = 0x0,
EARLY_Z_THEN_LATE_Z = 0x1,
RE_Z = 0x2,
EARLY_Z_THEN_RE_Z = 0x3,
} ZOrder;
typedef enum ZpassControl {
ZPASS_DISABLE = 0x0,
ZPASS_SAMPLES = 0x1,
ZPASS_PIXELS = 0x2,
} ZpassControl;
typedef enum ZModeForce {
NO_FORCE = 0x0,
FORCE_EARLY_Z = 0x1,
FORCE_LATE_Z = 0x2,
FORCE_RE_Z = 0x3,
} ZModeForce;
typedef enum ZLimitSumm {
FORCE_SUMM_OFF = 0x0,
FORCE_SUMM_MINZ = 0x1,
FORCE_SUMM_MAXZ = 0x2,
FORCE_SUMM_BOTH = 0x3,
} ZLimitSumm;
typedef enum CompareFrag {
FRAG_NEVER = 0x0,
FRAG_LESS = 0x1,
FRAG_EQUAL = 0x2,
FRAG_LEQUAL = 0x3,
FRAG_GREATER = 0x4,
FRAG_NOTEQUAL = 0x5,
FRAG_GEQUAL = 0x6,
FRAG_ALWAYS = 0x7,
} CompareFrag;
typedef enum StencilOp {
STENCIL_KEEP = 0x0,
STENCIL_ZERO = 0x1,
STENCIL_ONES = 0x2,
STENCIL_REPLACE_TEST = 0x3,
STENCIL_REPLACE_OP = 0x4,
STENCIL_ADD_CLAMP = 0x5,
STENCIL_SUB_CLAMP = 0x6,
STENCIL_INVERT = 0x7,
STENCIL_ADD_WRAP = 0x8,
STENCIL_SUB_WRAP = 0x9,
STENCIL_AND = 0xa,
STENCIL_OR = 0xb,
STENCIL_XOR = 0xc,
STENCIL_NAND = 0xd,
STENCIL_NOR = 0xe,
STENCIL_XNOR = 0xf,
} StencilOp;
typedef enum ConservativeZExport {
EXPORT_ANY_Z = 0x0,
EXPORT_LESS_THAN_Z = 0x1,
EXPORT_GREATER_THAN_Z = 0x2,
EXPORT_RESERVED = 0x3,
} ConservativeZExport;
typedef enum DbPSLControl {
PSLC_AUTO = 0x0,
PSLC_ON_HANG_ONLY = 0x1,
PSLC_ASAP = 0x2,
PSLC_COUNTDOWN = 0x3,
} DbPSLControl;
typedef enum PerfCounter_Vals {
DB_PERF_SEL_SC_DB_tile_sends = 0x0,
DB_PERF_SEL_SC_DB_tile_busy = 0x1,
DB_PERF_SEL_SC_DB_tile_stalls = 0x2,
DB_PERF_SEL_SC_DB_tile_events = 0x3,
DB_PERF_SEL_SC_DB_tile_tiles = 0x4,
DB_PERF_SEL_SC_DB_tile_covered = 0x5,
DB_PERF_SEL_hiz_tc_read_starved = 0x6,
DB_PERF_SEL_hiz_tc_write_stall = 0x7,
DB_PERF_SEL_hiz_qtiles_culled = 0x8,
DB_PERF_SEL_his_qtiles_culled = 0x9,
DB_PERF_SEL_DB_SC_tile_sends = 0xa,
DB_PERF_SEL_DB_SC_tile_busy = 0xb,
DB_PERF_SEL_DB_SC_tile_stalls = 0xc,
DB_PERF_SEL_DB_SC_tile_df_stalls = 0xd,
DB_PERF_SEL_DB_SC_tile_tiles = 0xe,
DB_PERF_SEL_DB_SC_tile_culled = 0xf,
DB_PERF_SEL_DB_SC_tile_hier_kill = 0x10,
DB_PERF_SEL_DB_SC_tile_fast_ops = 0x11,
DB_PERF_SEL_DB_SC_tile_no_ops = 0x12,
DB_PERF_SEL_DB_SC_tile_tile_rate = 0x13,
DB_PERF_SEL_DB_SC_tile_ssaa_kill = 0x14,
DB_PERF_SEL_DB_SC_tile_fast_z_ops = 0x15,
DB_PERF_SEL_DB_SC_tile_fast_stencil_ops = 0x16,
DB_PERF_SEL_SC_DB_quad_sends = 0x17,
DB_PERF_SEL_SC_DB_quad_busy = 0x18,
DB_PERF_SEL_SC_DB_quad_squads = 0x19,
DB_PERF_SEL_SC_DB_quad_tiles = 0x1a,
DB_PERF_SEL_SC_DB_quad_pixels = 0x1b,
DB_PERF_SEL_SC_DB_quad_killed_tiles = 0x1c,
DB_PERF_SEL_DB_SC_quad_sends = 0x1d,
DB_PERF_SEL_DB_SC_quad_busy = 0x1e,
DB_PERF_SEL_DB_SC_quad_stalls = 0x1f,
DB_PERF_SEL_DB_SC_quad_tiles = 0x20,
DB_PERF_SEL_DB_SC_quad_lit_quad = 0x21,
DB_PERF_SEL_DB_CB_tile_sends = 0x22,
DB_PERF_SEL_DB_CB_tile_busy = 0x23,
DB_PERF_SEL_DB_CB_tile_stalls = 0x24,
DB_PERF_SEL_SX_DB_quad_sends = 0x25,
DB_PERF_SEL_SX_DB_quad_busy = 0x26,
DB_PERF_SEL_SX_DB_quad_stalls = 0x27,
DB_PERF_SEL_SX_DB_quad_quads = 0x28,
DB_PERF_SEL_SX_DB_quad_pixels = 0x29,
DB_PERF_SEL_SX_DB_quad_exports = 0x2a,
DB_PERF_SEL_SH_quads_outstanding_sum = 0x2b,
DB_PERF_SEL_DB_CB_lquad_sends = 0x2c,
DB_PERF_SEL_DB_CB_lquad_busy = 0x2d,
DB_PERF_SEL_DB_CB_lquad_stalls = 0x2e,
DB_PERF_SEL_DB_CB_lquad_quads = 0x2f,
DB_PERF_SEL_tile_rd_sends = 0x30,
DB_PERF_SEL_mi_tile_rd_outstanding_sum = 0x31,
DB_PERF_SEL_quad_rd_sends = 0x32,
DB_PERF_SEL_quad_rd_busy = 0x33,
DB_PERF_SEL_quad_rd_mi_stall = 0x34,
DB_PERF_SEL_quad_rd_rw_collision = 0x35,
DB_PERF_SEL_quad_rd_tag_stall = 0x36,
DB_PERF_SEL_quad_rd_32byte_reqs = 0x37,
DB_PERF_SEL_quad_rd_panic = 0x38,
DB_PERF_SEL_mi_quad_rd_outstanding_sum = 0x39,
DB_PERF_SEL_quad_rdret_sends = 0x3a,
DB_PERF_SEL_quad_rdret_busy = 0x3b,
DB_PERF_SEL_tile_wr_sends = 0x3c,
DB_PERF_SEL_tile_wr_acks = 0x3d,
DB_PERF_SEL_mi_tile_wr_outstanding_sum = 0x3e,
DB_PERF_SEL_quad_wr_sends = 0x3f,
DB_PERF_SEL_quad_wr_busy = 0x40,
DB_PERF_SEL_quad_wr_mi_stall = 0x41,
DB_PERF_SEL_quad_wr_coherency_stall = 0x42,
DB_PERF_SEL_quad_wr_acks = 0x43,
DB_PERF_SEL_mi_quad_wr_outstanding_sum = 0x44,
DB_PERF_SEL_Tile_Cache_misses = 0x45,
DB_PERF_SEL_Tile_Cache_hits = 0x46,
DB_PERF_SEL_Tile_Cache_flushes = 0x47,
DB_PERF_SEL_Tile_Cache_surface_stall = 0x48,
DB_PERF_SEL_Tile_Cache_starves = 0x49,
DB_PERF_SEL_Tile_Cache_mem_return_starve = 0x4a,
DB_PERF_SEL_tcp_dispatcher_reads = 0x4b,
DB_PERF_SEL_tcp_prefetcher_reads = 0x4c,
DB_PERF_SEL_tcp_preloader_reads = 0x4d,
DB_PERF_SEL_tcp_dispatcher_flushes = 0x4e,
DB_PERF_SEL_tcp_prefetcher_flushes = 0x4f,
DB_PERF_SEL_tcp_preloader_flushes = 0x50,
DB_PERF_SEL_Depth_Tile_Cache_sends = 0x51,
DB_PERF_SEL_Depth_Tile_Cache_busy = 0x52,
DB_PERF_SEL_Depth_Tile_Cache_starves = 0x53,
DB_PERF_SEL_Depth_Tile_Cache_dtile_locked = 0x54,
DB_PERF_SEL_Depth_Tile_Cache_alloc_stall = 0x55,
DB_PERF_SEL_Depth_Tile_Cache_misses = 0x56,
DB_PERF_SEL_Depth_Tile_Cache_hits = 0x57,
DB_PERF_SEL_Depth_Tile_Cache_flushes = 0x58,
DB_PERF_SEL_Depth_Tile_Cache_noop_tile = 0x59,
DB_PERF_SEL_Depth_Tile_Cache_detailed_noop = 0x5a,
DB_PERF_SEL_Depth_Tile_Cache_event = 0x5b,
DB_PERF_SEL_Depth_Tile_Cache_tile_frees = 0x5c,
DB_PERF_SEL_Depth_Tile_Cache_data_frees = 0x5d,
DB_PERF_SEL_Depth_Tile_Cache_mem_return_starve = 0x5e,
DB_PERF_SEL_Stencil_Cache_misses = 0x5f,
DB_PERF_SEL_Stencil_Cache_hits = 0x60,
DB_PERF_SEL_Stencil_Cache_flushes = 0x61,
DB_PERF_SEL_Stencil_Cache_starves = 0x62,
DB_PERF_SEL_Stencil_Cache_frees = 0x63,
DB_PERF_SEL_Z_Cache_separate_Z_misses = 0x64,
DB_PERF_SEL_Z_Cache_separate_Z_hits = 0x65,
DB_PERF_SEL_Z_Cache_separate_Z_flushes = 0x66,
DB_PERF_SEL_Z_Cache_separate_Z_starves = 0x67,
DB_PERF_SEL_Z_Cache_pmask_misses = 0x68,
DB_PERF_SEL_Z_Cache_pmask_hits = 0x69,
DB_PERF_SEL_Z_Cache_pmask_flushes = 0x6a,
DB_PERF_SEL_Z_Cache_pmask_starves = 0x6b,
DB_PERF_SEL_Z_Cache_frees = 0x6c,
DB_PERF_SEL_Plane_Cache_misses = 0x6d,
DB_PERF_SEL_Plane_Cache_hits = 0x6e,
DB_PERF_SEL_Plane_Cache_flushes = 0x6f,
DB_PERF_SEL_Plane_Cache_starves = 0x70,
DB_PERF_SEL_Plane_Cache_frees = 0x71,
DB_PERF_SEL_flush_expanded_stencil = 0x72,
DB_PERF_SEL_flush_compressed_stencil = 0x73,
DB_PERF_SEL_flush_single_stencil = 0x74,
DB_PERF_SEL_planes_flushed = 0x75,
DB_PERF_SEL_flush_1plane = 0x76,
DB_PERF_SEL_flush_2plane = 0x77,
DB_PERF_SEL_flush_3plane = 0x78,
DB_PERF_SEL_flush_4plane = 0x79,
DB_PERF_SEL_flush_5plane = 0x7a,
DB_PERF_SEL_flush_6plane = 0x7b,
DB_PERF_SEL_flush_7plane = 0x7c,
DB_PERF_SEL_flush_8plane = 0x7d,
DB_PERF_SEL_flush_9plane = 0x7e,
DB_PERF_SEL_flush_10plane = 0x7f,
DB_PERF_SEL_flush_11plane = 0x80,
DB_PERF_SEL_flush_12plane = 0x81,
DB_PERF_SEL_flush_13plane = 0x82,
DB_PERF_SEL_flush_14plane = 0x83,
DB_PERF_SEL_flush_15plane = 0x84,
DB_PERF_SEL_flush_16plane = 0x85,
DB_PERF_SEL_flush_expanded_z = 0x86,
DB_PERF_SEL_earlyZ_waiting_for_postZ_done = 0x87,
DB_PERF_SEL_reZ_waiting_for_postZ_done = 0x88,
DB_PERF_SEL_dk_tile_sends = 0x89,
DB_PERF_SEL_dk_tile_busy = 0x8a,
DB_PERF_SEL_dk_tile_quad_starves = 0x8b,
DB_PERF_SEL_dk_tile_stalls = 0x8c,
DB_PERF_SEL_dk_squad_sends = 0x8d,
DB_PERF_SEL_dk_squad_busy = 0x8e,
DB_PERF_SEL_dk_squad_stalls = 0x8f,
DB_PERF_SEL_Op_Pipe_Busy = 0x90,
DB_PERF_SEL_Op_Pipe_MC_Read_stall = 0x91,
DB_PERF_SEL_qc_busy = 0x92,
DB_PERF_SEL_qc_xfc = 0x93,
DB_PERF_SEL_qc_conflicts = 0x94,
DB_PERF_SEL_qc_full_stall = 0x95,
DB_PERF_SEL_qc_in_preZ_tile_stalls_postZ = 0x96,
DB_PERF_SEL_qc_in_postZ_tile_stalls_preZ = 0x97,
DB_PERF_SEL_tsc_insert_summarize_stall = 0x98,
DB_PERF_SEL_tl_busy = 0x99,
DB_PERF_SEL_tl_dtc_read_starved = 0x9a,
DB_PERF_SEL_tl_z_fetch_stall = 0x9b,
DB_PERF_SEL_tl_stencil_stall = 0x9c,
DB_PERF_SEL_tl_z_decompress_stall = 0x9d,
DB_PERF_SEL_tl_stencil_locked_stall = 0x9e,
DB_PERF_SEL_tl_events = 0x9f,
DB_PERF_SEL_tl_summarize_squads = 0xa0,
DB_PERF_SEL_tl_flush_expand_squads = 0xa1,
DB_PERF_SEL_tl_expand_squads = 0xa2,
DB_PERF_SEL_tl_preZ_squads = 0xa3,
DB_PERF_SEL_tl_postZ_squads = 0xa4,
DB_PERF_SEL_tl_preZ_noop_squads = 0xa5,
DB_PERF_SEL_tl_postZ_noop_squads = 0xa6,
DB_PERF_SEL_tl_tile_ops = 0xa7,
DB_PERF_SEL_tl_in_xfc = 0xa8,
DB_PERF_SEL_tl_in_single_stencil_expand_stall = 0xa9,
DB_PERF_SEL_tl_in_fast_z_stall = 0xaa,
DB_PERF_SEL_tl_out_xfc = 0xab,
DB_PERF_SEL_tl_out_squads = 0xac,
DB_PERF_SEL_zf_plane_multicycle = 0xad,
DB_PERF_SEL_PostZ_Samples_passing_Z = 0xae,
DB_PERF_SEL_PostZ_Samples_failing_Z = 0xaf,
DB_PERF_SEL_PostZ_Samples_failing_S = 0xb0,
DB_PERF_SEL_PreZ_Samples_passing_Z = 0xb1,
DB_PERF_SEL_PreZ_Samples_failing_Z = 0xb2,
DB_PERF_SEL_PreZ_Samples_failing_S = 0xb3,
DB_PERF_SEL_ts_tc_update_stall = 0xb4,
DB_PERF_SEL_sc_kick_start = 0xb5,
DB_PERF_SEL_sc_kick_end = 0xb6,
DB_PERF_SEL_clock_reg_active = 0xb7,
DB_PERF_SEL_clock_main_active = 0xb8,
DB_PERF_SEL_clock_mem_export_active = 0xb9,
DB_PERF_SEL_esr_ps_out_busy = 0xba,
DB_PERF_SEL_esr_ps_lqf_busy = 0xbb,
DB_PERF_SEL_esr_ps_lqf_stall = 0xbc,
DB_PERF_SEL_etr_out_send = 0xbd,
DB_PERF_SEL_etr_out_busy = 0xbe,
DB_PERF_SEL_etr_out_ltile_probe_fifo_full_stall = 0xbf,
DB_PERF_SEL_etr_out_cb_tile_stall = 0xc0,
DB_PERF_SEL_etr_out_esr_stall = 0xc1,
DB_PERF_SEL_esr_ps_sqq_busy = 0xc2,
DB_PERF_SEL_esr_ps_sqq_stall = 0xc3,
DB_PERF_SEL_esr_eot_fwd_busy = 0xc4,
DB_PERF_SEL_esr_eot_fwd_holding_squad = 0xc5,
DB_PERF_SEL_esr_eot_fwd_forward = 0xc6,
DB_PERF_SEL_esr_sqq_zi_busy = 0xc7,
DB_PERF_SEL_esr_sqq_zi_stall = 0xc8,
DB_PERF_SEL_postzl_sq_pt_busy = 0xc9,
DB_PERF_SEL_postzl_sq_pt_stall = 0xca,
DB_PERF_SEL_postzl_se_busy = 0xcb,
DB_PERF_SEL_postzl_se_stall = 0xcc,
DB_PERF_SEL_postzl_partial_launch = 0xcd,
DB_PERF_SEL_postzl_full_launch = 0xce,
DB_PERF_SEL_postzl_partial_waiting = 0xcf,
DB_PERF_SEL_postzl_tile_mem_stall = 0xd0,
DB_PERF_SEL_postzl_tile_init_stall = 0xd1,
DB_PEFF_SEL_prezl_tile_mem_stall = 0xd2,
DB_PERF_SEL_prezl_tile_init_stall = 0xd3,
DB_PERF_SEL_dtt_sm_clash_stall = 0xd4,
DB_PERF_SEL_dtt_sm_slot_stall = 0xd5,
DB_PERF_SEL_dtt_sm_miss_stall = 0xd6,
DB_PERF_SEL_mi_rdreq_busy = 0xd7,
DB_PERF_SEL_mi_rdreq_stall = 0xd8,
DB_PERF_SEL_mi_wrreq_busy = 0xd9,
DB_PERF_SEL_mi_wrreq_stall = 0xda,
DB_PERF_SEL_recomp_tile_to_1zplane_no_fastop = 0xdb,
DB_PERF_SEL_dkg_tile_rate_tile = 0xdc,
DB_PERF_SEL_prezl_src_in_sends = 0xdd,
DB_PERF_SEL_prezl_src_in_stall = 0xde,
DB_PERF_SEL_prezl_src_in_squads = 0xdf,
DB_PERF_SEL_prezl_src_in_squads_unrolled = 0xe0,
DB_PERF_SEL_prezl_src_in_tile_rate = 0xe1,
DB_PERF_SEL_prezl_src_in_tile_rate_unrolled = 0xe2,
DB_PERF_SEL_prezl_src_out_stall = 0xe3,
DB_PERF_SEL_postzl_src_in_sends = 0xe4,
DB_PERF_SEL_postzl_src_in_stall = 0xe5,
DB_PERF_SEL_postzl_src_in_squads = 0xe6,
DB_PERF_SEL_postzl_src_in_squads_unrolled = 0xe7,
DB_PERF_SEL_postzl_src_in_tile_rate = 0xe8,
DB_PERF_SEL_postzl_src_in_tile_rate_unrolled = 0xe9,
DB_PERF_SEL_postzl_src_out_stall = 0xea,
DB_PERF_SEL_esr_ps_src_in_sends = 0xeb,
DB_PERF_SEL_esr_ps_src_in_stall = 0xec,
DB_PERF_SEL_esr_ps_src_in_squads = 0xed,
DB_PERF_SEL_esr_ps_src_in_squads_unrolled = 0xee,
DB_PERF_SEL_esr_ps_src_in_tile_rate = 0xef,
DB_PERF_SEL_esr_ps_src_in_tile_rate_unrolled = 0xf0,
DB_PERF_SEL_esr_ps_src_in_tile_rate_unrolled_to_pixel_rate= 0xf1,
DB_PERF_SEL_esr_ps_src_out_stall = 0xf2,
DB_PERF_SEL_depth_bounds_qtiles_culled = 0xf3,
DB_PERF_SEL_PreZ_Samples_failing_DB = 0xf4,
DB_PERF_SEL_PostZ_Samples_failing_DB = 0xf5,
DB_PERF_SEL_flush_compressed = 0xf6,
DB_PERF_SEL_flush_plane_le4 = 0xf7,
DB_PERF_SEL_tiles_z_fully_summarized = 0xf8,
DB_PERF_SEL_tiles_stencil_fully_summarized = 0xf9,
DB_PERF_SEL_tiles_z_clear_on_expclear = 0xfa,
DB_PERF_SEL_tiles_s_clear_on_expclear = 0xfb,
DB_PERF_SEL_tiles_decomp_on_expclear = 0xfc,
DB_PERF_SEL_tiles_compressed_to_decompressed = 0xfd,
DB_PERF_SEL_Op_Pipe_Prez_Busy = 0xfe,
DB_PERF_SEL_Op_Pipe_Postz_Busy = 0xff,
DB_PERF_SEL_di_dt_stall = 0x100,
} PerfCounter_Vals;
typedef enum RingCounterControl {
COUNTER_RING_SPLIT = 0x0,
COUNTER_RING_0 = 0x1,
COUNTER_RING_1 = 0x2,
} RingCounterControl;
typedef enum PixelPipeCounterId {
PIXEL_PIPE_OCCLUSION_COUNT_0 = 0x0,
PIXEL_PIPE_OCCLUSION_COUNT_1 = 0x1,
PIXEL_PIPE_OCCLUSION_COUNT_2 = 0x2,
PIXEL_PIPE_OCCLUSION_COUNT_3 = 0x3,
PIXEL_PIPE_SCREEN_MIN_EXTENTS_0 = 0x4,
PIXEL_PIPE_SCREEN_MAX_EXTENTS_0 = 0x5,
PIXEL_PIPE_SCREEN_MIN_EXTENTS_1 = 0x6,
PIXEL_PIPE_SCREEN_MAX_EXTENTS_1 = 0x7,
} PixelPipeCounterId;
typedef enum PixelPipeStride {
PIXEL_PIPE_STRIDE_32_BITS = 0x0,
PIXEL_PIPE_STRIDE_64_BITS = 0x1,
PIXEL_PIPE_STRIDE_128_BITS = 0x2,
PIXEL_PIPE_STRIDE_256_BITS = 0x3,
} PixelPipeStride;
typedef enum GB_EDC_DED_MODE {
GB_EDC_DED_MODE_LOG = 0x0,
GB_EDC_DED_MODE_HALT = 0x1,
GB_EDC_DED_MODE_INT_HALT = 0x2,
} GB_EDC_DED_MODE;
#define GB_TILING_CONFIG_TABLE_SIZE 0x20
#define GB_TILING_CONFIG_MACROTABLE_SIZE 0x10
typedef enum GRBM_PERF_SEL {
GRBM_PERF_SEL_COUNT = 0x0,
GRBM_PERF_SEL_USER_DEFINED = 0x1,
GRBM_PERF_SEL_GUI_ACTIVE = 0x2,
GRBM_PERF_SEL_CP_BUSY = 0x3,
GRBM_PERF_SEL_CP_COHER_BUSY = 0x4,
GRBM_PERF_SEL_CP_DMA_BUSY = 0x5,
GRBM_PERF_SEL_CB_BUSY = 0x6,
GRBM_PERF_SEL_DB_BUSY = 0x7,
GRBM_PERF_SEL_PA_BUSY = 0x8,
GRBM_PERF_SEL_SC_BUSY = 0x9,
GRBM_PERF_SEL_RESERVED_6 = 0xa,
GRBM_PERF_SEL_SPI_BUSY = 0xb,
GRBM_PERF_SEL_SX_BUSY = 0xc,
GRBM_PERF_SEL_TA_BUSY = 0xd,
GRBM_PERF_SEL_CB_CLEAN = 0xe,
GRBM_PERF_SEL_DB_CLEAN = 0xf,
GRBM_PERF_SEL_RESERVED_5 = 0x10,
GRBM_PERF_SEL_VGT_BUSY = 0x11,
GRBM_PERF_SEL_RESERVED_4 = 0x12,
GRBM_PERF_SEL_RESERVED_3 = 0x13,
GRBM_PERF_SEL_RESERVED_2 = 0x14,
GRBM_PERF_SEL_RESERVED_1 = 0x15,
GRBM_PERF_SEL_RESERVED_0 = 0x16,
GRBM_PERF_SEL_IA_BUSY = 0x17,
GRBM_PERF_SEL_IA_NO_DMA_BUSY = 0x18,
GRBM_PERF_SEL_GDS_BUSY = 0x19,
GRBM_PERF_SEL_BCI_BUSY = 0x1a,
GRBM_PERF_SEL_RLC_BUSY = 0x1b,
GRBM_PERF_SEL_TC_BUSY = 0x1c,
GRBM_PERF_SEL_CPG_BUSY = 0x1d,
GRBM_PERF_SEL_CPC_BUSY = 0x1e,
GRBM_PERF_SEL_CPF_BUSY = 0x1f,
GRBM_PERF_SEL_WD_BUSY = 0x20,
GRBM_PERF_SEL_WD_NO_DMA_BUSY = 0x21,
} GRBM_PERF_SEL;
typedef enum GRBM_SE0_PERF_SEL {
GRBM_SE0_PERF_SEL_COUNT = 0x0,
GRBM_SE0_PERF_SEL_USER_DEFINED = 0x1,
GRBM_SE0_PERF_SEL_CB_BUSY = 0x2,
GRBM_SE0_PERF_SEL_DB_BUSY = 0x3,
GRBM_SE0_PERF_SEL_SC_BUSY = 0x4,
GRBM_SE0_PERF_SEL_RESERVED_1 = 0x5,
GRBM_SE0_PERF_SEL_SPI_BUSY = 0x6,
GRBM_SE0_PERF_SEL_SX_BUSY = 0x7,
GRBM_SE0_PERF_SEL_TA_BUSY = 0x8,
GRBM_SE0_PERF_SEL_CB_CLEAN = 0x9,
GRBM_SE0_PERF_SEL_DB_CLEAN = 0xa,
GRBM_SE0_PERF_SEL_RESERVED_0 = 0xb,
GRBM_SE0_PERF_SEL_PA_BUSY = 0xc,
GRBM_SE0_PERF_SEL_VGT_BUSY = 0xd,
GRBM_SE0_PERF_SEL_BCI_BUSY = 0xe,
} GRBM_SE0_PERF_SEL;
typedef enum GRBM_SE1_PERF_SEL {
GRBM_SE1_PERF_SEL_COUNT = 0x0,
GRBM_SE1_PERF_SEL_USER_DEFINED = 0x1,
GRBM_SE1_PERF_SEL_CB_BUSY = 0x2,
GRBM_SE1_PERF_SEL_DB_BUSY = 0x3,
GRBM_SE1_PERF_SEL_SC_BUSY = 0x4,
GRBM_SE1_PERF_SEL_RESERVED_1 = 0x5,
GRBM_SE1_PERF_SEL_SPI_BUSY = 0x6,
GRBM_SE1_PERF_SEL_SX_BUSY = 0x7,
GRBM_SE1_PERF_SEL_TA_BUSY = 0x8,
GRBM_SE1_PERF_SEL_CB_CLEAN = 0x9,
GRBM_SE1_PERF_SEL_DB_CLEAN = 0xa,
GRBM_SE1_PERF_SEL_RESERVED_0 = 0xb,
GRBM_SE1_PERF_SEL_PA_BUSY = 0xc,
GRBM_SE1_PERF_SEL_VGT_BUSY = 0xd,
GRBM_SE1_PERF_SEL_BCI_BUSY = 0xe,
} GRBM_SE1_PERF_SEL;
typedef enum GRBM_SE2_PERF_SEL {
GRBM_SE2_PERF_SEL_COUNT = 0x0,
GRBM_SE2_PERF_SEL_USER_DEFINED = 0x1,
GRBM_SE2_PERF_SEL_CB_BUSY = 0x2,
GRBM_SE2_PERF_SEL_DB_BUSY = 0x3,
GRBM_SE2_PERF_SEL_SC_BUSY = 0x4,
GRBM_SE2_PERF_SEL_RESERVED_1 = 0x5,
GRBM_SE2_PERF_SEL_SPI_BUSY = 0x6,
GRBM_SE2_PERF_SEL_SX_BUSY = 0x7,
GRBM_SE2_PERF_SEL_TA_BUSY = 0x8,
GRBM_SE2_PERF_SEL_CB_CLEAN = 0x9,
GRBM_SE2_PERF_SEL_DB_CLEAN = 0xa,
GRBM_SE2_PERF_SEL_RESERVED_0 = 0xb,
GRBM_SE2_PERF_SEL_PA_BUSY = 0xc,
GRBM_SE2_PERF_SEL_VGT_BUSY = 0xd,
GRBM_SE2_PERF_SEL_BCI_BUSY = 0xe,
} GRBM_SE2_PERF_SEL;
typedef enum GRBM_SE3_PERF_SEL {
GRBM_SE3_PERF_SEL_COUNT = 0x0,
GRBM_SE3_PERF_SEL_USER_DEFINED = 0x1,
GRBM_SE3_PERF_SEL_CB_BUSY = 0x2,
GRBM_SE3_PERF_SEL_DB_BUSY = 0x3,
GRBM_SE3_PERF_SEL_SC_BUSY = 0x4,
GRBM_SE3_PERF_SEL_RESERVED_1 = 0x5,
GRBM_SE3_PERF_SEL_SPI_BUSY = 0x6,
GRBM_SE3_PERF_SEL_SX_BUSY = 0x7,
GRBM_SE3_PERF_SEL_TA_BUSY = 0x8,
GRBM_SE3_PERF_SEL_CB_CLEAN = 0x9,
GRBM_SE3_PERF_SEL_DB_CLEAN = 0xa,
GRBM_SE3_PERF_SEL_RESERVED_0 = 0xb,
GRBM_SE3_PERF_SEL_PA_BUSY = 0xc,
GRBM_SE3_PERF_SEL_VGT_BUSY = 0xd,
GRBM_SE3_PERF_SEL_BCI_BUSY = 0xe,
} GRBM_SE3_PERF_SEL;
typedef enum SU_PERFCNT_SEL {
PERF_PAPC_PASX_REQ = 0x0,
PERF_PAPC_PASX_DISABLE_PIPE = 0x1,
PERF_PAPC_PASX_FIRST_VECTOR = 0x2,
PERF_PAPC_PASX_SECOND_VECTOR = 0x3,
PERF_PAPC_PASX_FIRST_DEAD = 0x4,
PERF_PAPC_PASX_SECOND_DEAD = 0x5,
PERF_PAPC_PASX_VTX_KILL_DISCARD = 0x6,
PERF_PAPC_PASX_VTX_NAN_DISCARD = 0x7,
PERF_PAPC_PA_INPUT_PRIM = 0x8,
PERF_PAPC_PA_INPUT_NULL_PRIM = 0x9,
PERF_PAPC_PA_INPUT_EVENT_FLAG = 0xa,
PERF_PAPC_PA_INPUT_FIRST_PRIM_SLOT = 0xb,
PERF_PAPC_PA_INPUT_END_OF_PACKET = 0xc,
PERF_PAPC_PA_INPUT_EXTENDED_EVENT = 0xd,
PERF_PAPC_CLPR_CULL_PRIM = 0xe,
PERF_PAPC_CLPR_VVUCP_CULL_PRIM = 0xf,
PERF_PAPC_CLPR_VV_CULL_PRIM = 0x10,
PERF_PAPC_CLPR_UCP_CULL_PRIM = 0x11,
PERF_PAPC_CLPR_VTX_KILL_CULL_PRIM = 0x12,
PERF_PAPC_CLPR_VTX_NAN_CULL_PRIM = 0x13,
PERF_PAPC_CLPR_CULL_TO_NULL_PRIM = 0x14,
PERF_PAPC_CLPR_VVUCP_CLIP_PRIM = 0x15,
PERF_PAPC_CLPR_VV_CLIP_PRIM = 0x16,
PERF_PAPC_CLPR_UCP_CLIP_PRIM = 0x17,
PERF_PAPC_CLPR_POINT_CLIP_CANDIDATE = 0x18,
PERF_PAPC_CLPR_CLIP_PLANE_CNT_1 = 0x19,
PERF_PAPC_CLPR_CLIP_PLANE_CNT_2 = 0x1a,
PERF_PAPC_CLPR_CLIP_PLANE_CNT_3 = 0x1b,
PERF_PAPC_CLPR_CLIP_PLANE_CNT_4 = 0x1c,
PERF_PAPC_CLPR_CLIP_PLANE_CNT_5_8 = 0x1d,
PERF_PAPC_CLPR_CLIP_PLANE_CNT_9_12 = 0x1e,
PERF_PAPC_CLPR_CLIP_PLANE_NEAR = 0x1f,
PERF_PAPC_CLPR_CLIP_PLANE_FAR = 0x20,
PERF_PAPC_CLPR_CLIP_PLANE_LEFT = 0x21,
PERF_PAPC_CLPR_CLIP_PLANE_RIGHT = 0x22,
PERF_PAPC_CLPR_CLIP_PLANE_TOP = 0x23,
PERF_PAPC_CLPR_CLIP_PLANE_BOTTOM = 0x24,
PERF_PAPC_CLPR_GSC_KILL_CULL_PRIM = 0x25,
PERF_PAPC_CLPR_RASTER_KILL_CULL_PRIM = 0x26,
PERF_PAPC_CLSM_NULL_PRIM = 0x27,
PERF_PAPC_CLSM_TOTALLY_VISIBLE_PRIM = 0x28,
PERF_PAPC_CLSM_CULL_TO_NULL_PRIM = 0x29,
PERF_PAPC_CLSM_OUT_PRIM_CNT_1 = 0x2a,
PERF_PAPC_CLSM_OUT_PRIM_CNT_2 = 0x2b,
PERF_PAPC_CLSM_OUT_PRIM_CNT_3 = 0x2c,
PERF_PAPC_CLSM_OUT_PRIM_CNT_4 = 0x2d,
PERF_PAPC_CLSM_OUT_PRIM_CNT_5_8 = 0x2e,
PERF_PAPC_CLSM_OUT_PRIM_CNT_9_13 = 0x2f,
PERF_PAPC_CLIPGA_VTE_KILL_PRIM = 0x30,
PERF_PAPC_SU_INPUT_PRIM = 0x31,
PERF_PAPC_SU_INPUT_CLIP_PRIM = 0x32,
PERF_PAPC_SU_INPUT_NULL_PRIM = 0x33,
PERF_PAPC_SU_INPUT_PRIM_DUAL = 0x34,
PERF_PAPC_SU_INPUT_CLIP_PRIM_DUAL = 0x35,
PERF_PAPC_SU_ZERO_AREA_CULL_PRIM = 0x36,
PERF_PAPC_SU_BACK_FACE_CULL_PRIM = 0x37,
PERF_PAPC_SU_FRONT_FACE_CULL_PRIM = 0x38,
PERF_PAPC_SU_POLYMODE_FACE_CULL = 0x39,
PERF_PAPC_SU_POLYMODE_BACK_CULL = 0x3a,
PERF_PAPC_SU_POLYMODE_FRONT_CULL = 0x3b,
PERF_PAPC_SU_POLYMODE_INVALID_FILL = 0x3c,
PERF_PAPC_SU_OUTPUT_PRIM = 0x3d,
PERF_PAPC_SU_OUTPUT_CLIP_PRIM = 0x3e,
PERF_PAPC_SU_OUTPUT_NULL_PRIM = 0x3f,
PERF_PAPC_SU_OUTPUT_EVENT_FLAG = 0x40,
PERF_PAPC_SU_OUTPUT_FIRST_PRIM_SLOT = 0x41,
PERF_PAPC_SU_OUTPUT_END_OF_PACKET = 0x42,
PERF_PAPC_SU_OUTPUT_POLYMODE_FACE = 0x43,
PERF_PAPC_SU_OUTPUT_POLYMODE_BACK = 0x44,
PERF_PAPC_SU_OUTPUT_POLYMODE_FRONT = 0x45,
PERF_PAPC_SU_OUT_CLIP_POLYMODE_FACE = 0x46,
PERF_PAPC_SU_OUT_CLIP_POLYMODE_BACK = 0x47,
PERF_PAPC_SU_OUT_CLIP_POLYMODE_FRONT = 0x48,
PERF_PAPC_SU_OUTPUT_PRIM_DUAL = 0x49,
PERF_PAPC_SU_OUTPUT_CLIP_PRIM_DUAL = 0x4a,
PERF_PAPC_SU_OUTPUT_POLYMODE_DUAL = 0x4b,
PERF_PAPC_SU_OUTPUT_CLIP_POLYMODE_DUAL = 0x4c,
PERF_PAPC_PASX_REQ_IDLE = 0x4d,
PERF_PAPC_PASX_REQ_BUSY = 0x4e,
PERF_PAPC_PASX_REQ_STALLED = 0x4f,
PERF_PAPC_PASX_REC_IDLE = 0x50,
PERF_PAPC_PASX_REC_BUSY = 0x51,
PERF_PAPC_PASX_REC_STARVED_SX = 0x52,
PERF_PAPC_PASX_REC_STALLED = 0x53,
PERF_PAPC_PASX_REC_STALLED_POS_MEM = 0x54,
PERF_PAPC_PASX_REC_STALLED_CCGSM_IN = 0x55,
PERF_PAPC_CCGSM_IDLE = 0x56,
PERF_PAPC_CCGSM_BUSY = 0x57,
PERF_PAPC_CCGSM_STALLED = 0x58,
PERF_PAPC_CLPRIM_IDLE = 0x59,
PERF_PAPC_CLPRIM_BUSY = 0x5a,
PERF_PAPC_CLPRIM_STALLED = 0x5b,
PERF_PAPC_CLPRIM_STARVED_CCGSM = 0x5c,
PERF_PAPC_CLIPSM_IDLE = 0x5d,
PERF_PAPC_CLIPSM_BUSY = 0x5e,
PERF_PAPC_CLIPSM_WAIT_CLIP_VERT_ENGH = 0x5f,
PERF_PAPC_CLIPSM_WAIT_HIGH_PRI_SEQ = 0x60,
PERF_PAPC_CLIPSM_WAIT_CLIPGA = 0x61,
PERF_PAPC_CLIPSM_WAIT_AVAIL_VTE_CLIP = 0x62,
PERF_PAPC_CLIPSM_WAIT_CLIP_OUTSM = 0x63,
PERF_PAPC_CLIPGA_IDLE = 0x64,
PERF_PAPC_CLIPGA_BUSY = 0x65,
PERF_PAPC_CLIPGA_STARVED_VTE_CLIP = 0x66,
PERF_PAPC_CLIPGA_STALLED = 0x67,
PERF_PAPC_CLIP_IDLE = 0x68,
PERF_PAPC_CLIP_BUSY = 0x69,
PERF_PAPC_SU_IDLE = 0x6a,
PERF_PAPC_SU_BUSY = 0x6b,
PERF_PAPC_SU_STARVED_CLIP = 0x6c,
PERF_PAPC_SU_STALLED_SC = 0x6d,
PERF_PAPC_CL_DYN_SCLK_VLD = 0x6e,
PERF_PAPC_SU_DYN_SCLK_VLD = 0x6f,
PERF_PAPC_PA_REG_SCLK_VLD = 0x70,
PERF_PAPC_SU_MULTI_GPU_PRIM_FILTER_CULL = 0x71,
PERF_PAPC_PASX_SE0_REQ = 0x72,
PERF_PAPC_PASX_SE1_REQ = 0x73,
PERF_PAPC_PASX_SE0_FIRST_VECTOR = 0x74,
PERF_PAPC_PASX_SE0_SECOND_VECTOR = 0x75,
PERF_PAPC_PASX_SE1_FIRST_VECTOR = 0x76,
PERF_PAPC_PASX_SE1_SECOND_VECTOR = 0x77,
PERF_PAPC_SU_SE0_PRIM_FILTER_CULL = 0x78,
PERF_PAPC_SU_SE1_PRIM_FILTER_CULL = 0x79,
PERF_PAPC_SU_SE01_PRIM_FILTER_CULL = 0x7a,
PERF_PAPC_SU_SE0_OUTPUT_PRIM = 0x7b,
PERF_PAPC_SU_SE1_OUTPUT_PRIM = 0x7c,
PERF_PAPC_SU_SE01_OUTPUT_PRIM = 0x7d,
PERF_PAPC_SU_SE0_OUTPUT_NULL_PRIM = 0x7e,
PERF_PAPC_SU_SE1_OUTPUT_NULL_PRIM = 0x7f,
PERF_PAPC_SU_SE01_OUTPUT_NULL_PRIM = 0x80,
PERF_PAPC_SU_SE0_OUTPUT_FIRST_PRIM_SLOT = 0x81,
PERF_PAPC_SU_SE1_OUTPUT_FIRST_PRIM_SLOT = 0x82,
PERF_PAPC_SU_SE0_STALLED_SC = 0x83,
PERF_PAPC_SU_SE1_STALLED_SC = 0x84,
PERF_PAPC_SU_SE01_STALLED_SC = 0x85,
PERF_PAPC_CLSM_CLIPPING_PRIM = 0x86,
PERF_PAPC_SU_CULLED_PRIM = 0x87,
PERF_PAPC_SU_OUTPUT_EOPG = 0x88,
PERF_PAPC_SU_SE2_PRIM_FILTER_CULL = 0x89,
PERF_PAPC_SU_SE3_PRIM_FILTER_CULL = 0x8a,
PERF_PAPC_SU_SE2_OUTPUT_PRIM = 0x8b,
PERF_PAPC_SU_SE3_OUTPUT_PRIM = 0x8c,
PERF_PAPC_SU_SE2_OUTPUT_NULL_PRIM = 0x8d,
PERF_PAPC_SU_SE3_OUTPUT_NULL_PRIM = 0x8e,
PERF_PAPC_SU_SE0_OUTPUT_END_OF_PACKET = 0x8f,
PERF_PAPC_SU_SE1_OUTPUT_END_OF_PACKET = 0x90,
PERF_PAPC_SU_SE2_OUTPUT_END_OF_PACKET = 0x91,
PERF_PAPC_SU_SE3_OUTPUT_END_OF_PACKET = 0x92,
PERF_PAPC_SU_SE0_OUTPUT_EOPG = 0x93,
PERF_PAPC_SU_SE1_OUTPUT_EOPG = 0x94,
PERF_PAPC_SU_SE2_OUTPUT_EOPG = 0x95,
PERF_PAPC_SU_SE3_OUTPUT_EOPG = 0x96,
PERF_PAPC_SU_SE2_STALLED_SC = 0x97,
PERF_PAPC_SU_SE3_STALLED_SC = 0x98,
} SU_PERFCNT_SEL;
typedef enum SC_PERFCNT_SEL {
SC_SRPS_WINDOW_VALID = 0x0,
SC_PSSW_WINDOW_VALID = 0x1,
SC_TPQZ_WINDOW_VALID = 0x2,
SC_QZQP_WINDOW_VALID = 0x3,
SC_TRPK_WINDOW_VALID = 0x4,
SC_SRPS_WINDOW_VALID_BUSY = 0x5,
SC_PSSW_WINDOW_VALID_BUSY = 0x6,
SC_TPQZ_WINDOW_VALID_BUSY = 0x7,
SC_QZQP_WINDOW_VALID_BUSY = 0x8,
SC_TRPK_WINDOW_VALID_BUSY = 0x9,
SC_STARVED_BY_PA = 0xa,
SC_STALLED_BY_PRIMFIFO = 0xb,
SC_STALLED_BY_DB_TILE = 0xc,
SC_STARVED_BY_DB_TILE = 0xd,
SC_STALLED_BY_TILEORDERFIFO = 0xe,
SC_STALLED_BY_TILEFIFO = 0xf,
SC_STALLED_BY_DB_QUAD = 0x10,
SC_STARVED_BY_DB_QUAD = 0x11,
SC_STALLED_BY_QUADFIFO = 0x12,
SC_STALLED_BY_BCI = 0x13,
SC_STALLED_BY_SPI = 0x14,
SC_SCISSOR_DISCARD = 0x15,
SC_BB_DISCARD = 0x16,
SC_SUPERTILE_COUNT = 0x17,
SC_SUPERTILE_PER_PRIM_H0 = 0x18,
SC_SUPERTILE_PER_PRIM_H1 = 0x19,
SC_SUPERTILE_PER_PRIM_H2 = 0x1a,
SC_SUPERTILE_PER_PRIM_H3 = 0x1b,
SC_SUPERTILE_PER_PRIM_H4 = 0x1c,
SC_SUPERTILE_PER_PRIM_H5 = 0x1d,
SC_SUPERTILE_PER_PRIM_H6 = 0x1e,
SC_SUPERTILE_PER_PRIM_H7 = 0x1f,
SC_SUPERTILE_PER_PRIM_H8 = 0x20,
SC_SUPERTILE_PER_PRIM_H9 = 0x21,
SC_SUPERTILE_PER_PRIM_H10 = 0x22,
SC_SUPERTILE_PER_PRIM_H11 = 0x23,
SC_SUPERTILE_PER_PRIM_H12 = 0x24,
SC_SUPERTILE_PER_PRIM_H13 = 0x25,
SC_SUPERTILE_PER_PRIM_H14 = 0x26,
SC_SUPERTILE_PER_PRIM_H15 = 0x27,
SC_SUPERTILE_PER_PRIM_H16 = 0x28,
SC_TILE_PER_PRIM_H0 = 0x29,
SC_TILE_PER_PRIM_H1 = 0x2a,
SC_TILE_PER_PRIM_H2 = 0x2b,
SC_TILE_PER_PRIM_H3 = 0x2c,
SC_TILE_PER_PRIM_H4 = 0x2d,
SC_TILE_PER_PRIM_H5 = 0x2e,
SC_TILE_PER_PRIM_H6 = 0x2f,
SC_TILE_PER_PRIM_H7 = 0x30,
SC_TILE_PER_PRIM_H8 = 0x31,
SC_TILE_PER_PRIM_H9 = 0x32,
SC_TILE_PER_PRIM_H10 = 0x33,
SC_TILE_PER_PRIM_H11 = 0x34,
SC_TILE_PER_PRIM_H12 = 0x35,
SC_TILE_PER_PRIM_H13 = 0x36,
SC_TILE_PER_PRIM_H14 = 0x37,
SC_TILE_PER_PRIM_H15 = 0x38,
SC_TILE_PER_PRIM_H16 = 0x39,
SC_TILE_PER_SUPERTILE_H0 = 0x3a,
SC_TILE_PER_SUPERTILE_H1 = 0x3b,
SC_TILE_PER_SUPERTILE_H2 = 0x3c,
SC_TILE_PER_SUPERTILE_H3 = 0x3d,
SC_TILE_PER_SUPERTILE_H4 = 0x3e,
SC_TILE_PER_SUPERTILE_H5 = 0x3f,
SC_TILE_PER_SUPERTILE_H6 = 0x40,
SC_TILE_PER_SUPERTILE_H7 = 0x41,
SC_TILE_PER_SUPERTILE_H8 = 0x42,
SC_TILE_PER_SUPERTILE_H9 = 0x43,
SC_TILE_PER_SUPERTILE_H10 = 0x44,
SC_TILE_PER_SUPERTILE_H11 = 0x45,
SC_TILE_PER_SUPERTILE_H12 = 0x46,
SC_TILE_PER_SUPERTILE_H13 = 0x47,
SC_TILE_PER_SUPERTILE_H14 = 0x48,
SC_TILE_PER_SUPERTILE_H15 = 0x49,
SC_TILE_PER_SUPERTILE_H16 = 0x4a,
SC_TILE_PICKED_H1 = 0x4b,
SC_TILE_PICKED_H2 = 0x4c,
SC_TILE_PICKED_H3 = 0x4d,
SC_TILE_PICKED_H4 = 0x4e,
SC_QZ0_MULTI_GPU_TILE_DISCARD = 0x4f,
SC_QZ1_MULTI_GPU_TILE_DISCARD = 0x50,
SC_QZ2_MULTI_GPU_TILE_DISCARD = 0x51,
SC_QZ3_MULTI_GPU_TILE_DISCARD = 0x52,
SC_QZ0_TILE_COUNT = 0x53,
SC_QZ1_TILE_COUNT = 0x54,
SC_QZ2_TILE_COUNT = 0x55,
SC_QZ3_TILE_COUNT = 0x56,
SC_QZ0_TILE_COVERED_COUNT = 0x57,
SC_QZ1_TILE_COVERED_COUNT = 0x58,
SC_QZ2_TILE_COVERED_COUNT = 0x59,
SC_QZ3_TILE_COVERED_COUNT = 0x5a,
SC_QZ0_TILE_NOT_COVERED_COUNT = 0x5b,
SC_QZ1_TILE_NOT_COVERED_COUNT = 0x5c,
SC_QZ2_TILE_NOT_COVERED_COUNT = 0x5d,
SC_QZ3_TILE_NOT_COVERED_COUNT = 0x5e,
SC_QZ0_QUAD_PER_TILE_H0 = 0x5f,
SC_QZ0_QUAD_PER_TILE_H1 = 0x60,
SC_QZ0_QUAD_PER_TILE_H2 = 0x61,
SC_QZ0_QUAD_PER_TILE_H3 = 0x62,
SC_QZ0_QUAD_PER_TILE_H4 = 0x63,
SC_QZ0_QUAD_PER_TILE_H5 = 0x64,
SC_QZ0_QUAD_PER_TILE_H6 = 0x65,
SC_QZ0_QUAD_PER_TILE_H7 = 0x66,
SC_QZ0_QUAD_PER_TILE_H8 = 0x67,
SC_QZ0_QUAD_PER_TILE_H9 = 0x68,
SC_QZ0_QUAD_PER_TILE_H10 = 0x69,
SC_QZ0_QUAD_PER_TILE_H11 = 0x6a,
SC_QZ0_QUAD_PER_TILE_H12 = 0x6b,
SC_QZ0_QUAD_PER_TILE_H13 = 0x6c,
SC_QZ0_QUAD_PER_TILE_H14 = 0x6d,
SC_QZ0_QUAD_PER_TILE_H15 = 0x6e,
SC_QZ0_QUAD_PER_TILE_H16 = 0x6f,
SC_QZ1_QUAD_PER_TILE_H0 = 0x70,
SC_QZ1_QUAD_PER_TILE_H1 = 0x71,
SC_QZ1_QUAD_PER_TILE_H2 = 0x72,
SC_QZ1_QUAD_PER_TILE_H3 = 0x73,
SC_QZ1_QUAD_PER_TILE_H4 = 0x74,
SC_QZ1_QUAD_PER_TILE_H5 = 0x75,
SC_QZ1_QUAD_PER_TILE_H6 = 0x76,
SC_QZ1_QUAD_PER_TILE_H7 = 0x77,
SC_QZ1_QUAD_PER_TILE_H8 = 0x78,
SC_QZ1_QUAD_PER_TILE_H9 = 0x79,
SC_QZ1_QUAD_PER_TILE_H10 = 0x7a,
SC_QZ1_QUAD_PER_TILE_H11 = 0x7b,
SC_QZ1_QUAD_PER_TILE_H12 = 0x7c,
SC_QZ1_QUAD_PER_TILE_H13 = 0x7d,
SC_QZ1_QUAD_PER_TILE_H14 = 0x7e,
SC_QZ1_QUAD_PER_TILE_H15 = 0x7f,
SC_QZ1_QUAD_PER_TILE_H16 = 0x80,
SC_QZ2_QUAD_PER_TILE_H0 = 0x81,
SC_QZ2_QUAD_PER_TILE_H1 = 0x82,
SC_QZ2_QUAD_PER_TILE_H2 = 0x83,
SC_QZ2_QUAD_PER_TILE_H3 = 0x84,
SC_QZ2_QUAD_PER_TILE_H4 = 0x85,
SC_QZ2_QUAD_PER_TILE_H5 = 0x86,
SC_QZ2_QUAD_PER_TILE_H6 = 0x87,
SC_QZ2_QUAD_PER_TILE_H7 = 0x88,
SC_QZ2_QUAD_PER_TILE_H8 = 0x89,
SC_QZ2_QUAD_PER_TILE_H9 = 0x8a,
SC_QZ2_QUAD_PER_TILE_H10 = 0x8b,
SC_QZ2_QUAD_PER_TILE_H11 = 0x8c,
SC_QZ2_QUAD_PER_TILE_H12 = 0x8d,
SC_QZ2_QUAD_PER_TILE_H13 = 0x8e,
SC_QZ2_QUAD_PER_TILE_H14 = 0x8f,
SC_QZ2_QUAD_PER_TILE_H15 = 0x90,
SC_QZ2_QUAD_PER_TILE_H16 = 0x91,
SC_QZ3_QUAD_PER_TILE_H0 = 0x92,
SC_QZ3_QUAD_PER_TILE_H1 = 0x93,
SC_QZ3_QUAD_PER_TILE_H2 = 0x94,
SC_QZ3_QUAD_PER_TILE_H3 = 0x95,
SC_QZ3_QUAD_PER_TILE_H4 = 0x96,
SC_QZ3_QUAD_PER_TILE_H5 = 0x97,
SC_QZ3_QUAD_PER_TILE_H6 = 0x98,
SC_QZ3_QUAD_PER_TILE_H7 = 0x99,
SC_QZ3_QUAD_PER_TILE_H8 = 0x9a,
SC_QZ3_QUAD_PER_TILE_H9 = 0x9b,
SC_QZ3_QUAD_PER_TILE_H10 = 0x9c,
SC_QZ3_QUAD_PER_TILE_H11 = 0x9d,
SC_QZ3_QUAD_PER_TILE_H12 = 0x9e,
SC_QZ3_QUAD_PER_TILE_H13 = 0x9f,
SC_QZ3_QUAD_PER_TILE_H14 = 0xa0,
SC_QZ3_QUAD_PER_TILE_H15 = 0xa1,
SC_QZ3_QUAD_PER_TILE_H16 = 0xa2,
SC_QZ0_QUAD_COUNT = 0xa3,
SC_QZ1_QUAD_COUNT = 0xa4,
SC_QZ2_QUAD_COUNT = 0xa5,
SC_QZ3_QUAD_COUNT = 0xa6,
SC_P0_HIZ_TILE_COUNT = 0xa7,
SC_P1_HIZ_TILE_COUNT = 0xa8,
SC_P2_HIZ_TILE_COUNT = 0xa9,
SC_P3_HIZ_TILE_COUNT = 0xaa,
SC_P0_HIZ_QUAD_PER_TILE_H0 = 0xab,
SC_P0_HIZ_QUAD_PER_TILE_H1 = 0xac,
SC_P0_HIZ_QUAD_PER_TILE_H2 = 0xad,
SC_P0_HIZ_QUAD_PER_TILE_H3 = 0xae,
SC_P0_HIZ_QUAD_PER_TILE_H4 = 0xaf,
SC_P0_HIZ_QUAD_PER_TILE_H5 = 0xb0,
SC_P0_HIZ_QUAD_PER_TILE_H6 = 0xb1,
SC_P0_HIZ_QUAD_PER_TILE_H7 = 0xb2,
SC_P0_HIZ_QUAD_PER_TILE_H8 = 0xb3,
SC_P0_HIZ_QUAD_PER_TILE_H9 = 0xb4,
SC_P0_HIZ_QUAD_PER_TILE_H10 = 0xb5,
SC_P0_HIZ_QUAD_PER_TILE_H11 = 0xb6,
SC_P0_HIZ_QUAD_PER_TILE_H12 = 0xb7,
SC_P0_HIZ_QUAD_PER_TILE_H13 = 0xb8,
SC_P0_HIZ_QUAD_PER_TILE_H14 = 0xb9,
SC_P0_HIZ_QUAD_PER_TILE_H15 = 0xba,
SC_P0_HIZ_QUAD_PER_TILE_H16 = 0xbb,
SC_P1_HIZ_QUAD_PER_TILE_H0 = 0xbc,
SC_P1_HIZ_QUAD_PER_TILE_H1 = 0xbd,
SC_P1_HIZ_QUAD_PER_TILE_H2 = 0xbe,
SC_P1_HIZ_QUAD_PER_TILE_H3 = 0xbf,
SC_P1_HIZ_QUAD_PER_TILE_H4 = 0xc0,
SC_P1_HIZ_QUAD_PER_TILE_H5 = 0xc1,
SC_P1_HIZ_QUAD_PER_TILE_H6 = 0xc2,
SC_P1_HIZ_QUAD_PER_TILE_H7 = 0xc3,
SC_P1_HIZ_QUAD_PER_TILE_H8 = 0xc4,
SC_P1_HIZ_QUAD_PER_TILE_H9 = 0xc5,
SC_P1_HIZ_QUAD_PER_TILE_H10 = 0xc6,
SC_P1_HIZ_QUAD_PER_TILE_H11 = 0xc7,
SC_P1_HIZ_QUAD_PER_TILE_H12 = 0xc8,
SC_P1_HIZ_QUAD_PER_TILE_H13 = 0xc9,
SC_P1_HIZ_QUAD_PER_TILE_H14 = 0xca,
SC_P1_HIZ_QUAD_PER_TILE_H15 = 0xcb,
SC_P1_HIZ_QUAD_PER_TILE_H16 = 0xcc,
SC_P2_HIZ_QUAD_PER_TILE_H0 = 0xcd,
SC_P2_HIZ_QUAD_PER_TILE_H1 = 0xce,
SC_P2_HIZ_QUAD_PER_TILE_H2 = 0xcf,
SC_P2_HIZ_QUAD_PER_TILE_H3 = 0xd0,
SC_P2_HIZ_QUAD_PER_TILE_H4 = 0xd1,
SC_P2_HIZ_QUAD_PER_TILE_H5 = 0xd2,
SC_P2_HIZ_QUAD_PER_TILE_H6 = 0xd3,
SC_P2_HIZ_QUAD_PER_TILE_H7 = 0xd4,
SC_P2_HIZ_QUAD_PER_TILE_H8 = 0xd5,
SC_P2_HIZ_QUAD_PER_TILE_H9 = 0xd6,
SC_P2_HIZ_QUAD_PER_TILE_H10 = 0xd7,
SC_P2_HIZ_QUAD_PER_TILE_H11 = 0xd8,
SC_P2_HIZ_QUAD_PER_TILE_H12 = 0xd9,
SC_P2_HIZ_QUAD_PER_TILE_H13 = 0xda,
SC_P2_HIZ_QUAD_PER_TILE_H14 = 0xdb,
SC_P2_HIZ_QUAD_PER_TILE_H15 = 0xdc,
SC_P2_HIZ_QUAD_PER_TILE_H16 = 0xdd,
SC_P3_HIZ_QUAD_PER_TILE_H0 = 0xde,
SC_P3_HIZ_QUAD_PER_TILE_H1 = 0xdf,
SC_P3_HIZ_QUAD_PER_TILE_H2 = 0xe0,
SC_P3_HIZ_QUAD_PER_TILE_H3 = 0xe1,
SC_P3_HIZ_QUAD_PER_TILE_H4 = 0xe2,
SC_P3_HIZ_QUAD_PER_TILE_H5 = 0xe3,
SC_P3_HIZ_QUAD_PER_TILE_H6 = 0xe4,
SC_P3_HIZ_QUAD_PER_TILE_H7 = 0xe5,
SC_P3_HIZ_QUAD_PER_TILE_H8 = 0xe6,
SC_P3_HIZ_QUAD_PER_TILE_H9 = 0xe7,
SC_P3_HIZ_QUAD_PER_TILE_H10 = 0xe8,
SC_P3_HIZ_QUAD_PER_TILE_H11 = 0xe9,
SC_P3_HIZ_QUAD_PER_TILE_H12 = 0xea,
SC_P3_HIZ_QUAD_PER_TILE_H13 = 0xeb,
SC_P3_HIZ_QUAD_PER_TILE_H14 = 0xec,
SC_P3_HIZ_QUAD_PER_TILE_H15 = 0xed,
SC_P3_HIZ_QUAD_PER_TILE_H16 = 0xee,
SC_P0_HIZ_QUAD_COUNT = 0xef,
SC_P1_HIZ_QUAD_COUNT = 0xf0,
SC_P2_HIZ_QUAD_COUNT = 0xf1,
SC_P3_HIZ_QUAD_COUNT = 0xf2,
SC_P0_DETAIL_QUAD_COUNT = 0xf3,
SC_P1_DETAIL_QUAD_COUNT = 0xf4,
SC_P2_DETAIL_QUAD_COUNT = 0xf5,
SC_P3_DETAIL_QUAD_COUNT = 0xf6,
SC_P0_DETAIL_QUAD_WITH_1_PIX = 0xf7,
SC_P0_DETAIL_QUAD_WITH_2_PIX = 0xf8,
SC_P0_DETAIL_QUAD_WITH_3_PIX = 0xf9,
SC_P0_DETAIL_QUAD_WITH_4_PIX = 0xfa,
SC_P1_DETAIL_QUAD_WITH_1_PIX = 0xfb,
SC_P1_DETAIL_QUAD_WITH_2_PIX = 0xfc,
SC_P1_DETAIL_QUAD_WITH_3_PIX = 0xfd,
SC_P1_DETAIL_QUAD_WITH_4_PIX = 0xfe,
SC_P2_DETAIL_QUAD_WITH_1_PIX = 0xff,
SC_P2_DETAIL_QUAD_WITH_2_PIX = 0x100,
SC_P2_DETAIL_QUAD_WITH_3_PIX = 0x101,
SC_P2_DETAIL_QUAD_WITH_4_PIX = 0x102,
SC_P3_DETAIL_QUAD_WITH_1_PIX = 0x103,
SC_P3_DETAIL_QUAD_WITH_2_PIX = 0x104,
SC_P3_DETAIL_QUAD_WITH_3_PIX = 0x105,
SC_P3_DETAIL_QUAD_WITH_4_PIX = 0x106,
SC_EARLYZ_QUAD_COUNT = 0x107,
SC_EARLYZ_QUAD_WITH_1_PIX = 0x108,
SC_EARLYZ_QUAD_WITH_2_PIX = 0x109,
SC_EARLYZ_QUAD_WITH_3_PIX = 0x10a,
SC_EARLYZ_QUAD_WITH_4_PIX = 0x10b,
SC_PKR_QUAD_PER_ROW_H1 = 0x10c,
SC_PKR_QUAD_PER_ROW_H2 = 0x10d,
SC_PKR_QUAD_PER_ROW_H3 = 0x10e,
SC_PKR_QUAD_PER_ROW_H4 = 0x10f,
SC_PKR_END_OF_VECTOR = 0x110,
SC_PKR_CONTROL_XFER = 0x111,
SC_PKR_DBHANG_FORCE_EOV = 0x112,
SC_REG_SCLK_BUSY = 0x113,
SC_GRP0_DYN_SCLK_BUSY = 0x114,
SC_GRP1_DYN_SCLK_BUSY = 0x115,
SC_GRP2_DYN_SCLK_BUSY = 0x116,
SC_GRP3_DYN_SCLK_BUSY = 0x117,
SC_GRP4_DYN_SCLK_BUSY = 0x118,
SC_PA0_SC_DATA_FIFO_RD = 0x119,
SC_PA0_SC_DATA_FIFO_WE = 0x11a,
SC_PA1_SC_DATA_FIFO_RD = 0x11b,
SC_PA1_SC_DATA_FIFO_WE = 0x11c,
SC_PS_ARB_XFC_ALL_EVENT_OR_PRIM_CYCLES = 0x11d,
SC_PS_ARB_XFC_ONLY_PRIM_CYCLES = 0x11e,
SC_PS_ARB_XFC_ONLY_ONE_INC_PER_PRIM = 0x11f,
SC_PS_ARB_STALLED_FROM_BELOW = 0x120,
SC_PS_ARB_STARVED_FROM_ABOVE = 0x121,
SC_PS_ARB_SC_BUSY = 0x122,
SC_PS_ARB_PA_SC_BUSY = 0x123,
SC_PA2_SC_DATA_FIFO_RD = 0x124,
SC_PA2_SC_DATA_FIFO_WE = 0x125,
SC_PA3_SC_DATA_FIFO_RD = 0x126,
SC_PA3_SC_DATA_FIFO_WE = 0x127,
SC_PA_SC_DEALLOC_0_0_WE = 0x128,
SC_PA_SC_DEALLOC_0_1_WE = 0x129,
SC_PA_SC_DEALLOC_1_0_WE = 0x12a,
SC_PA_SC_DEALLOC_1_1_WE = 0x12b,
SC_PA_SC_DEALLOC_2_0_WE = 0x12c,
SC_PA_SC_DEALLOC_2_1_WE = 0x12d,
SC_PA_SC_DEALLOC_3_0_WE = 0x12e,
SC_PA_SC_DEALLOC_3_1_WE = 0x12f,
SC_PA0_SC_EOP_WE = 0x130,
SC_PA0_SC_EOPG_WE = 0x131,
SC_PA0_SC_EVENT_WE = 0x132,
SC_PA1_SC_EOP_WE = 0x133,
SC_PA1_SC_EOPG_WE = 0x134,
SC_PA1_SC_EVENT_WE = 0x135,
SC_PA2_SC_EOP_WE = 0x136,
SC_PA2_SC_EOPG_WE = 0x137,
SC_PA2_SC_EVENT_WE = 0x138,
SC_PA3_SC_EOP_WE = 0x139,
SC_PA3_SC_EOPG_WE = 0x13a,
SC_PA3_SC_EVENT_WE = 0x13b,
SC_PS_ARB_OOO_THRESHOLD_SWITCH_TO_DESIRED_FIFO = 0x13c,
SC_PS_ARB_OOO_FIFO_EMPTY_SWITCH = 0x13d,
SC_PS_ARB_NULL_PRIM_BUBBLE_POP = 0x13e,
SC_PS_ARB_EOP_POP_SYNC_POP = 0x13f,
SC_PS_ARB_EVENT_SYNC_POP = 0x140,
SC_SC_PS_ENG_MULTICYCLE_BUBBLE = 0x141,
SC_PA0_SC_FPOV_WE = 0x142,
SC_PA1_SC_FPOV_WE = 0x143,
SC_PA2_SC_FPOV_WE = 0x144,
SC_PA3_SC_FPOV_WE = 0x145,
SC_PA0_SC_LPOV_WE = 0x146,
SC_PA1_SC_LPOV_WE = 0x147,
SC_PA2_SC_LPOV_WE = 0x148,
SC_PA3_SC_LPOV_WE = 0x149,
SC_SC_SPI_DEALLOC_0_0 = 0x14a,
SC_SC_SPI_DEALLOC_0_1 = 0x14b,
SC_SC_SPI_DEALLOC_0_2 = 0x14c,
SC_SC_SPI_DEALLOC_1_0 = 0x14d,
SC_SC_SPI_DEALLOC_1_1 = 0x14e,
SC_SC_SPI_DEALLOC_1_2 = 0x14f,
SC_SC_SPI_DEALLOC_2_0 = 0x150,
SC_SC_SPI_DEALLOC_2_1 = 0x151,
SC_SC_SPI_DEALLOC_2_2 = 0x152,
SC_SC_SPI_DEALLOC_3_0 = 0x153,
SC_SC_SPI_DEALLOC_3_1 = 0x154,
SC_SC_SPI_DEALLOC_3_2 = 0x155,
SC_SC_SPI_FPOV_0 = 0x156,
SC_SC_SPI_FPOV_1 = 0x157,
SC_SC_SPI_FPOV_2 = 0x158,
SC_SC_SPI_FPOV_3 = 0x159,
SC_SC_SPI_EVENT = 0x15a,
SC_PS_TS_EVENT_FIFO_PUSH = 0x15b,
SC_PS_TS_EVENT_FIFO_POP = 0x15c,
SC_PS_CTX_DONE_FIFO_PUSH = 0x15d,
SC_PS_CTX_DONE_FIFO_POP = 0x15e,
SC_MULTICYCLE_BUBBLE_FREEZE = 0x15f,
SC_EOP_SYNC_WINDOW = 0x160,
SC_PA0_SC_NULL_WE = 0x161,
SC_PA0_SC_NULL_DEALLOC_WE = 0x162,
SC_PA0_SC_DATA_FIFO_EOPG_RD = 0x163,
SC_PA0_SC_DATA_FIFO_EOP_RD = 0x164,
SC_PA0_SC_DEALLOC_0_RD = 0x165,
SC_PA0_SC_DEALLOC_1_RD = 0x166,
SC_PA1_SC_DATA_FIFO_EOPG_RD = 0x167,
SC_PA1_SC_DATA_FIFO_EOP_RD = 0x168,
SC_PA1_SC_DEALLOC_0_RD = 0x169,
SC_PA1_SC_DEALLOC_1_RD = 0x16a,
SC_PA1_SC_NULL_WE = 0x16b,
SC_PA1_SC_NULL_DEALLOC_WE = 0x16c,
SC_PA2_SC_DATA_FIFO_EOPG_RD = 0x16d,
SC_PA2_SC_DATA_FIFO_EOP_RD = 0x16e,
SC_PA2_SC_DEALLOC_0_RD = 0x16f,
SC_PA2_SC_DEALLOC_1_RD = 0x170,
SC_PA2_SC_NULL_WE = 0x171,
SC_PA2_SC_NULL_DEALLOC_WE = 0x172,
SC_PA3_SC_DATA_FIFO_EOPG_RD = 0x173,
SC_PA3_SC_DATA_FIFO_EOP_RD = 0x174,
SC_PA3_SC_DEALLOC_0_RD = 0x175,
SC_PA3_SC_DEALLOC_1_RD = 0x176,
SC_PA3_SC_NULL_WE = 0x177,
SC_PA3_SC_NULL_DEALLOC_WE = 0x178,
SC_PS_PA0_SC_FIFO_EMPTY = 0x179,
SC_PS_PA0_SC_FIFO_FULL = 0x17a,
SC_PA0_PS_DATA_SEND = 0x17b,
SC_PS_PA1_SC_FIFO_EMPTY = 0x17c,
SC_PS_PA1_SC_FIFO_FULL = 0x17d,
SC_PA1_PS_DATA_SEND = 0x17e,
SC_PS_PA2_SC_FIFO_EMPTY = 0x17f,
SC_PS_PA2_SC_FIFO_FULL = 0x180,
SC_PA2_PS_DATA_SEND = 0x181,
SC_PS_PA3_SC_FIFO_EMPTY = 0x182,
SC_PS_PA3_SC_FIFO_FULL = 0x183,
SC_PA3_PS_DATA_SEND = 0x184,
SC_BUSY_PROCESSING_MULTICYCLE_PRIM = 0x185,
SC_BUSY_CNT_NOT_ZERO = 0x186,
SC_BM_BUSY = 0x187,
SC_BACKEND_BUSY = 0x188,
SC_SCF_SCB_INTERFACE_BUSY = 0x189,
SC_SCB_BUSY = 0x18a,
} SC_PERFCNT_SEL;
typedef enum SePairXsel {
RASTER_CONFIG_SE_PAIR_XSEL_8_WIDE_TILE = 0x0,
RASTER_CONFIG_SE_PAIR_XSEL_16_WIDE_TILE = 0x1,
RASTER_CONFIG_SE_PAIR_XSEL_32_WIDE_TILE = 0x2,
RASTER_CONFIG_SE_PAIR_XSEL_64_WIDE_TILE = 0x3,
} SePairXsel;
typedef enum SePairYsel {
RASTER_CONFIG_SE_PAIR_YSEL_8_WIDE_TILE = 0x0,
RASTER_CONFIG_SE_PAIR_YSEL_16_WIDE_TILE = 0x1,
RASTER_CONFIG_SE_PAIR_YSEL_32_WIDE_TILE = 0x2,
RASTER_CONFIG_SE_PAIR_YSEL_64_WIDE_TILE = 0x3,
} SePairYsel;
typedef enum SePairMap {
RASTER_CONFIG_SE_PAIR_MAP_0 = 0x0,
RASTER_CONFIG_SE_PAIR_MAP_1 = 0x1,
RASTER_CONFIG_SE_PAIR_MAP_2 = 0x2,
RASTER_CONFIG_SE_PAIR_MAP_3 = 0x3,
} SePairMap;
typedef enum SeXsel {
RASTER_CONFIG_SE_XSEL_8_WIDE_TILE = 0x0,
RASTER_CONFIG_SE_XSEL_16_WIDE_TILE = 0x1,
RASTER_CONFIG_SE_XSEL_32_WIDE_TILE = 0x2,
RASTER_CONFIG_SE_XSEL_64_WIDE_TILE = 0x3,
} SeXsel;
typedef enum SeYsel {
RASTER_CONFIG_SE_YSEL_8_WIDE_TILE = 0x0,
RASTER_CONFIG_SE_YSEL_16_WIDE_TILE = 0x1,
RASTER_CONFIG_SE_YSEL_32_WIDE_TILE = 0x2,
RASTER_CONFIG_SE_YSEL_64_WIDE_TILE = 0x3,
} SeYsel;
typedef enum SeMap {
RASTER_CONFIG_SE_MAP_0 = 0x0,
RASTER_CONFIG_SE_MAP_1 = 0x1,
RASTER_CONFIG_SE_MAP_2 = 0x2,
RASTER_CONFIG_SE_MAP_3 = 0x3,
} SeMap;
typedef enum ScXsel {
RASTER_CONFIG_SC_XSEL_8_WIDE_TILE = 0x0,
RASTER_CONFIG_SC_XSEL_16_WIDE_TILE = 0x1,
RASTER_CONFIG_SC_XSEL_32_WIDE_TILE = 0x2,
RASTER_CONFIG_SC_XSEL_64_WIDE_TILE = 0x3,
} ScXsel;
typedef enum ScYsel {
RASTER_CONFIG_SC_YSEL_8_WIDE_TILE = 0x0,
RASTER_CONFIG_SC_YSEL_16_WIDE_TILE = 0x1,
RASTER_CONFIG_SC_YSEL_32_WIDE_TILE = 0x2,
RASTER_CONFIG_SC_YSEL_64_WIDE_TILE = 0x3,
} ScYsel;
typedef enum ScMap {
RASTER_CONFIG_SC_MAP_0 = 0x0,
RASTER_CONFIG_SC_MAP_1 = 0x1,
RASTER_CONFIG_SC_MAP_2 = 0x2,
RASTER_CONFIG_SC_MAP_3 = 0x3,
} ScMap;
typedef enum PkrXsel2 {
RASTER_CONFIG_PKR_XSEL2_0 = 0x0,
RASTER_CONFIG_PKR_XSEL2_1 = 0x1,
RASTER_CONFIG_PKR_XSEL2_2 = 0x2,
RASTER_CONFIG_PKR_XSEL2_3 = 0x3,
} PkrXsel2;
typedef enum PkrXsel {
RASTER_CONFIG_PKR_XSEL_0 = 0x0,
RASTER_CONFIG_PKR_XSEL_1 = 0x1,
RASTER_CONFIG_PKR_XSEL_2 = 0x2,
RASTER_CONFIG_PKR_XSEL_3 = 0x3,
} PkrXsel;
typedef enum PkrYsel {
RASTER_CONFIG_PKR_YSEL_0 = 0x0,
RASTER_CONFIG_PKR_YSEL_1 = 0x1,
RASTER_CONFIG_PKR_YSEL_2 = 0x2,
RASTER_CONFIG_PKR_YSEL_3 = 0x3,
} PkrYsel;
typedef enum PkrMap {
RASTER_CONFIG_PKR_MAP_0 = 0x0,
RASTER_CONFIG_PKR_MAP_1 = 0x1,
RASTER_CONFIG_PKR_MAP_2 = 0x2,
RASTER_CONFIG_PKR_MAP_3 = 0x3,
} PkrMap;
typedef enum RbXsel {
RASTER_CONFIG_RB_XSEL_0 = 0x0,
RASTER_CONFIG_RB_XSEL_1 = 0x1,
} RbXsel;
typedef enum RbYsel {
RASTER_CONFIG_RB_YSEL_0 = 0x0,
RASTER_CONFIG_RB_YSEL_1 = 0x1,
} RbYsel;
typedef enum RbXsel2 {
RASTER_CONFIG_RB_XSEL2_0 = 0x0,
RASTER_CONFIG_RB_XSEL2_1 = 0x1,
RASTER_CONFIG_RB_XSEL2_2 = 0x2,
RASTER_CONFIG_RB_XSEL2_3 = 0x3,
} RbXsel2;
typedef enum RbMap {
RASTER_CONFIG_RB_MAP_0 = 0x0,
RASTER_CONFIG_RB_MAP_1 = 0x1,
RASTER_CONFIG_RB_MAP_2 = 0x2,
RASTER_CONFIG_RB_MAP_3 = 0x3,
} RbMap;
typedef enum CSDATA_TYPE {
CSDATA_TYPE_TG = 0x0,
CSDATA_TYPE_STATE = 0x1,
CSDATA_TYPE_EVENT = 0x2,
CSDATA_TYPE_PRIVATE = 0x3,
} CSDATA_TYPE;
#define CSDATA_TYPE_WIDTH 0x2
#define CSDATA_ADDR_WIDTH 0x7
#define CSDATA_DATA_WIDTH 0x20
typedef enum SPI_SAMPLE_CNTL {
CENTROIDS_ONLY = 0x0,
CENTERS_ONLY = 0x1,
CENTROIDS_AND_CENTERS = 0x2,
UNDEF = 0x3,
} SPI_SAMPLE_CNTL;
typedef enum SPI_FOG_MODE {
SPI_FOG_NONE = 0x0,
SPI_FOG_EXP = 0x1,
SPI_FOG_EXP2 = 0x2,
SPI_FOG_LINEAR = 0x3,
} SPI_FOG_MODE;
typedef enum SPI_PNT_SPRITE_OVERRIDE {
SPI_PNT_SPRITE_SEL_0 = 0x0,
SPI_PNT_SPRITE_SEL_1 = 0x1,
SPI_PNT_SPRITE_SEL_S = 0x2,
SPI_PNT_SPRITE_SEL_T = 0x3,
SPI_PNT_SPRITE_SEL_NONE = 0x4,
} SPI_PNT_SPRITE_OVERRIDE;
typedef enum SPI_PERFCNT_SEL {
SPI_PERF_VS_WINDOW_VALID = 0x0,
SPI_PERF_VS_BUSY = 0x1,
SPI_PERF_VS_FIRST_WAVE = 0x2,
SPI_PERF_VS_LAST_WAVE = 0x3,
SPI_PERF_VS_LSHS_DEALLOC = 0x4,
SPI_PERF_VS_PC_STALL = 0x5,
SPI_PERF_VS_POS0_STALL = 0x6,
SPI_PERF_VS_POS1_STALL = 0x7,
SPI_PERF_VS_CRAWLER_STALL = 0x8,
SPI_PERF_VS_EVENT_WAVE = 0x9,
SPI_PERF_VS_WAVE = 0xa,
SPI_PERF_VS_PERS_UPD_FULL0 = 0xb,
SPI_PERF_VS_PERS_UPD_FULL1 = 0xc,
SPI_PERF_VS_LATE_ALLOC_FULL = 0xd,
SPI_PERF_VS_FIRST_SUBGRP = 0xe,
SPI_PERF_VS_LAST_SUBGRP = 0xf,
SPI_PERF_GS_WINDOW_VALID = 0x10,
SPI_PERF_GS_BUSY = 0x11,
SPI_PERF_GS_CRAWLER_STALL = 0x12,
SPI_PERF_GS_EVENT_WAVE = 0x13,
SPI_PERF_GS_WAVE = 0x14,
SPI_PERF_GS_PERS_UPD_FULL0 = 0x15,
SPI_PERF_GS_PERS_UPD_FULL1 = 0x16,
SPI_PERF_GS_FIRST_SUBGRP = 0x17,
SPI_PERF_GS_LAST_SUBGRP = 0x18,
SPI_PERF_ES_WINDOW_VALID = 0x19,
SPI_PERF_ES_BUSY = 0x1a,
SPI_PERF_ES_CRAWLER_STALL = 0x1b,
SPI_PERF_ES_FIRST_WAVE = 0x1c,
SPI_PERF_ES_LAST_WAVE = 0x1d,
SPI_PERF_ES_LSHS_DEALLOC = 0x1e,
SPI_PERF_ES_EVENT_WAVE = 0x1f,
SPI_PERF_ES_WAVE = 0x20,
SPI_PERF_ES_PERS_UPD_FULL0 = 0x21,
SPI_PERF_ES_PERS_UPD_FULL1 = 0x22,
SPI_PERF_ES_FIRST_SUBGRP = 0x23,
SPI_PERF_ES_LAST_SUBGRP = 0x24,
SPI_PERF_HS_WINDOW_VALID = 0x25,
SPI_PERF_HS_BUSY = 0x26,
SPI_PERF_HS_CRAWLER_STALL = 0x27,
SPI_PERF_HS_FIRST_WAVE = 0x28,
SPI_PERF_HS_LAST_WAVE = 0x29,
SPI_PERF_HS_LSHS_DEALLOC = 0x2a,
SPI_PERF_HS_EVENT_WAVE = 0x2b,
SPI_PERF_HS_WAVE = 0x2c,
SPI_PERF_HS_PERS_UPD_FULL0 = 0x2d,
SPI_PERF_HS_PERS_UPD_FULL1 = 0x2e,
SPI_PERF_LS_WINDOW_VALID = 0x2f,
SPI_PERF_LS_BUSY = 0x30,
SPI_PERF_LS_CRAWLER_STALL = 0x31,
SPI_PERF_LS_FIRST_WAVE = 0x32,
SPI_PERF_LS_LAST_WAVE = 0x33,
SPI_PERF_OFFCHIP_LDS_STALL_LS = 0x34,
SPI_PERF_LS_EVENT_WAVE = 0x35,
SPI_PERF_LS_WAVE = 0x36,
SPI_PERF_LS_PERS_UPD_FULL0 = 0x37,
SPI_PERF_LS_PERS_UPD_FULL1 = 0x38,
SPI_PERF_CSG_WINDOW_VALID = 0x39,
SPI_PERF_CSG_BUSY = 0x3a,
SPI_PERF_CSG_NUM_THREADGROUPS = 0x3b,
SPI_PERF_CSG_CRAWLER_STALL = 0x3c,
SPI_PERF_CSG_EVENT_WAVE = 0x3d,
SPI_PERF_CSG_WAVE = 0x3e,
SPI_PERF_CSN_WINDOW_VALID = 0x3f,
SPI_PERF_CSN_BUSY = 0x40,
SPI_PERF_CSN_NUM_THREADGROUPS = 0x41,
SPI_PERF_CSN_CRAWLER_STALL = 0x42,
SPI_PERF_CSN_EVENT_WAVE = 0x43,
SPI_PERF_CSN_WAVE = 0x44,
SPI_PERF_PS_CTL_WINDOW_VALID = 0x45,
SPI_PERF_PS_CTL_BUSY = 0x46,
SPI_PERF_PS_CTL_ACTIVE = 0x47,
SPI_PERF_PS_CTL_DEALLOC_BIN0 = 0x48,
SPI_PERF_PS_CTL_FPOS_BIN1_STALL = 0x49,
SPI_PERF_PS_CTL_EVENT_WAVE = 0x4a,
SPI_PERF_PS_CTL_WAVE = 0x4b,
SPI_PERF_PS_CTL_OPT_WAVE = 0x4c,
SPI_PERF_PS_CTL_PASS_BIN0 = 0x4d,
SPI_PERF_PS_CTL_PASS_BIN1 = 0x4e,
SPI_PERF_PS_CTL_FPOS_BIN2 = 0x4f,
SPI_PERF_PS_CTL_PRIM_BIN0 = 0x50,
SPI_PERF_PS_CTL_PRIM_BIN1 = 0x51,
SPI_PERF_PS_CTL_CNF_BIN2 = 0x52,
SPI_PERF_PS_CTL_CNF_BIN3 = 0x53,
SPI_PERF_PS_CTL_CRAWLER_STALL = 0x54,
SPI_PERF_PS_CTL_LDS_RES_FULL = 0x55,
SPI_PERF_PS_PERS_UPD_FULL0 = 0x56,
SPI_PERF_PS_PERS_UPD_FULL1 = 0x57,
SPI_PERF_PIX_ALLOC_PEND_CNT = 0x58,
SPI_PERF_PIX_ALLOC_SCB_STALL = 0x59,
SPI_PERF_PIX_ALLOC_DB0_STALL = 0x5a,
SPI_PERF_PIX_ALLOC_DB1_STALL = 0x5b,
SPI_PERF_PIX_ALLOC_DB2_STALL = 0x5c,
SPI_PERF_PIX_ALLOC_DB3_STALL = 0x5d,
SPI_PERF_LDS0_PC_VALID = 0x5e,
SPI_PERF_LDS1_PC_VALID = 0x5f,
SPI_PERF_RA_PIPE_REQ_BIN2 = 0x60,
SPI_PERF_RA_TASK_REQ_BIN3 = 0x61,
SPI_PERF_RA_WR_CTL_FULL = 0x62,
SPI_PERF_RA_REQ_NO_ALLOC = 0x63,
SPI_PERF_RA_REQ_NO_ALLOC_PS = 0x64,
SPI_PERF_RA_REQ_NO_ALLOC_VS = 0x65,
SPI_PERF_RA_REQ_NO_ALLOC_GS = 0x66,
SPI_PERF_RA_REQ_NO_ALLOC_ES = 0x67,
SPI_PERF_RA_REQ_NO_ALLOC_HS = 0x68,
SPI_PERF_RA_REQ_NO_ALLOC_LS = 0x69,
SPI_PERF_RA_REQ_NO_ALLOC_CSG = 0x6a,
SPI_PERF_RA_REQ_NO_ALLOC_CSN = 0x6b,
SPI_PERF_RA_RES_STALL_PS = 0x6c,
SPI_PERF_RA_RES_STALL_VS = 0x6d,
SPI_PERF_RA_RES_STALL_GS = 0x6e,
SPI_PERF_RA_RES_STALL_ES = 0x6f,
SPI_PERF_RA_RES_STALL_HS = 0x70,
SPI_PERF_RA_RES_STALL_LS = 0x71,
SPI_PERF_RA_RES_STALL_CSG = 0x72,
SPI_PERF_RA_RES_STALL_CSN = 0x73,
SPI_PERF_RA_TMP_STALL_PS = 0x74,
SPI_PERF_RA_TMP_STALL_VS = 0x75,
SPI_PERF_RA_TMP_STALL_GS = 0x76,
SPI_PERF_RA_TMP_STALL_ES = 0x77,
SPI_PERF_RA_TMP_STALL_HS = 0x78,
SPI_PERF_RA_TMP_STALL_LS = 0x79,
SPI_PERF_RA_TMP_STALL_CSG = 0x7a,
SPI_PERF_RA_TMP_STALL_CSN = 0x7b,
SPI_PERF_RA_WAVE_SIMD_FULL_PS = 0x7c,
SPI_PERF_RA_WAVE_SIMD_FULL_VS = 0x7d,
SPI_PERF_RA_WAVE_SIMD_FULL_GS = 0x7e,
SPI_PERF_RA_WAVE_SIMD_FULL_ES = 0x7f,
SPI_PERF_RA_WAVE_SIMD_FULL_HS = 0x80,
SPI_PERF_RA_WAVE_SIMD_FULL_LS = 0x81,
SPI_PERF_RA_WAVE_SIMD_FULL_CSG = 0x82,
SPI_PERF_RA_WAVE_SIMD_FULL_CSN = 0x83,
SPI_PERF_RA_VGPR_SIMD_FULL_PS = 0x84,
SPI_PERF_RA_VGPR_SIMD_FULL_VS = 0x85,
SPI_PERF_RA_VGPR_SIMD_FULL_GS = 0x86,
SPI_PERF_RA_VGPR_SIMD_FULL_ES = 0x87,
SPI_PERF_RA_VGPR_SIMD_FULL_HS = 0x88,
SPI_PERF_RA_VGPR_SIMD_FULL_LS = 0x89,
SPI_PERF_RA_VGPR_SIMD_FULL_CSG = 0x8a,
SPI_PERF_RA_VGPR_SIMD_FULL_CSN = 0x8b,
SPI_PERF_RA_SGPR_SIMD_FULL_PS = 0x8c,
SPI_PERF_RA_SGPR_SIMD_FULL_VS = 0x8d,
SPI_PERF_RA_SGPR_SIMD_FULL_GS = 0x8e,
SPI_PERF_RA_SGPR_SIMD_FULL_ES = 0x8f,
SPI_PERF_RA_SGPR_SIMD_FULL_HS = 0x90,
SPI_PERF_RA_SGPR_SIMD_FULL_LS = 0x91,
SPI_PERF_RA_SGPR_SIMD_FULL_CSG = 0x92,
SPI_PERF_RA_SGPR_SIMD_FULL_CSN = 0x93,
SPI_PERF_RA_LDS_CU_FULL_PS = 0x94,
SPI_PERF_RA_LDS_CU_FULL_LS = 0x95,
SPI_PERF_RA_LDS_CU_FULL_ES = 0x96,
SPI_PERF_RA_LDS_CU_FULL_CSG = 0x97,
SPI_PERF_RA_LDS_CU_FULL_CSN = 0x98,
SPI_PERF_RA_BAR_CU_FULL_HS = 0x99,
SPI_PERF_RA_BAR_CU_FULL_CSG = 0x9a,
SPI_PERF_RA_BAR_CU_FULL_CSN = 0x9b,
SPI_PERF_RA_BULKY_CU_FULL_CSG = 0x9c,
SPI_PERF_RA_BULKY_CU_FULL_CSN = 0x9d,
SPI_PERF_RA_TGLIM_CU_FULL_CSG = 0x9e,
SPI_PERF_RA_TGLIM_CU_FULL_CSN = 0x9f,
SPI_PERF_RA_WVLIM_STALL_PS = 0xa0,
SPI_PERF_RA_WVLIM_STALL_VS = 0xa1,
SPI_PERF_RA_WVLIM_STALL_GS = 0xa2,
SPI_PERF_RA_WVLIM_STALL_ES = 0xa3,
SPI_PERF_RA_WVLIM_STALL_HS = 0xa4,
SPI_PERF_RA_WVLIM_STALL_LS = 0xa5,
SPI_PERF_RA_WVLIM_STALL_CSG = 0xa6,
SPI_PERF_RA_WVLIM_STALL_CSN = 0xa7,
SPI_PERF_RA_PS_LOCK = 0xa8,
SPI_PERF_RA_VS_LOCK = 0xa9,
SPI_PERF_RA_GS_LOCK = 0xaa,
SPI_PERF_RA_ES_LOCK = 0xab,
SPI_PERF_RA_HS_LOCK = 0xac,
SPI_PERF_RA_LS_LOCK = 0xad,
SPI_PERF_RA_CSG_LOCK = 0xae,
SPI_PERF_RA_CSN_LOCK = 0xaf,
SPI_PERF_RA_RSV_UPD = 0xb0,
SPI_PERF_EXP_ARB_COL_CNT = 0xb1,
SPI_PERF_EXP_ARB_PAR_CNT = 0xb2,
SPI_PERF_EXP_ARB_POS_CNT = 0xb3,
SPI_PERF_EXP_ARB_GDS_CNT = 0xb4,
SPI_PERF_CLKGATE_BUSY_STALL = 0xb5,
SPI_PERF_CLKGATE_ACTIVE_STALL = 0xb6,
SPI_PERF_CLKGATE_ALL_CLOCKS_ON = 0xb7,
SPI_PERF_CLKGATE_CGTT_DYN_ON = 0xb8,
SPI_PERF_CLKGATE_CGTT_REG_ON = 0xb9,
} SPI_PERFCNT_SEL;
typedef enum SPI_SHADER_FORMAT {
SPI_SHADER_NONE = 0x0,
SPI_SHADER_1COMP = 0x1,
SPI_SHADER_2COMP = 0x2,
SPI_SHADER_4COMPRESS = 0x3,
SPI_SHADER_4COMP = 0x4,
} SPI_SHADER_FORMAT;
typedef enum SPI_SHADER_EX_FORMAT {
SPI_SHADER_ZERO = 0x0,
SPI_SHADER_32_R = 0x1,
SPI_SHADER_32_GR = 0x2,
SPI_SHADER_32_AR = 0x3,
SPI_SHADER_FP16_ABGR = 0x4,
SPI_SHADER_UNORM16_ABGR = 0x5,
SPI_SHADER_SNORM16_ABGR = 0x6,
SPI_SHADER_UINT16_ABGR = 0x7,
SPI_SHADER_SINT16_ABGR = 0x8,
SPI_SHADER_32_ABGR = 0x9,
} SPI_SHADER_EX_FORMAT;
typedef enum CLKGATE_SM_MODE {
ON_SEQ = 0x0,
OFF_SEQ = 0x1,
PROG_SEQ = 0x2,
READ_SEQ = 0x3,
SM_MODE_RESERVED = 0x4,
} CLKGATE_SM_MODE;
typedef enum CLKGATE_BASE_MODE {
MULT_8 = 0x0,
MULT_16 = 0x1,
} CLKGATE_BASE_MODE;
typedef enum SQ_TEX_CLAMP {
SQ_TEX_WRAP = 0x0,
SQ_TEX_MIRROR = 0x1,
SQ_TEX_CLAMP_LAST_TEXEL = 0x2,
SQ_TEX_MIRROR_ONCE_LAST_TEXEL = 0x3,
SQ_TEX_CLAMP_HALF_BORDER = 0x4,
SQ_TEX_MIRROR_ONCE_HALF_BORDER = 0x5,
SQ_TEX_CLAMP_BORDER = 0x6,
SQ_TEX_MIRROR_ONCE_BORDER = 0x7,
} SQ_TEX_CLAMP;
typedef enum SQ_TEX_XY_FILTER {
SQ_TEX_XY_FILTER_POINT = 0x0,
SQ_TEX_XY_FILTER_BILINEAR = 0x1,
SQ_TEX_XY_FILTER_ANISO_POINT = 0x2,
SQ_TEX_XY_FILTER_ANISO_BILINEAR = 0x3,
} SQ_TEX_XY_FILTER;
typedef enum SQ_TEX_Z_FILTER {
SQ_TEX_Z_FILTER_NONE = 0x0,
SQ_TEX_Z_FILTER_POINT = 0x1,
SQ_TEX_Z_FILTER_LINEAR = 0x2,
} SQ_TEX_Z_FILTER;
typedef enum SQ_TEX_MIP_FILTER {
SQ_TEX_MIP_FILTER_NONE = 0x0,
SQ_TEX_MIP_FILTER_POINT = 0x1,
SQ_TEX_MIP_FILTER_LINEAR = 0x2,
} SQ_TEX_MIP_FILTER;
typedef enum SQ_TEX_ANISO_RATIO {
SQ_TEX_ANISO_RATIO_1 = 0x0,
SQ_TEX_ANISO_RATIO_2 = 0x1,
SQ_TEX_ANISO_RATIO_4 = 0x2,
SQ_TEX_ANISO_RATIO_8 = 0x3,
SQ_TEX_ANISO_RATIO_16 = 0x4,
} SQ_TEX_ANISO_RATIO;
typedef enum SQ_TEX_DEPTH_COMPARE {
SQ_TEX_DEPTH_COMPARE_NEVER = 0x0,
SQ_TEX_DEPTH_COMPARE_LESS = 0x1,
SQ_TEX_DEPTH_COMPARE_EQUAL = 0x2,
SQ_TEX_DEPTH_COMPARE_LESSEQUAL = 0x3,
SQ_TEX_DEPTH_COMPARE_GREATER = 0x4,
SQ_TEX_DEPTH_COMPARE_NOTEQUAL = 0x5,
SQ_TEX_DEPTH_COMPARE_GREATEREQUAL = 0x6,
SQ_TEX_DEPTH_COMPARE_ALWAYS = 0x7,
} SQ_TEX_DEPTH_COMPARE;
typedef enum SQ_TEX_BORDER_COLOR {
SQ_TEX_BORDER_COLOR_TRANS_BLACK = 0x0,
SQ_TEX_BORDER_COLOR_OPAQUE_BLACK = 0x1,
SQ_TEX_BORDER_COLOR_OPAQUE_WHITE = 0x2,
SQ_TEX_BORDER_COLOR_REGISTER = 0x3,
} SQ_TEX_BORDER_COLOR;
typedef enum SQ_RSRC_BUF_TYPE {
SQ_RSRC_BUF = 0x0,
SQ_RSRC_BUF_RSVD_1 = 0x1,
SQ_RSRC_BUF_RSVD_2 = 0x2,
SQ_RSRC_BUF_RSVD_3 = 0x3,
} SQ_RSRC_BUF_TYPE;
typedef enum SQ_RSRC_IMG_TYPE {
SQ_RSRC_IMG_RSVD_0 = 0x0,
SQ_RSRC_IMG_RSVD_1 = 0x1,
SQ_RSRC_IMG_RSVD_2 = 0x2,
SQ_RSRC_IMG_RSVD_3 = 0x3,
SQ_RSRC_IMG_RSVD_4 = 0x4,
SQ_RSRC_IMG_RSVD_5 = 0x5,
SQ_RSRC_IMG_RSVD_6 = 0x6,
SQ_RSRC_IMG_RSVD_7 = 0x7,
SQ_RSRC_IMG_1D = 0x8,
SQ_RSRC_IMG_2D = 0x9,
SQ_RSRC_IMG_3D = 0xa,
SQ_RSRC_IMG_CUBE = 0xb,
SQ_RSRC_IMG_1D_ARRAY = 0xc,
SQ_RSRC_IMG_2D_ARRAY = 0xd,
SQ_RSRC_IMG_2D_MSAA = 0xe,
SQ_RSRC_IMG_2D_MSAA_ARRAY = 0xf,
} SQ_RSRC_IMG_TYPE;
typedef enum SQ_RSRC_FLAT_TYPE {
SQ_RSRC_FLAT_RSVD_0 = 0x0,
SQ_RSRC_FLAT = 0x1,
SQ_RSRC_FLAT_RSVD_2 = 0x2,
SQ_RSRC_FLAT_RSVD_3 = 0x3,
} SQ_RSRC_FLAT_TYPE;
typedef enum SQ_IMG_FILTER_TYPE {
SQ_IMG_FILTER_MODE_BLEND = 0x0,
SQ_IMG_FILTER_MODE_MIN = 0x1,
SQ_IMG_FILTER_MODE_MAX = 0x2,
} SQ_IMG_FILTER_TYPE;
typedef enum SQ_SEL_XYZW01 {
SQ_SEL_0 = 0x0,
SQ_SEL_1 = 0x1,
SQ_SEL_RESERVED_0 = 0x2,
SQ_SEL_RESERVED_1 = 0x3,
SQ_SEL_X = 0x4,
SQ_SEL_Y = 0x5,
SQ_SEL_Z = 0x6,
SQ_SEL_W = 0x7,
} SQ_SEL_XYZW01;
typedef enum SQ_WAVE_TYPE {
SQ_WAVE_TYPE_PS = 0x0,
SQ_WAVE_TYPE_VS = 0x1,
SQ_WAVE_TYPE_GS = 0x2,
SQ_WAVE_TYPE_ES = 0x3,
SQ_WAVE_TYPE_HS = 0x4,
SQ_WAVE_TYPE_LS = 0x5,
SQ_WAVE_TYPE_CS = 0x6,
SQ_WAVE_TYPE_PS1 = 0x7,
} SQ_WAVE_TYPE;
typedef enum SQ_THREAD_TRACE_TOKEN_TYPE {
SQ_THREAD_TRACE_TOKEN_MISC = 0x0,
SQ_THREAD_TRACE_TOKEN_TIMESTAMP = 0x1,
SQ_THREAD_TRACE_TOKEN_REG = 0x2,
SQ_THREAD_TRACE_TOKEN_WAVE_START = 0x3,
SQ_THREAD_TRACE_TOKEN_WAVE_ALLOC = 0x4,
SQ_THREAD_TRACE_TOKEN_REG_CSPRIV = 0x5,
SQ_THREAD_TRACE_TOKEN_WAVE_END = 0x6,
SQ_THREAD_TRACE_TOKEN_EVENT = 0x7,
SQ_THREAD_TRACE_TOKEN_EVENT_CS = 0x8,
SQ_THREAD_TRACE_TOKEN_EVENT_GFX1 = 0x9,
SQ_THREAD_TRACE_TOKEN_INST = 0xa,
SQ_THREAD_TRACE_TOKEN_INST_PC = 0xb,
SQ_THREAD_TRACE_TOKEN_INST_USERDATA = 0xc,
SQ_THREAD_TRACE_TOKEN_ISSUE = 0xd,
SQ_THREAD_TRACE_TOKEN_PERF = 0xe,
SQ_THREAD_TRACE_TOKEN_REG_CS = 0xf,
} SQ_THREAD_TRACE_TOKEN_TYPE;
typedef enum SQ_THREAD_TRACE_MISC_TOKEN_TYPE {
SQ_THREAD_TRACE_MISC_TOKEN_TIME = 0x0,
SQ_THREAD_TRACE_MISC_TOKEN_TIME_RESET = 0x1,
SQ_THREAD_TRACE_MISC_TOKEN_PACKET_LOST = 0x2,
SQ_THREAD_TRACE_MISC_TOKEN_SURF_SYNC = 0x3,
SQ_THREAD_TRACE_MISC_TOKEN_TTRACE_STALL_BEGIN = 0x4,
SQ_THREAD_TRACE_MISC_TOKEN_TTRACE_STALL_END = 0x5,
} SQ_THREAD_TRACE_MISC_TOKEN_TYPE;
typedef enum SQ_THREAD_TRACE_INST_TYPE {
SQ_THREAD_TRACE_INST_TYPE_SMEM = 0x0,
SQ_THREAD_TRACE_INST_TYPE_SALU = 0x1,
SQ_THREAD_TRACE_INST_TYPE_VMEM_RD = 0x2,
SQ_THREAD_TRACE_INST_TYPE_VMEM_WR = 0x3,
SQ_THREAD_TRACE_INST_TYPE_FLAT_WR = 0x4,
SQ_THREAD_TRACE_INST_TYPE_VALU = 0x5,
SQ_THREAD_TRACE_INST_TYPE_LDS = 0x6,
SQ_THREAD_TRACE_INST_TYPE_PC = 0x7,
SQ_THREAD_TRACE_INST_TYPE_EXPREQ_GDS = 0x8,
SQ_THREAD_TRACE_INST_TYPE_EXPREQ_GFX = 0x9,
SQ_THREAD_TRACE_INST_TYPE_EXPGNT_PAR_COL = 0xa,
SQ_THREAD_TRACE_INST_TYPE_EXPGNT_POS_GDS = 0xb,
SQ_THREAD_TRACE_INST_TYPE_JUMP = 0xc,
SQ_THREAD_TRACE_INST_TYPE_NEXT = 0xd,
SQ_THREAD_TRACE_INST_TYPE_FLAT_RD = 0xe,
SQ_THREAD_TRACE_INST_TYPE_OTHER_MSG = 0xf,
} SQ_THREAD_TRACE_INST_TYPE;
typedef enum SQ_THREAD_TRACE_REG_TYPE {
SQ_THREAD_TRACE_REG_TYPE_EVENT = 0x0,
SQ_THREAD_TRACE_REG_TYPE_DRAW = 0x1,
SQ_THREAD_TRACE_REG_TYPE_DISPATCH = 0x2,
SQ_THREAD_TRACE_REG_TYPE_USERDATA = 0x3,
SQ_THREAD_TRACE_REG_TYPE_MARKER = 0x4,
SQ_THREAD_TRACE_REG_TYPE_GFXDEC = 0x5,
SQ_THREAD_TRACE_REG_TYPE_SHDEC = 0x6,
SQ_THREAD_TRACE_REG_TYPE_OTHER = 0x7,
} SQ_THREAD_TRACE_REG_TYPE;
typedef enum SQ_THREAD_TRACE_REG_OP {
SQ_THREAD_TRACE_REG_OP_READ = 0x0,
SQ_THREAD_TRACE_REG_OP_WRITE = 0x1,
} SQ_THREAD_TRACE_REG_OP;
typedef enum SQ_THREAD_TRACE_MODE_SEL {
SQ_THREAD_TRACE_MODE_OFF = 0x0,
SQ_THREAD_TRACE_MODE_ON = 0x1,
SQ_THREAD_TRACE_MODE_RANDOM = 0x2,
} SQ_THREAD_TRACE_MODE_SEL;
typedef enum SQ_THREAD_TRACE_CAPTURE_MODE {
SQ_THREAD_TRACE_CAPTURE_MODE_ALL = 0x0,
SQ_THREAD_TRACE_CAPTURE_MODE_SELECT = 0x1,
SQ_THREAD_TRACE_CAPTURE_MODE_SELECT_DETAIL = 0x2,
} SQ_THREAD_TRACE_CAPTURE_MODE;
typedef enum SQ_THREAD_TRACE_VM_ID_MASK {
SQ_THREAD_TRACE_VM_ID_MASK_SINGLE = 0x0,
SQ_THREAD_TRACE_VM_ID_MASK_ALL = 0x1,
SQ_THREAD_TRACE_VM_ID_MASK_SINGLE_DETAIL = 0x2,
} SQ_THREAD_TRACE_VM_ID_MASK;
typedef enum SQ_THREAD_TRACE_WAVE_MASK {
SQ_THREAD_TRACE_WAVE_MASK_NONE = 0x0,
SQ_THREAD_TRACE_WAVE_MASK_ALL = 0x1,
SQ_THREAD_TRACE_WAVE_MASK_1_2 = 0x2,
SQ_THREAD_TRACE_WAVE_MASK_1_4 = 0x3,
SQ_THREAD_TRACE_WAVE_MASK_1_8 = 0x4,
SQ_THREAD_TRACE_WAVE_MASK_1_16 = 0x5,
SQ_THREAD_TRACE_WAVE_MASK_1_32 = 0x6,
SQ_THREAD_TRACE_WAVE_MASK_1_64 = 0x7,
} SQ_THREAD_TRACE_WAVE_MASK;
typedef enum SQ_THREAD_TRACE_ISSUE {
SQ_THREAD_TRACE_ISSUE_NULL = 0x0,
SQ_THREAD_TRACE_ISSUE_STALL = 0x1,
SQ_THREAD_TRACE_ISSUE_INST = 0x2,
SQ_THREAD_TRACE_ISSUE_IMMED = 0x3,
} SQ_THREAD_TRACE_ISSUE;
typedef enum SQ_THREAD_TRACE_ISSUE_MASK {
SQ_THREAD_TRACE_ISSUE_MASK_ALL = 0x0,
SQ_THREAD_TRACE_ISSUE_MASK_STALLED = 0x1,
SQ_THREAD_TRACE_ISSUE_MASK_STALLED_AND_IMMED = 0x2,
SQ_THREAD_TRACE_ISSUE_MASK_IMMED = 0x3,
} SQ_THREAD_TRACE_ISSUE_MASK;
typedef enum SQ_PERF_SEL {
SQ_PERF_SEL_NONE = 0x0,
SQ_PERF_SEL_ACCUM_PREV = 0x1,
SQ_PERF_SEL_CYCLES = 0x2,
SQ_PERF_SEL_BUSY_CYCLES = 0x3,
SQ_PERF_SEL_WAVES = 0x4,
SQ_PERF_SEL_LEVEL_WAVES = 0x5,
SQ_PERF_SEL_WAVES_EQ_64 = 0x6,
SQ_PERF_SEL_WAVES_LT_64 = 0x7,
SQ_PERF_SEL_WAVES_LT_48 = 0x8,
SQ_PERF_SEL_WAVES_LT_32 = 0x9,
SQ_PERF_SEL_WAVES_LT_16 = 0xa,
SQ_PERF_SEL_WAVES_CU = 0xb,
SQ_PERF_SEL_LEVEL_WAVES_CU = 0xc,
SQ_PERF_SEL_BUSY_CU_CYCLES = 0xd,
SQ_PERF_SEL_ITEMS = 0xe,
SQ_PERF_SEL_QUADS = 0xf,
SQ_PERF_SEL_EVENTS = 0x10,
SQ_PERF_SEL_SURF_SYNCS = 0x11,
SQ_PERF_SEL_TTRACE_REQS = 0x12,
SQ_PERF_SEL_TTRACE_INFLIGHT_REQS = 0x13,
SQ_PERF_SEL_TTRACE_STALL = 0x14,
SQ_PERF_SEL_MSG_CNTR = 0x15,
SQ_PERF_SEL_MSG_PERF = 0x16,
SQ_PERF_SEL_MSG_GSCNT = 0x17,
SQ_PERF_SEL_MSG_INTERRUPT = 0x18,
SQ_PERF_SEL_INSTS = 0x19,
SQ_PERF_SEL_INSTS_VALU = 0x1a,
SQ_PERF_SEL_INSTS_VMEM_WR = 0x1b,
SQ_PERF_SEL_INSTS_VMEM_RD = 0x1c,
SQ_PERF_SEL_INSTS_VMEM = 0x1d,
SQ_PERF_SEL_INSTS_SALU = 0x1e,
SQ_PERF_SEL_INSTS_SMEM = 0x1f,
SQ_PERF_SEL_INSTS_FLAT = 0x20,
SQ_PERF_SEL_INSTS_FLAT_LDS_ONLY = 0x21,
SQ_PERF_SEL_INSTS_LDS = 0x22,
SQ_PERF_SEL_INSTS_GDS = 0x23,
SQ_PERF_SEL_INSTS_EXP = 0x24,
SQ_PERF_SEL_INSTS_EXP_GDS = 0x25,
SQ_PERF_SEL_INSTS_BRANCH = 0x26,
SQ_PERF_SEL_INSTS_SENDMSG = 0x27,
SQ_PERF_SEL_INSTS_VSKIPPED = 0x28,
SQ_PERF_SEL_INST_LEVEL_VMEM = 0x29,
SQ_PERF_SEL_INST_LEVEL_SMEM = 0x2a,
SQ_PERF_SEL_INST_LEVEL_LDS = 0x2b,
SQ_PERF_SEL_INST_LEVEL_GDS = 0x2c,
SQ_PERF_SEL_INST_LEVEL_EXP = 0x2d,
SQ_PERF_SEL_WAVE_CYCLES = 0x2e,
SQ_PERF_SEL_WAVE_READY = 0x2f,
SQ_PERF_SEL_WAIT_CNT_VM = 0x30,
SQ_PERF_SEL_WAIT_CNT_LGKM = 0x31,
SQ_PERF_SEL_WAIT_CNT_EXP = 0x32,
SQ_PERF_SEL_WAIT_CNT_ANY = 0x33,
SQ_PERF_SEL_WAIT_BARRIER = 0x34,
SQ_PERF_SEL_WAIT_EXP_ALLOC = 0x35,
SQ_PERF_SEL_WAIT_SLEEP = 0x36,
SQ_PERF_SEL_WAIT_OTHER = 0x37,
SQ_PERF_SEL_WAIT_ANY = 0x38,
SQ_PERF_SEL_WAIT_TTRACE = 0x39,
SQ_PERF_SEL_WAIT_IFETCH = 0x3a,
SQ_PERF_SEL_WAIT_INST_VMEM = 0x3b,
SQ_PERF_SEL_WAIT_INST_SCA = 0x3c,
SQ_PERF_SEL_WAIT_INST_LDS = 0x3d,
SQ_PERF_SEL_WAIT_INST_VALU = 0x3e,
SQ_PERF_SEL_WAIT_INST_EXP_GDS = 0x3f,
SQ_PERF_SEL_WAIT_INST_MISC = 0x40,
SQ_PERF_SEL_WAIT_INST_FLAT = 0x41,
SQ_PERF_SEL_ACTIVE_INST_ANY = 0x42,
SQ_PERF_SEL_ACTIVE_INST_VMEM = 0x43,
SQ_PERF_SEL_ACTIVE_INST_LDS = 0x44,
SQ_PERF_SEL_ACTIVE_INST_VALU = 0x45,
SQ_PERF_SEL_ACTIVE_INST_SCA = 0x46,
SQ_PERF_SEL_ACTIVE_INST_EXP_GDS = 0x47,
SQ_PERF_SEL_ACTIVE_INST_MISC = 0x48,
SQ_PERF_SEL_ACTIVE_INST_FLAT = 0x49,
SQ_PERF_SEL_INST_CYCLES_VMEM_WR = 0x4a,
SQ_PERF_SEL_INST_CYCLES_VMEM_RD = 0x4b,
SQ_PERF_SEL_INST_CYCLES_VMEM_ADDR = 0x4c,
SQ_PERF_SEL_INST_CYCLES_VMEM_DATA = 0x4d,
SQ_PERF_SEL_INST_CYCLES_VMEM_CMD = 0x4e,
SQ_PERF_SEL_INST_CYCLES_VMEM = 0x4f,
SQ_PERF_SEL_INST_CYCLES_LDS = 0x50,
SQ_PERF_SEL_INST_CYCLES_VALU = 0x51,
SQ_PERF_SEL_INST_CYCLES_EXP = 0x52,
SQ_PERF_SEL_INST_CYCLES_GDS = 0x53,
SQ_PERF_SEL_INST_CYCLES_SCA = 0x54,
SQ_PERF_SEL_INST_CYCLES_SMEM = 0x55,
SQ_PERF_SEL_INST_CYCLES_SALU = 0x56,
SQ_PERF_SEL_INST_CYCLES_EXP_GDS = 0x57,
SQ_PERF_SEL_INST_CYCLES_MISC = 0x58,
SQ_PERF_SEL_THREAD_CYCLES_VALU = 0x59,
SQ_PERF_SEL_THREAD_CYCLES_VALU_MAX = 0x5a,
SQ_PERF_SEL_IFETCH = 0x5b,
SQ_PERF_SEL_IFETCH_LEVEL = 0x5c,
SQ_PERF_SEL_CBRANCH_FORK = 0x5d,
SQ_PERF_SEL_CBRANCH_FORK_SPLIT = 0x5e,
SQ_PERF_SEL_VALU_LDS_DIRECT_RD = 0x5f,
SQ_PERF_SEL_VALU_LDS_INTERP_OP = 0x60,
SQ_PERF_SEL_LDS_BANK_CONFLICT = 0x61,
SQ_PERF_SEL_LDS_ADDR_CONFLICT = 0x62,
SQ_PERF_SEL_LDS_UNALIGNED_STALL = 0x63,
SQ_PERF_SEL_LDS_MEM_VIOLATIONS = 0x64,
SQ_PERF_SEL_LDS_ATOMIC_RETURN = 0x65,
SQ_PERF_SEL_LDS_IDX_ACTIVE = 0x66,
SQ_PERF_SEL_VALU_DEP_STALL = 0x67,
SQ_PERF_SEL_VALU_STARVE = 0x68,
SQ_PERF_SEL_EXP_REQ_FIFO_FULL = 0x69,
SQ_PERF_SEL_LDS_BACK2BACK_STALL = 0x6a,
SQ_PERF_SEL_LDS_DATA_FIFO_FULL = 0x6b,
SQ_PERF_SEL_LDS_CMD_FIFO_FULL = 0x6c,
SQ_PERF_SEL_VMEM_BACK2BACK_STALL = 0x6d,
SQ_PERF_SEL_VMEM_TA_ADDR_FIFO_FULL = 0x6e,
SQ_PERF_SEL_VMEM_TA_CMD_FIFO_FULL = 0x6f,
SQ_PERF_SEL_VMEM_EX_DATA_REG_BUSY = 0x70,
SQ_PERF_SEL_VMEM_WR_BACK2BACK_STALL = 0x71,
SQ_PERF_SEL_VMEM_WR_TA_DATA_FIFO_FULL = 0x72,
SQ_PERF_SEL_VALU_SRC_C_CONFLICT = 0x73,
SQ_PERF_SEL_VMEM_RD_SRC_CD_CONFLICT = 0x74,
SQ_PERF_SEL_VMEM_WR_SRC_CD_CONFLICT = 0x75,
SQ_PERF_SEL_FLAT_SRC_CD_CONFLICT = 0x76,
SQ_PERF_SEL_LDS_SRC_CD_CONFLICT = 0x77,
SQ_PERF_SEL_SRC_CD_BUSY = 0x78,
SQ_PERF_SEL_PT_POWER_STALL = 0x79,
SQ_PERF_SEL_USER0 = 0x7a,
SQ_PERF_SEL_USER1 = 0x7b,
SQ_PERF_SEL_USER2 = 0x7c,
SQ_PERF_SEL_USER3 = 0x7d,
SQ_PERF_SEL_USER4 = 0x7e,
SQ_PERF_SEL_USER5 = 0x7f,
SQ_PERF_SEL_USER6 = 0x80,
SQ_PERF_SEL_USER7 = 0x81,
SQ_PERF_SEL_USER8 = 0x82,
SQ_PERF_SEL_USER9 = 0x83,
SQ_PERF_SEL_USER10 = 0x84,
SQ_PERF_SEL_USER11 = 0x85,
SQ_PERF_SEL_USER12 = 0x86,
SQ_PERF_SEL_USER13 = 0x87,
SQ_PERF_SEL_USER14 = 0x88,
SQ_PERF_SEL_USER15 = 0x89,
SQ_PERF_SEL_USER_LEVEL0 = 0x8a,
SQ_PERF_SEL_USER_LEVEL1 = 0x8b,
SQ_PERF_SEL_USER_LEVEL2 = 0x8c,
SQ_PERF_SEL_USER_LEVEL3 = 0x8d,
SQ_PERF_SEL_USER_LEVEL4 = 0x8e,
SQ_PERF_SEL_USER_LEVEL5 = 0x8f,
SQ_PERF_SEL_USER_LEVEL6 = 0x90,
SQ_PERF_SEL_USER_LEVEL7 = 0x91,
SQ_PERF_SEL_USER_LEVEL8 = 0x92,
SQ_PERF_SEL_USER_LEVEL9 = 0x93,
SQ_PERF_SEL_USER_LEVEL10 = 0x94,
SQ_PERF_SEL_USER_LEVEL11 = 0x95,
SQ_PERF_SEL_USER_LEVEL12 = 0x96,
SQ_PERF_SEL_USER_LEVEL13 = 0x97,
SQ_PERF_SEL_USER_LEVEL14 = 0x98,
SQ_PERF_SEL_USER_LEVEL15 = 0x99,
SQ_PERF_SEL_POWER_VALU = 0x9a,
SQ_PERF_SEL_POWER_VALU0 = 0x9b,
SQ_PERF_SEL_POWER_VALU1 = 0x9c,
SQ_PERF_SEL_POWER_VALU2 = 0x9d,
SQ_PERF_SEL_POWER_GPR_RD = 0x9e,
SQ_PERF_SEL_POWER_GPR_WR = 0x9f,
SQ_PERF_SEL_POWER_LDS_BUSY = 0xa0,
SQ_PERF_SEL_POWER_ALU_BUSY = 0xa1,
SQ_PERF_SEL_POWER_TEX_BUSY = 0xa2,
SQ_PERF_SEL_ACCUM_PREV_HIRES = 0xa3,
SQ_PERF_SEL_DUMMY_LAST = 0xa7,
SQC_PERF_SEL_ICACHE_INPUT_VALID_READY = 0xa8,
SQC_PERF_SEL_ICACHE_INPUT_VALID_READYB = 0xa9,
SQC_PERF_SEL_ICACHE_INPUT_VALIDB = 0xaa,
SQC_PERF_SEL_DCACHE_INPUT_VALID_READY = 0xab,
SQC_PERF_SEL_DCACHE_INPUT_VALID_READYB = 0xac,
SQC_PERF_SEL_DCACHE_INPUT_VALIDB = 0xad,
SQC_PERF_SEL_TC_REQ = 0xae,
SQC_PERF_SEL_TC_INST_REQ = 0xaf,
SQC_PERF_SEL_TC_DATA_REQ = 0xb0,
SQC_PERF_SEL_TC_STALL = 0xb1,
SQC_PERF_SEL_TC_STARVE = 0xb2,
SQC_PERF_SEL_ICACHE_BUSY_CYCLES = 0xb3,
SQC_PERF_SEL_ICACHE_REQ = 0xb4,
SQC_PERF_SEL_ICACHE_HITS = 0xb5,
SQC_PERF_SEL_ICACHE_MISSES = 0xb6,
SQC_PERF_SEL_ICACHE_MISSES_DUPLICATE = 0xb7,
SQC_PERF_SEL_ICACHE_UNCACHED = 0xb8,
SQC_PERF_SEL_ICACHE_VOLATILE = 0xb9,
SQC_PERF_SEL_ICACHE_INVAL_INST = 0xba,
SQC_PERF_SEL_ICACHE_INVAL_ASYNC = 0xbb,
SQC_PERF_SEL_ICACHE_INVAL_VOLATILE_INST = 0xbc,
SQC_PERF_SEL_ICACHE_INVAL_VOLATILE_ASYNC = 0xbd,
SQC_PERF_SEL_ICACHE_INPUT_STALL_ARB_NO_GRANT = 0xbe,
SQC_PERF_SEL_ICACHE_INPUT_STALL_BANK_READYB = 0xbf,
SQC_PERF_SEL_ICACHE_CACHE_STALLED = 0xc0,
SQC_PERF_SEL_ICACHE_CACHE_STALL_INFLIGHT_NONZERO = 0xc1,
SQC_PERF_SEL_ICACHE_CACHE_STALL_INFLIGHT_MAX = 0xc2,
SQC_PERF_SEL_ICACHE_CACHE_STALL_VOLATILE_MISMATCH= 0xc3,
SQC_PERF_SEL_ICACHE_CACHE_STALL_UNCACHED_HIT = 0xc4,
SQC_PERF_SEL_ICACHE_CACHE_STALL_OUTPUT = 0xc5,
SQC_PERF_SEL_ICACHE_CACHE_STALL_OUTPUT_MISS_FIFO = 0xc6,
SQC_PERF_SEL_ICACHE_CACHE_STALL_OUTPUT_HIT_FIFO = 0xc7,
SQC_PERF_SEL_ICACHE_CACHE_STALL_OUTPUT_TC_IF = 0xc8,
SQC_PERF_SEL_ICACHE_STALL_OUTXBAR_ARB_NO_GRANT = 0xc9,
SQC_PERF_SEL_DCACHE_BUSY_CYCLES = 0xca,
SQC_PERF_SEL_DCACHE_REQ = 0xcb,
SQC_PERF_SEL_DCACHE_HITS = 0xcc,
SQC_PERF_SEL_DCACHE_MISSES = 0xcd,
SQC_PERF_SEL_DCACHE_MISSES_DUPLICATE = 0xce,
SQC_PERF_SEL_DCACHE_UNCACHED = 0xcf,
SQC_PERF_SEL_DCACHE_VOLATILE = 0xd0,
SQC_PERF_SEL_DCACHE_INVAL_INST = 0xd1,
SQC_PERF_SEL_DCACHE_INVAL_ASYNC = 0xd2,
SQC_PERF_SEL_DCACHE_INVAL_VOLATILE_INST = 0xd3,
SQC_PERF_SEL_DCACHE_INVAL_VOLATILE_ASYNC = 0xd4,
SQC_PERF_SEL_DCACHE_INPUT_STALL_ARB_NO_GRANT = 0xd5,
SQC_PERF_SEL_DCACHE_INPUT_STALL_BANK_READYB = 0xd6,
SQC_PERF_SEL_DCACHE_CACHE_STALLED = 0xd7,
SQC_PERF_SEL_DCACHE_CACHE_STALL_INFLIGHT_NONZERO = 0xd8,
SQC_PERF_SEL_DCACHE_CACHE_STALL_INFLIGHT_MAX = 0xd9,
SQC_PERF_SEL_DCACHE_CACHE_STALL_VOLATILE_MISMATCH= 0xda,
SQC_PERF_SEL_DCACHE_CACHE_STALL_UNCACHED_HIT = 0xdb,
SQC_PERF_SEL_DCACHE_CACHE_STALL_OUTPUT = 0xdc,
SQC_PERF_SEL_DCACHE_CACHE_STALL_OUTPUT_MISS_FIFO = 0xdd,
SQC_PERF_SEL_DCACHE_CACHE_STALL_OUTPUT_HIT_FIFO = 0xde,
SQC_PERF_SEL_DCACHE_CACHE_STALL_OUTPUT_TC_IF = 0xdf,
SQC_PERF_SEL_DCACHE_STALL_OUTXBAR_ARB_NO_GRANT = 0xe0,
SQC_PERF_SEL_DCACHE_REQ_1 = 0xe1,
SQC_PERF_SEL_DCACHE_REQ_2 = 0xe2,
SQC_PERF_SEL_DCACHE_REQ_4 = 0xe3,
SQC_PERF_SEL_DCACHE_REQ_8 = 0xe4,
SQC_PERF_SEL_DCACHE_REQ_16 = 0xe5,
SQC_PERF_SEL_DCACHE_REQ_TIME = 0xe6,
SQC_PERF_SEL_SQ_DCACHE_REQS = 0xe7,
SQC_PERF_SEL_DCACHE_FLAT_REQ = 0xe8,
SQC_PERF_SEL_DCACHE_NONFLAT_REQ = 0xe9,
SQC_PERF_SEL_ICACHE_INFLIGHT_LEVEL = 0xea,
SQC_PERF_SEL_ICACHE_PRE_CC_LEVEL = 0xeb,
SQC_PERF_SEL_ICACHE_POST_CC_LEVEL = 0xec,
SQC_PERF_SEL_ICACHE_POST_CC_HIT_LEVEL = 0xed,
SQC_PERF_SEL_ICACHE_POST_CC_MISS_LEVEL = 0xee,
SQC_PERF_SEL_DCACHE_INFLIGHT_LEVEL = 0xef,
SQC_PERF_SEL_DCACHE_PRE_CC_LEVEL = 0xf0,
SQC_PERF_SEL_DCACHE_POST_CC_LEVEL = 0xf1,
SQC_PERF_SEL_DCACHE_POST_CC_HIT_LEVEL = 0xf2,
SQC_PERF_SEL_DCACHE_POST_CC_MISS_LEVEL = 0xf3,
SQC_PERF_SEL_TC_INFLIGHT_LEVEL = 0xf4,
SQC_PERF_SEL_ICACHE_TC_INFLIGHT_LEVEL = 0xf5,
SQC_PERF_SEL_DCACHE_TC_INFLIGHT_LEVEL = 0xf6,
SQC_PERF_SEL_ERR_DCACHE_REQ_2_GPR_ADDR_UNALIGNED = 0xf7,
SQC_PERF_SEL_ERR_DCACHE_REQ_4_GPR_ADDR_UNALIGNED = 0xf8,
SQC_PERF_SEL_ERR_DCACHE_REQ_8_GPR_ADDR_UNALIGNED = 0xf9,
SQC_PERF_SEL_ERR_DCACHE_REQ_16_GPR_ADDR_UNALIGNED= 0xfa,
SQC_PERF_SEL_DUMMY_LAST = 0xfb,
} SQ_PERF_SEL;
typedef enum SQC_DATA_CACHE_POLICIES {
SQC_DATA_CACHE_POLICY_HIT_LRU = 0x0,
SQC_DATA_CACHE_POLICY_MISS_EVICT = 0x1,
} SQC_DATA_CACHE_POLICIES;
typedef enum SQ_CAC_POWER_SEL {
SQ_CAC_POWER_VALU = 0x0,
SQ_CAC_POWER_VALU0 = 0x1,
SQ_CAC_POWER_VALU1 = 0x2,
SQ_CAC_POWER_VALU2 = 0x3,
SQ_CAC_POWER_GPR_RD = 0x4,
SQ_CAC_POWER_GPR_WR = 0x5,
SQ_CAC_POWER_LDS_BUSY = 0x6,
SQ_CAC_POWER_ALU_BUSY = 0x7,
SQ_CAC_POWER_TEX_BUSY = 0x8,
} SQ_CAC_POWER_SEL;
typedef enum SQ_IND_CMD_CMD {
SQ_IND_CMD_CMD_NULL = 0x0,
SQ_IND_CMD_CMD_HALT = 0x1,
SQ_IND_CMD_CMD_RESUME = 0x2,
SQ_IND_CMD_CMD_KILL = 0x3,
SQ_IND_CMD_CMD_DEBUG = 0x4,
SQ_IND_CMD_CMD_TRAP = 0x5,
} SQ_IND_CMD_CMD;
typedef enum SQ_IND_CMD_MODE {
SQ_IND_CMD_MODE_SINGLE = 0x0,
SQ_IND_CMD_MODE_BROADCAST = 0x1,
SQ_IND_CMD_MODE_BROADCAST_QUEUE = 0x2,
SQ_IND_CMD_MODE_BROADCAST_PIPE = 0x3,
SQ_IND_CMD_MODE_BROADCAST_ME = 0x4,
} SQ_IND_CMD_MODE;
typedef enum SQ_DED_INFO_SOURCE {
SQ_DED_INFO_SOURCE_INVALID = 0x0,
SQ_DED_INFO_SOURCE_INST = 0x1,
SQ_DED_INFO_SOURCE_SGPR = 0x2,
SQ_DED_INFO_SOURCE_VGPR = 0x3,
SQ_DED_INFO_SOURCE_LDS = 0x4,
SQ_DED_INFO_SOURCE_GDS = 0x5,
SQ_DED_INFO_SOURCE_TA = 0x6,
} SQ_DED_INFO_SOURCE;
typedef enum SQ_ROUND_MODE {
SQ_ROUND_NEAREST_EVEN = 0x0,
SQ_ROUND_PLUS_INFINITY = 0x1,
SQ_ROUND_MINUS_INFINITY = 0x2,
SQ_ROUND_TO_ZERO = 0x3,
} SQ_ROUND_MODE;
typedef enum SQ_INTERRUPT_WORD_ENCODING {
SQ_INTERRUPT_WORD_ENCODING_AUTO = 0x0,
SQ_INTERRUPT_WORD_ENCODING_INST = 0x1,
SQ_INTERRUPT_WORD_ENCODING_ERROR = 0x2,
} SQ_INTERRUPT_WORD_ENCODING;
typedef enum ENUM_SQ_EXPORT_RAT_INST {
SQ_EXPORT_RAT_INST_NOP = 0x0,
SQ_EXPORT_RAT_INST_STORE_TYPED = 0x1,
SQ_EXPORT_RAT_INST_STORE_RAW = 0x2,
SQ_EXPORT_RAT_INST_STORE_RAW_FDENORM = 0x3,
SQ_EXPORT_RAT_INST_CMPXCHG_INT = 0x4,
SQ_EXPORT_RAT_INST_CMPXCHG_FLT = 0x5,
SQ_EXPORT_RAT_INST_CMPXCHG_FDENORM = 0x6,
SQ_EXPORT_RAT_INST_ADD = 0x7,
SQ_EXPORT_RAT_INST_SUB = 0x8,
SQ_EXPORT_RAT_INST_RSUB = 0x9,
SQ_EXPORT_RAT_INST_MIN_INT = 0xa,
SQ_EXPORT_RAT_INST_MIN_UINT = 0xb,
SQ_EXPORT_RAT_INST_MAX_INT = 0xc,
SQ_EXPORT_RAT_INST_MAX_UINT = 0xd,
SQ_EXPORT_RAT_INST_AND = 0xe,
SQ_EXPORT_RAT_INST_OR = 0xf,
SQ_EXPORT_RAT_INST_XOR = 0x10,
SQ_EXPORT_RAT_INST_MSKOR = 0x11,
SQ_EXPORT_RAT_INST_INC_UINT = 0x12,
SQ_EXPORT_RAT_INST_DEC_UINT = 0x13,
SQ_EXPORT_RAT_INST_STORE_DWORD = 0x14,
SQ_EXPORT_RAT_INST_STORE_SHORT = 0x15,
SQ_EXPORT_RAT_INST_STORE_BYTE = 0x16,
SQ_EXPORT_RAT_INST_NOP_RTN = 0x20,
SQ_EXPORT_RAT_INST_XCHG_RTN = 0x22,
SQ_EXPORT_RAT_INST_XCHG_FDENORM_RTN = 0x23,
SQ_EXPORT_RAT_INST_CMPXCHG_INT_RTN = 0x24,
SQ_EXPORT_RAT_INST_CMPXCHG_FLT_RTN = 0x25,
SQ_EXPORT_RAT_INST_CMPXCHG_FDENORM_RTN = 0x26,
SQ_EXPORT_RAT_INST_ADD_RTN = 0x27,
SQ_EXPORT_RAT_INST_SUB_RTN = 0x28,
SQ_EXPORT_RAT_INST_RSUB_RTN = 0x29,
SQ_EXPORT_RAT_INST_MIN_INT_RTN = 0x2a,
SQ_EXPORT_RAT_INST_MIN_UINT_RTN = 0x2b,
SQ_EXPORT_RAT_INST_MAX_INT_RTN = 0x2c,
SQ_EXPORT_RAT_INST_MAX_UINT_RTN = 0x2d,
SQ_EXPORT_RAT_INST_AND_RTN = 0x2e,
SQ_EXPORT_RAT_INST_OR_RTN = 0x2f,
SQ_EXPORT_RAT_INST_XOR_RTN = 0x30,
SQ_EXPORT_RAT_INST_MSKOR_RTN = 0x31,
SQ_EXPORT_RAT_INST_INC_UINT_RTN = 0x32,
SQ_EXPORT_RAT_INST_DEC_UINT_RTN = 0x33,
} ENUM_SQ_EXPORT_RAT_INST;
typedef enum SQ_IBUF_ST {
SQ_IBUF_IB_IDLE = 0x0,
SQ_IBUF_IB_INI_WAIT_GNT = 0x1,
SQ_IBUF_IB_INI_WAIT_DRET = 0x2,
SQ_IBUF_IB_LE_4DW = 0x3,
SQ_IBUF_IB_WAIT_DRET = 0x4,
SQ_IBUF_IB_EMPTY_WAIT_DRET = 0x5,
SQ_IBUF_IB_DRET = 0x6,
SQ_IBUF_IB_EMPTY_WAIT_GNT = 0x7,
} SQ_IBUF_ST;
typedef enum SQ_INST_STR_ST {
SQ_INST_STR_IB_WAVE_NORML = 0x0,
SQ_INST_STR_IB_WAVE2ID_NORMAL_INST_AV = 0x1,
SQ_INST_STR_IB_WAVE_INTERNAL_INST_AV = 0x2,
SQ_INST_STR_IB_WAVE_INST_SKIP_AV = 0x3,
SQ_INST_STR_IB_WAVE_SETVSKIP_ST0 = 0x4,
SQ_INST_STR_IB_WAVE_SETVSKIP_ST1 = 0x5,
SQ_INST_STR_IB_WAVE_NOP_SLEEP_WAIT = 0x6,
SQ_INST_STR_IB_WAVE_PC_FROM_SGPR_MSG_WAIT = 0x7,
} SQ_INST_STR_ST;
typedef enum SQ_WAVE_IB_ECC_ST {
SQ_WAVE_IB_ECC_CLEAN = 0x0,
SQ_WAVE_IB_ECC_ERR_CONTINUE = 0x1,
SQ_WAVE_IB_ECC_ERR_HALT = 0x2,
SQ_WAVE_IB_ECC_WITH_ERR_MSG = 0x3,
} SQ_WAVE_IB_ECC_ST;
typedef enum SH_MEM_ALIGNMENT_MODE {
SH_MEM_ALIGNMENT_MODE_DWORD = 0x0,
SH_MEM_ALIGNMENT_MODE_DWORD_STRICT = 0x1,
SH_MEM_ALIGNMENT_MODE_STRICT = 0x2,
SH_MEM_ALIGNMENT_MODE_UNALIGNED = 0x3,
} SH_MEM_ALIGNMENT_MODE;
#define SQ_WAVE_TYPE_PS0 0x0
#define SQ_THREAD_TRACE_LFSR_PS 0x8016
#define SQ_THREAD_TRACE_LFSR_VS 0x801c
#define SQ_THREAD_TRACE_LFSR_GS 0x801f
#define SQ_THREAD_TRACE_LFSR_ES 0x8029
#define SQ_THREAD_TRACE_LFSR_HS 0x805e
#define SQ_THREAD_TRACE_LFSR_LS 0x806b
#define SQ_THREAD_TRACE_LFSR_CS 0x8097
#define SQIND_GLOBAL_REGS_OFFSET 0x0
#define SQIND_GLOBAL_REGS_SIZE 0x8
#define SQIND_LOCAL_REGS_OFFSET 0x8
#define SQIND_LOCAL_REGS_SIZE 0x8
#define SQIND_WAVE_HWREGS_OFFSET 0x10
#define SQIND_WAVE_HWREGS_SIZE 0x1f0
#define SQIND_WAVE_SGPRS_OFFSET 0x200
#define SQIND_WAVE_SGPRS_SIZE 0x200
#define SQ_GFXDEC_BEGIN 0xa000
#define SQ_GFXDEC_END 0xc000
#define SQ_GFXDEC_STATE_ID_SHIFT 0xa
#define SQDEC_BEGIN 0x2300
#define SQDEC_END 0x23ff
#define SQPERFSDEC_BEGIN 0xd9c0
#define SQPERFSDEC_END 0xda40
#define SQPERFDDEC_BEGIN 0xd1c0
#define SQPERFDDEC_END 0xd240
#define SQGFXUDEC_BEGIN 0xc340
#define SQGFXUDEC_END 0xc380
#define SQPWRDEC_BEGIN 0xf08c
#define SQPWRDEC_END 0xf094
#define SQ_DISPATCHER_GFX_MIN 0x10
#define SQ_DISPATCHER_GFX_CNT_PER_RING 0x8
#define SQ_MAX_PGM_SGPRS 0x68
#define SQ_MAX_PGM_VGPRS 0x100
#define SQ_THREAD_TRACE_TIME_UNIT 0x4
#define SQ_INTERRUPT_ID 0xef
#define SQ_EX_MODE_EXCP_VALU_BASE 0x0
#define SQ_EX_MODE_EXCP_VALU_SIZE 0x7
#define SQ_EX_MODE_EXCP_INVALID 0x0
#define SQ_EX_MODE_EXCP_INPUT_DENORM 0x1
#define SQ_EX_MODE_EXCP_DIV0 0x2
#define SQ_EX_MODE_EXCP_OVERFLOW 0x3
#define SQ_EX_MODE_EXCP_UNDERFLOW 0x4
#define SQ_EX_MODE_EXCP_INEXACT 0x5
#define SQ_EX_MODE_EXCP_INT_DIV0 0x6
#define SQ_EX_MODE_EXCP_ADDR_WATCH 0x7
#define SQ_EX_MODE_EXCP_MEM_VIOL 0x8
#define INST_ID_ECC_INTERRUPT_MSG 0xfffffff0
#define INST_ID_TTRACE_NEW_PC_MSG 0xfffffff1
#define INST_ID_HW_TRAP 0xfffffff2
#define INST_ID_KILL_SEQ 0xfffffff3
#define INST_ID_HOST_REG_TRAP_MSG 0xfffffffe
#define SQ_ENC_SOP1_BITS 0xbe800000
#define SQ_ENC_SOP1_MASK 0xff800000
#define SQ_ENC_SOP1_FIELD 0x17d
#define SQ_ENC_SOPC_BITS 0xbf000000
#define SQ_ENC_SOPC_MASK 0xff800000
#define SQ_ENC_SOPC_FIELD 0x17e
#define SQ_ENC_SOPP_BITS 0xbf800000
#define SQ_ENC_SOPP_MASK 0xff800000
#define SQ_ENC_SOPP_FIELD 0x17f
#define SQ_ENC_SOPK_BITS 0xb0000000
#define SQ_ENC_SOPK_MASK 0xf0000000
#define SQ_ENC_SOPK_FIELD 0xb
#define SQ_ENC_SOP2_BITS 0x80000000
#define SQ_ENC_SOP2_MASK 0xc0000000
#define SQ_ENC_SOP2_FIELD 0x2
#define SQ_ENC_SMRD_BITS 0xc0000000
#define SQ_ENC_SMRD_MASK 0xf8000000
#define SQ_ENC_SMRD_FIELD 0x18
#define SQ_ENC_VOP1_BITS 0x7e000000
#define SQ_ENC_VOP1_MASK 0xfe000000
#define SQ_ENC_VOP1_FIELD 0x3f
#define SQ_ENC_VOPC_BITS 0x7c000000
#define SQ_ENC_VOPC_MASK 0xfe000000
#define SQ_ENC_VOPC_FIELD 0x3e
#define SQ_ENC_VOP2_BITS 0x0
#define SQ_ENC_VOP2_MASK 0x80000000
#define SQ_ENC_VOP2_FIELD 0x0
#define SQ_ENC_VINTRP_BITS 0xc8000000
#define SQ_ENC_VINTRP_MASK 0xfc000000
#define SQ_ENC_VINTRP_FIELD 0x32
#define SQ_ENC_VOP3_BITS 0xd0000000
#define SQ_ENC_VOP3_MASK 0xfc000000
#define SQ_ENC_VOP3_FIELD 0x34
#define SQ_ENC_DS_BITS 0xd8000000
#define SQ_ENC_DS_MASK 0xfc000000
#define SQ_ENC_DS_FIELD 0x36
#define SQ_ENC_MUBUF_BITS 0xe0000000
#define SQ_ENC_MUBUF_MASK 0xfc000000
#define SQ_ENC_MUBUF_FIELD 0x38
#define SQ_ENC_MTBUF_BITS 0xe8000000
#define SQ_ENC_MTBUF_MASK 0xfc000000
#define SQ_ENC_MTBUF_FIELD 0x3a
#define SQ_ENC_MIMG_BITS 0xf0000000
#define SQ_ENC_MIMG_MASK 0xfc000000
#define SQ_ENC_MIMG_FIELD 0x3c
#define SQ_ENC_EXP_BITS 0xf8000000
#define SQ_ENC_EXP_MASK 0xfc000000
#define SQ_ENC_EXP_FIELD 0x3e
#define SQ_ENC_FLAT_BITS 0xdc000000
#define SQ_ENC_FLAT_MASK 0xfc000000
#define SQ_ENC_FLAT_FIELD 0x37
#define SQ_WAITCNT_VM_SHIFT 0x0
#define SQ_SENDMSG_STREAMID_SIZE 0x2
#define SQ_V_OPC_COUNT 0x100
#define SQ_HWREG_OFFSET_SIZE 0x5
#define SQ_HWREG_OFFSET_SHIFT 0x6
#define SQ_NUM_ATTR 0x21
#define SQ_NUM_VGPR 0x100
#define SQ_SENDMSG_MSG_SIZE 0x4
#define SQ_NUM_TTMP 0xc
#define SQ_HWREG_ID_SIZE 0x6
#define SQ_SENDMSG_GSOP_SIZE 0x2
#define SQ_NUM_SGPR 0x68
#define SQ_EXP_NUM_MRT 0x8
#define SQ_SENDMSG_SYSTEM_SIZE 0x3
#define SQ_WAITCNT_LGKM_SHIFT 0x8
#define SQ_WAITCNT_EXP_SIZE 0x3
#define SQ_SENDMSG_SYSTEM_SHIFT 0x4
#define SQ_HWREG_SIZE_SHIFT 0xb
#define SQ_EXP_NUM_GDS 0x5
#define SQ_SENDMSG_MSG_SHIFT 0x0
#define SQ_WAITCNT_EXP_SHIFT 0x4
#define SQ_WAITCNT_VM_SIZE 0x4
#define SQ_SENDMSG_GSOP_SHIFT 0x4
#define SQ_SRC_VGPR_BIT 0x100
#define SQ_V_OP2_COUNT 0x40
#define SQ_EXP_NUM_PARAM 0x20
#define SQ_SENDMSG_STREAMID_SHIFT 0x8
#define SQ_V_OP1_COUNT 0x80
#define SQ_WAITCNT_LGKM_SIZE 0x5
#define SQ_EXP_NUM_POS 0x4
#define SQ_HWREG_SIZE_SIZE 0x5
#define SQ_HWREG_ID_SHIFT 0x0
#define SQ_S_MOV_B32 0x3
#define SQ_S_MOV_B64 0x4
#define SQ_S_CMOV_B32 0x5
#define SQ_S_CMOV_B64 0x6
#define SQ_S_NOT_B32 0x7
#define SQ_S_NOT_B64 0x8
#define SQ_S_WQM_B32 0x9
#define SQ_S_WQM_B64 0xa
#define SQ_S_BREV_B32 0xb
#define SQ_S_BREV_B64 0xc
#define SQ_S_BCNT0_I32_B32 0xd
#define SQ_S_BCNT0_I32_B64 0xe
#define SQ_S_BCNT1_I32_B32 0xf
#define SQ_S_BCNT1_I32_B64 0x10
#define SQ_S_FF0_I32_B32 0x11
#define SQ_S_FF0_I32_B64 0x12
#define SQ_S_FF1_I32_B32 0x13
#define SQ_S_FF1_I32_B64 0x14
#define SQ_S_FLBIT_I32_B32 0x15
#define SQ_S_FLBIT_I32_B64 0x16
#define SQ_S_FLBIT_I32 0x17
#define SQ_S_FLBIT_I32_I64 0x18
#define SQ_S_SEXT_I32_I8 0x19
#define SQ_S_SEXT_I32_I16 0x1a
#define SQ_S_BITSET0_B32 0x1b
#define SQ_S_BITSET0_B64 0x1c
#define SQ_S_BITSET1_B32 0x1d
#define SQ_S_BITSET1_B64 0x1e
#define SQ_S_GETPC_B64 0x1f
#define SQ_S_SETPC_B64 0x20
#define SQ_S_SWAPPC_B64 0x21
#define SQ_S_RFE_B64 0x22
#define SQ_S_AND_SAVEEXEC_B64 0x24
#define SQ_S_OR_SAVEEXEC_B64 0x25
#define SQ_S_XOR_SAVEEXEC_B64 0x26
#define SQ_S_ANDN2_SAVEEXEC_B64 0x27
#define SQ_S_ORN2_SAVEEXEC_B64 0x28
#define SQ_S_NAND_SAVEEXEC_B64 0x29
#define SQ_S_NOR_SAVEEXEC_B64 0x2a
#define SQ_S_XNOR_SAVEEXEC_B64 0x2b
#define SQ_S_QUADMASK_B32 0x2c
#define SQ_S_QUADMASK_B64 0x2d
#define SQ_S_MOVRELS_B32 0x2e
#define SQ_S_MOVRELS_B64 0x2f
#define SQ_S_MOVRELD_B32 0x30
#define SQ_S_MOVRELD_B64 0x31
#define SQ_S_CBRANCH_JOIN 0x32
#define SQ_S_MOV_REGRD_B32 0x33
#define SQ_S_ABS_I32 0x34
#define SQ_S_MOV_FED_B32 0x35
#define SQ_ATTR0 0x0
#define SQ_S_MOVK_I32 0x0
#define SQ_S_CMOVK_I32 0x2
#define SQ_S_CMPK_EQ_I32 0x3
#define SQ_S_CMPK_LG_I32 0x4
#define SQ_S_CMPK_GT_I32 0x5
#define SQ_S_CMPK_GE_I32 0x6
#define SQ_S_CMPK_LT_I32 0x7
#define SQ_S_CMPK_LE_I32 0x8
#define SQ_S_CMPK_EQ_U32 0x9
#define SQ_S_CMPK_LG_U32 0xa
#define SQ_S_CMPK_GT_U32 0xb
#define SQ_S_CMPK_GE_U32 0xc
#define SQ_S_CMPK_LT_U32 0xd
#define SQ_S_CMPK_LE_U32 0xe
#define SQ_S_ADDK_I32 0xf
#define SQ_S_MULK_I32 0x10
#define SQ_S_CBRANCH_I_FORK 0x11
#define SQ_S_GETREG_B32 0x12
#define SQ_S_SETREG_B32 0x13
#define SQ_S_GETREG_REGRD_B32 0x14
#define SQ_S_SETREG_IMM32_B32 0x15
#define SQ_TBA_LO 0x6c
#define SQ_TBA_HI 0x6d
#define SQ_TMA_LO 0x6e
#define SQ_TMA_HI 0x6f
#define SQ_TTMP0 0x70
#define SQ_TTMP1 0x71
#define SQ_TTMP2 0x72
#define SQ_TTMP3 0x73
#define SQ_TTMP4 0x74
#define SQ_TTMP5 0x75
#define SQ_TTMP6 0x76
#define SQ_TTMP7 0x77
#define SQ_TTMP8 0x78
#define SQ_TTMP9 0x79
#define SQ_TTMP10 0x7a
#define SQ_TTMP11 0x7b
#define SQ_VGPR0 0x0
#define SQ_EXP 0x0
#define SQ_EXP_MRT0 0x0
#define SQ_EXP_MRTZ 0x8
#define SQ_EXP_NULL 0x9
#define SQ_EXP_POS0 0xc
#define SQ_EXP_PARAM0 0x20
#define SQ_CNT1 0x0
#define SQ_CNT2 0x1
#define SQ_CNT3 0x2
#define SQ_CNT4 0x3
#define SQ_F 0x0
#define SQ_LT 0x1
#define SQ_EQ 0x2
#define SQ_LE 0x3
#define SQ_GT 0x4
#define SQ_LG 0x5
#define SQ_GE 0x6
#define SQ_O 0x7
#define SQ_U 0x8
#define SQ_NGE 0x9
#define SQ_NLG 0xa
#define SQ_NGT 0xb
#define SQ_NLE 0xc
#define SQ_NEQ 0xd
#define SQ_NLT 0xe
#define SQ_TRU 0xf
#define SQ_V_CMP_F_F32 0x0
#define SQ_V_CMP_LT_F32 0x1
#define SQ_V_CMP_EQ_F32 0x2
#define SQ_V_CMP_LE_F32 0x3
#define SQ_V_CMP_GT_F32 0x4
#define SQ_V_CMP_LG_F32 0x5
#define SQ_V_CMP_GE_F32 0x6
#define SQ_V_CMP_O_F32 0x7
#define SQ_V_CMP_U_F32 0x8
#define SQ_V_CMP_NGE_F32 0x9
#define SQ_V_CMP_NLG_F32 0xa
#define SQ_V_CMP_NGT_F32 0xb
#define SQ_V_CMP_NLE_F32 0xc
#define SQ_V_CMP_NEQ_F32 0xd
#define SQ_V_CMP_NLT_F32 0xe
#define SQ_V_CMP_TRU_F32 0xf
#define SQ_V_CMPX_F_F32 0x10
#define SQ_V_CMPX_LT_F32 0x11
#define SQ_V_CMPX_EQ_F32 0x12
#define SQ_V_CMPX_LE_F32 0x13
#define SQ_V_CMPX_GT_F32 0x14
#define SQ_V_CMPX_LG_F32 0x15
#define SQ_V_CMPX_GE_F32 0x16
#define SQ_V_CMPX_O_F32 0x17
#define SQ_V_CMPX_U_F32 0x18
#define SQ_V_CMPX_NGE_F32 0x19
#define SQ_V_CMPX_NLG_F32 0x1a
#define SQ_V_CMPX_NGT_F32 0x1b
#define SQ_V_CMPX_NLE_F32 0x1c
#define SQ_V_CMPX_NEQ_F32 0x1d
#define SQ_V_CMPX_NLT_F32 0x1e
#define SQ_V_CMPX_TRU_F32 0x1f
#define SQ_V_CMP_F_F64 0x20
#define SQ_V_CMP_LT_F64 0x21
#define SQ_V_CMP_EQ_F64 0x22
#define SQ_V_CMP_LE_F64 0x23
#define SQ_V_CMP_GT_F64 0x24
#define SQ_V_CMP_LG_F64 0x25
#define SQ_V_CMP_GE_F64 0x26
#define SQ_V_CMP_O_F64 0x27
#define SQ_V_CMP_U_F64 0x28
#define SQ_V_CMP_NGE_F64 0x29
#define SQ_V_CMP_NLG_F64 0x2a
#define SQ_V_CMP_NGT_F64 0x2b
#define SQ_V_CMP_NLE_F64 0x2c
#define SQ_V_CMP_NEQ_F64 0x2d
#define SQ_V_CMP_NLT_F64 0x2e
#define SQ_V_CMP_TRU_F64 0x2f
#define SQ_V_CMPX_F_F64 0x30
#define SQ_V_CMPX_LT_F64 0x31
#define SQ_V_CMPX_EQ_F64 0x32
#define SQ_V_CMPX_LE_F64 0x33
#define SQ_V_CMPX_GT_F64 0x34
#define SQ_V_CMPX_LG_F64 0x35
#define SQ_V_CMPX_GE_F64 0x36
#define SQ_V_CMPX_O_F64 0x37
#define SQ_V_CMPX_U_F64 0x38
#define SQ_V_CMPX_NGE_F64 0x39
#define SQ_V_CMPX_NLG_F64 0x3a
#define SQ_V_CMPX_NGT_F64 0x3b
#define SQ_V_CMPX_NLE_F64 0x3c
#define SQ_V_CMPX_NEQ_F64 0x3d
#define SQ_V_CMPX_NLT_F64 0x3e
#define SQ_V_CMPX_TRU_F64 0x3f
#define SQ_V_CMPS_F_F32 0x40
#define SQ_V_CMPS_LT_F32 0x41
#define SQ_V_CMPS_EQ_F32 0x42
#define SQ_V_CMPS_LE_F32 0x43
#define SQ_V_CMPS_GT_F32 0x44
#define SQ_V_CMPS_LG_F32 0x45
#define SQ_V_CMPS_GE_F32 0x46
#define SQ_V_CMPS_O_F32 0x47
#define SQ_V_CMPS_U_F32 0x48
#define SQ_V_CMPS_NGE_F32 0x49
#define SQ_V_CMPS_NLG_F32 0x4a
#define SQ_V_CMPS_NGT_F32 0x4b
#define SQ_V_CMPS_NLE_F32 0x4c
#define SQ_V_CMPS_NEQ_F32 0x4d
#define SQ_V_CMPS_NLT_F32 0x4e
#define SQ_V_CMPS_TRU_F32 0x4f
#define SQ_V_CMPSX_F_F32 0x50
#define SQ_V_CMPSX_LT_F32 0x51
#define SQ_V_CMPSX_EQ_F32 0x52
#define SQ_V_CMPSX_LE_F32 0x53
#define SQ_V_CMPSX_GT_F32 0x54
#define SQ_V_CMPSX_LG_F32 0x55
#define SQ_V_CMPSX_GE_F32 0x56
#define SQ_V_CMPSX_O_F32 0x57
#define SQ_V_CMPSX_U_F32 0x58
#define SQ_V_CMPSX_NGE_F32 0x59
#define SQ_V_CMPSX_NLG_F32 0x5a
#define SQ_V_CMPSX_NGT_F32 0x5b
#define SQ_V_CMPSX_NLE_F32 0x5c
#define SQ_V_CMPSX_NEQ_F32 0x5d
#define SQ_V_CMPSX_NLT_F32 0x5e
#define SQ_V_CMPSX_TRU_F32 0x5f
#define SQ_V_CMPS_F_F64 0x60
#define SQ_V_CMPS_LT_F64 0x61
#define SQ_V_CMPS_EQ_F64 0x62
#define SQ_V_CMPS_LE_F64 0x63
#define SQ_V_CMPS_GT_F64 0x64
#define SQ_V_CMPS_LG_F64 0x65
#define SQ_V_CMPS_GE_F64 0x66
#define SQ_V_CMPS_O_F64 0x67
#define SQ_V_CMPS_U_F64 0x68
#define SQ_V_CMPS_NGE_F64 0x69
#define SQ_V_CMPS_NLG_F64 0x6a
#define SQ_V_CMPS_NGT_F64 0x6b
#define SQ_V_CMPS_NLE_F64 0x6c
#define SQ_V_CMPS_NEQ_F64 0x6d
#define SQ_V_CMPS_NLT_F64 0x6e
#define SQ_V_CMPS_TRU_F64 0x6f
#define SQ_V_CMPSX_F_F64 0x70
#define SQ_V_CMPSX_LT_F64 0x71
#define SQ_V_CMPSX_EQ_F64 0x72
#define SQ_V_CMPSX_LE_F64 0x73
#define SQ_V_CMPSX_GT_F64 0x74
#define SQ_V_CMPSX_LG_F64 0x75
#define SQ_V_CMPSX_GE_F64 0x76
#define SQ_V_CMPSX_O_F64 0x77
#define SQ_V_CMPSX_U_F64 0x78
#define SQ_V_CMPSX_NGE_F64 0x79
#define SQ_V_CMPSX_NLG_F64 0x7a
#define SQ_V_CMPSX_NGT_F64 0x7b
#define SQ_V_CMPSX_NLE_F64 0x7c
#define SQ_V_CMPSX_NEQ_F64 0x7d
#define SQ_V_CMPSX_NLT_F64 0x7e
#define SQ_V_CMPSX_TRU_F64 0x7f
#define SQ_V_CMP_F_I32 0x80
#define SQ_V_CMP_LT_I32 0x81
#define SQ_V_CMP_EQ_I32 0x82
#define SQ_V_CMP_LE_I32 0x83
#define SQ_V_CMP_GT_I32 0x84
#define SQ_V_CMP_NE_I32 0x85
#define SQ_V_CMP_GE_I32 0x86
#define SQ_V_CMP_T_I32 0x87
#define SQ_V_CMPX_F_I32 0x90
#define SQ_V_CMPX_LT_I32 0x91
#define SQ_V_CMPX_EQ_I32 0x92
#define SQ_V_CMPX_LE_I32 0x93
#define SQ_V_CMPX_GT_I32 0x94
#define SQ_V_CMPX_NE_I32 0x95
#define SQ_V_CMPX_GE_I32 0x96
#define SQ_V_CMPX_T_I32 0x97
#define SQ_V_CMP_F_I64 0xa0
#define SQ_V_CMP_LT_I64 0xa1
#define SQ_V_CMP_EQ_I64 0xa2
#define SQ_V_CMP_LE_I64 0xa3
#define SQ_V_CMP_GT_I64 0xa4
#define SQ_V_CMP_NE_I64 0xa5
#define SQ_V_CMP_GE_I64 0xa6
#define SQ_V_CMP_T_I64 0xa7
#define SQ_V_CMPX_F_I64 0xb0
#define SQ_V_CMPX_LT_I64 0xb1
#define SQ_V_CMPX_EQ_I64 0xb2
#define SQ_V_CMPX_LE_I64 0xb3
#define SQ_V_CMPX_GT_I64 0xb4
#define SQ_V_CMPX_NE_I64 0xb5
#define SQ_V_CMPX_GE_I64 0xb6
#define SQ_V_CMPX_T_I64 0xb7
#define SQ_V_CMP_F_U32 0xc0
#define SQ_V_CMP_LT_U32 0xc1
#define SQ_V_CMP_EQ_U32 0xc2
#define SQ_V_CMP_LE_U32 0xc3
#define SQ_V_CMP_GT_U32 0xc4
#define SQ_V_CMP_NE_U32 0xc5
#define SQ_V_CMP_GE_U32 0xc6
#define SQ_V_CMP_T_U32 0xc7
#define SQ_V_CMPX_F_U32 0xd0
#define SQ_V_CMPX_LT_U32 0xd1
#define SQ_V_CMPX_EQ_U32 0xd2
#define SQ_V_CMPX_LE_U32 0xd3
#define SQ_V_CMPX_GT_U32 0xd4
#define SQ_V_CMPX_NE_U32 0xd5
#define SQ_V_CMPX_GE_U32 0xd6
#define SQ_V_CMPX_T_U32 0xd7
#define SQ_V_CMP_F_U64 0xe0
#define SQ_V_CMP_LT_U64 0xe1
#define SQ_V_CMP_EQ_U64 0xe2
#define SQ_V_CMP_LE_U64 0xe3
#define SQ_V_CMP_GT_U64 0xe4
#define SQ_V_CMP_NE_U64 0xe5
#define SQ_V_CMP_GE_U64 0xe6
#define SQ_V_CMP_T_U64 0xe7
#define SQ_V_CMPX_F_U64 0xf0
#define SQ_V_CMPX_LT_U64 0xf1
#define SQ_V_CMPX_EQ_U64 0xf2
#define SQ_V_CMPX_LE_U64 0xf3
#define SQ_V_CMPX_GT_U64 0xf4
#define SQ_V_CMPX_NE_U64 0xf5
#define SQ_V_CMPX_GE_U64 0xf6
#define SQ_V_CMPX_T_U64 0xf7
#define SQ_V_CMP_CLASS_F32 0x88
#define SQ_V_CMPX_CLASS_F32 0x98
#define SQ_V_CMP_CLASS_F64 0xa8
#define SQ_V_CMPX_CLASS_F64 0xb8
#define SQ_SGPR0 0x0
#define SQ_F 0x0
#define SQ_LT 0x1
#define SQ_EQ 0x2
#define SQ_LE 0x3
#define SQ_GT 0x4
#define SQ_NE 0x5
#define SQ_GE 0x6
#define SQ_T 0x7
#define SQ_SRC_64_INT 0xc0
#define SQ_SRC_M_1_INT 0xc1
#define SQ_SRC_M_2_INT 0xc2
#define SQ_SRC_M_3_INT 0xc3
#define SQ_SRC_M_4_INT 0xc4
#define SQ_SRC_M_5_INT 0xc5
#define SQ_SRC_M_6_INT 0xc6
#define SQ_SRC_M_7_INT 0xc7
#define SQ_SRC_M_8_INT 0xc8
#define SQ_SRC_M_9_INT 0xc9
#define SQ_SRC_M_10_INT 0xca
#define SQ_SRC_M_11_INT 0xcb
#define SQ_SRC_M_12_INT 0xcc
#define SQ_SRC_M_13_INT 0xcd
#define SQ_SRC_M_14_INT 0xce
#define SQ_SRC_M_15_INT 0xcf
#define SQ_SRC_M_16_INT 0xd0
#define SQ_SRC_0_5 0xf0
#define SQ_SRC_M_0_5 0xf1
#define SQ_SRC_1 0xf2
#define SQ_SRC_M_1 0xf3
#define SQ_SRC_2 0xf4
#define SQ_SRC_M_2 0xf5
#define SQ_SRC_4 0xf6
#define SQ_SRC_M_4 0xf7
#define SQ_SRC_0 0x80
#define SQ_SRC_1_INT 0x81
#define SQ_SRC_2_INT 0x82
#define SQ_SRC_3_INT 0x83
#define SQ_SRC_4_INT 0x84
#define SQ_SRC_5_INT 0x85
#define SQ_SRC_6_INT 0x86
#define SQ_SRC_7_INT 0x87
#define SQ_SRC_8_INT 0x88
#define SQ_SRC_9_INT 0x89
#define SQ_SRC_10_INT 0x8a
#define SQ_SRC_11_INT 0x8b
#define SQ_SRC_12_INT 0x8c
#define SQ_SRC_13_INT 0x8d
#define SQ_SRC_14_INT 0x8e
#define SQ_SRC_15_INT 0x8f
#define SQ_SRC_16_INT 0x90
#define SQ_SRC_17_INT 0x91
#define SQ_SRC_18_INT 0x92
#define SQ_SRC_19_INT 0x93
#define SQ_SRC_20_INT 0x94
#define SQ_SRC_21_INT 0x95
#define SQ_SRC_22_INT 0x96
#define SQ_SRC_23_INT 0x97
#define SQ_SRC_24_INT 0x98
#define SQ_SRC_25_INT 0x99
#define SQ_SRC_26_INT 0x9a
#define SQ_SRC_27_INT 0x9b
#define SQ_SRC_28_INT 0x9c
#define SQ_SRC_29_INT 0x9d
#define SQ_SRC_30_INT 0x9e
#define SQ_SRC_31_INT 0x9f
#define SQ_SRC_32_INT 0xa0
#define SQ_SRC_33_INT 0xa1
#define SQ_SRC_34_INT 0xa2
#define SQ_SRC_35_INT 0xa3
#define SQ_SRC_36_INT 0xa4
#define SQ_SRC_37_INT 0xa5
#define SQ_SRC_38_INT 0xa6
#define SQ_SRC_39_INT 0xa7
#define SQ_SRC_40_INT 0xa8
#define SQ_SRC_41_INT 0xa9
#define SQ_SRC_42_INT 0xaa
#define SQ_SRC_43_INT 0xab
#define SQ_SRC_44_INT 0xac
#define SQ_SRC_45_INT 0xad
#define SQ_SRC_46_INT 0xae
#define SQ_SRC_47_INT 0xaf
#define SQ_SRC_48_INT 0xb0
#define SQ_SRC_49_INT 0xb1
#define SQ_SRC_50_INT 0xb2
#define SQ_SRC_51_INT 0xb3
#define SQ_SRC_52_INT 0xb4
#define SQ_SRC_53_INT 0xb5
#define SQ_SRC_54_INT 0xb6
#define SQ_SRC_55_INT 0xb7
#define SQ_SRC_56_INT 0xb8
#define SQ_SRC_57_INT 0xb9
#define SQ_SRC_58_INT 0xba
#define SQ_SRC_59_INT 0xbb
#define SQ_SRC_60_INT 0xbc
#define SQ_SRC_61_INT 0xbd
#define SQ_SRC_62_INT 0xbe
#define SQ_SRC_63_INT 0xbf
#define SQ_BUFFER_LOAD_FORMAT_X 0x0
#define SQ_BUFFER_LOAD_FORMAT_XY 0x1
#define SQ_BUFFER_LOAD_FORMAT_XYZ 0x2
#define SQ_BUFFER_LOAD_FORMAT_XYZW 0x3
#define SQ_BUFFER_STORE_FORMAT_X 0x4
#define SQ_BUFFER_STORE_FORMAT_XY 0x5
#define SQ_BUFFER_STORE_FORMAT_XYZ 0x6
#define SQ_BUFFER_STORE_FORMAT_XYZW 0x7
#define SQ_BUFFER_LOAD_UBYTE 0x8
#define SQ_BUFFER_LOAD_SBYTE 0x9
#define SQ_BUFFER_LOAD_USHORT 0xa
#define SQ_BUFFER_LOAD_SSHORT 0xb
#define SQ_BUFFER_LOAD_DWORD 0xc
#define SQ_BUFFER_LOAD_DWORDX2 0xd
#define SQ_BUFFER_LOAD_DWORDX4 0xe
#define SQ_BUFFER_LOAD_DWORDX3 0xf
#define SQ_BUFFER_STORE_BYTE 0x18
#define SQ_BUFFER_STORE_SHORT 0x1a
#define SQ_BUFFER_STORE_DWORD 0x1c
#define SQ_BUFFER_STORE_DWORDX2 0x1d
#define SQ_BUFFER_STORE_DWORDX4 0x1e
#define SQ_BUFFER_STORE_DWORDX3 0x1f
#define SQ_BUFFER_ATOMIC_SWAP 0x30
#define SQ_BUFFER_ATOMIC_CMPSWAP 0x31
#define SQ_BUFFER_ATOMIC_ADD 0x32
#define SQ_BUFFER_ATOMIC_SUB 0x33
#define SQ_BUFFER_ATOMIC_SMIN 0x35
#define SQ_BUFFER_ATOMIC_UMIN 0x36
#define SQ_BUFFER_ATOMIC_SMAX 0x37
#define SQ_BUFFER_ATOMIC_UMAX 0x38
#define SQ_BUFFER_ATOMIC_AND 0x39
#define SQ_BUFFER_ATOMIC_OR 0x3a
#define SQ_BUFFER_ATOMIC_XOR 0x3b
#define SQ_BUFFER_ATOMIC_INC 0x3c
#define SQ_BUFFER_ATOMIC_DEC 0x3d
#define SQ_BUFFER_ATOMIC_FCMPSWAP 0x3e
#define SQ_BUFFER_ATOMIC_FMIN 0x3f
#define SQ_BUFFER_ATOMIC_FMAX 0x40
#define SQ_BUFFER_ATOMIC_SWAP_X2 0x50
#define SQ_BUFFER_ATOMIC_CMPSWAP_X2 0x51
#define SQ_BUFFER_ATOMIC_ADD_X2 0x52
#define SQ_BUFFER_ATOMIC_SUB_X2 0x53
#define SQ_BUFFER_ATOMIC_SMIN_X2 0x55
#define SQ_BUFFER_ATOMIC_UMIN_X2 0x56
#define SQ_BUFFER_ATOMIC_SMAX_X2 0x57
#define SQ_BUFFER_ATOMIC_UMAX_X2 0x58
#define SQ_BUFFER_ATOMIC_AND_X2 0x59
#define SQ_BUFFER_ATOMIC_OR_X2 0x5a
#define SQ_BUFFER_ATOMIC_XOR_X2 0x5b
#define SQ_BUFFER_ATOMIC_INC_X2 0x5c
#define SQ_BUFFER_ATOMIC_DEC_X2 0x5d
#define SQ_BUFFER_ATOMIC_FCMPSWAP_X2 0x5e
#define SQ_BUFFER_ATOMIC_FMIN_X2 0x5f
#define SQ_BUFFER_ATOMIC_FMAX_X2 0x60
#define SQ_BUFFER_WBINVL1_VOL 0x70
#define SQ_BUFFER_WBINVL1 0x71
#define SQ_DS_ADD_U32 0x0
#define SQ_DS_SUB_U32 0x1
#define SQ_DS_RSUB_U32 0x2
#define SQ_DS_INC_U32 0x3
#define SQ_DS_DEC_U32 0x4
#define SQ_DS_MIN_I32 0x5
#define SQ_DS_MAX_I32 0x6
#define SQ_DS_MIN_U32 0x7
#define SQ_DS_MAX_U32 0x8
#define SQ_DS_AND_B32 0x9
#define SQ_DS_OR_B32 0xa
#define SQ_DS_XOR_B32 0xb
#define SQ_DS_MSKOR_B32 0xc
#define SQ_DS_WRITE_B32 0xd
#define SQ_DS_WRITE2_B32 0xe
#define SQ_DS_WRITE2ST64_B32 0xf
#define SQ_DS_CMPST_B32 0x10
#define SQ_DS_CMPST_F32 0x11
#define SQ_DS_MIN_F32 0x12
#define SQ_DS_MAX_F32 0x13
#define SQ_DS_NOP 0x14
#define SQ_DS_GWS_SEMA_RELEASE_ALL 0x18
#define SQ_DS_GWS_INIT 0x19
#define SQ_DS_GWS_SEMA_V 0x1a
#define SQ_DS_GWS_SEMA_BR 0x1b
#define SQ_DS_GWS_SEMA_P 0x1c
#define SQ_DS_GWS_BARRIER 0x1d
#define SQ_DS_WRITE_B8 0x1e
#define SQ_DS_WRITE_B16 0x1f
#define SQ_DS_ADD_RTN_U32 0x20
#define SQ_DS_SUB_RTN_U32 0x21
#define SQ_DS_RSUB_RTN_U32 0x22
#define SQ_DS_INC_RTN_U32 0x23
#define SQ_DS_DEC_RTN_U32 0x24
#define SQ_DS_MIN_RTN_I32 0x25
#define SQ_DS_MAX_RTN_I32 0x26
#define SQ_DS_MIN_RTN_U32 0x27
#define SQ_DS_MAX_RTN_U32 0x28
#define SQ_DS_AND_RTN_B32 0x29
#define SQ_DS_OR_RTN_B32 0x2a
#define SQ_DS_XOR_RTN_B32 0x2b
#define SQ_DS_MSKOR_RTN_B32 0x2c
#define SQ_DS_WRXCHG_RTN_B32 0x2d
#define SQ_DS_WRXCHG2_RTN_B32 0x2e
#define SQ_DS_WRXCHG2ST64_RTN_B32 0x2f
#define SQ_DS_CMPST_RTN_B32 0x30
#define SQ_DS_CMPST_RTN_F32 0x31
#define SQ_DS_MIN_RTN_F32 0x32
#define SQ_DS_MAX_RTN_F32 0x33
#define SQ_DS_WRAP_RTN_B32 0x34
#define SQ_DS_SWIZZLE_B32 0x35
#define SQ_DS_READ_B32 0x36
#define SQ_DS_READ2_B32 0x37
#define SQ_DS_READ2ST64_B32 0x38
#define SQ_DS_READ_I8 0x39
#define SQ_DS_READ_U8 0x3a
#define SQ_DS_READ_I16 0x3b
#define SQ_DS_READ_U16 0x3c
#define SQ_DS_CONSUME 0x3d
#define SQ_DS_APPEND 0x3e
#define SQ_DS_ORDERED_COUNT 0x3f
#define SQ_DS_ADD_U64 0x40
#define SQ_DS_SUB_U64 0x41
#define SQ_DS_RSUB_U64 0x42
#define SQ_DS_INC_U64 0x43
#define SQ_DS_DEC_U64 0x44
#define SQ_DS_MIN_I64 0x45
#define SQ_DS_MAX_I64 0x46
#define SQ_DS_MIN_U64 0x47
#define SQ_DS_MAX_U64 0x48
#define SQ_DS_AND_B64 0x49
#define SQ_DS_OR_B64 0x4a
#define SQ_DS_XOR_B64 0x4b
#define SQ_DS_MSKOR_B64 0x4c
#define SQ_DS_WRITE_B64 0x4d
#define SQ_DS_WRITE2_B64 0x4e
#define SQ_DS_WRITE2ST64_B64 0x4f
#define SQ_DS_CMPST_B64 0x50
#define SQ_DS_CMPST_F64 0x51
#define SQ_DS_MIN_F64 0x52
#define SQ_DS_MAX_F64 0x53
#define SQ_DS_ADD_RTN_U64 0x60
#define SQ_DS_SUB_RTN_U64 0x61
#define SQ_DS_RSUB_RTN_U64 0x62
#define SQ_DS_INC_RTN_U64 0x63
#define SQ_DS_DEC_RTN_U64 0x64
#define SQ_DS_MIN_RTN_I64 0x65
#define SQ_DS_MAX_RTN_I64 0x66
#define SQ_DS_MIN_RTN_U64 0x67
#define SQ_DS_MAX_RTN_U64 0x68
#define SQ_DS_AND_RTN_B64 0x69
#define SQ_DS_OR_RTN_B64 0x6a
#define SQ_DS_XOR_RTN_B64 0x6b
#define SQ_DS_MSKOR_RTN_B64 0x6c
#define SQ_DS_WRXCHG_RTN_B64 0x6d
#define SQ_DS_WRXCHG2_RTN_B64 0x6e
#define SQ_DS_WRXCHG2ST64_RTN_B64 0x6f
#define SQ_DS_CMPST_RTN_B64 0x70
#define SQ_DS_CMPST_RTN_F64 0x71
#define SQ_DS_MIN_RTN_F64 0x72
#define SQ_DS_MAX_RTN_F64 0x73
#define SQ_DS_READ_B64 0x76
#define SQ_DS_READ2_B64 0x77
#define SQ_DS_READ2ST64_B64 0x78
#define SQ_DS_CONDXCHG32_RTN_B64 0x7e
#define SQ_DS_ADD_SRC2_U32 0x80
#define SQ_DS_SUB_SRC2_U32 0x81
#define SQ_DS_RSUB_SRC2_U32 0x82
#define SQ_DS_INC_SRC2_U32 0x83
#define SQ_DS_DEC_SRC2_U32 0x84
#define SQ_DS_MIN_SRC2_I32 0x85
#define SQ_DS_MAX_SRC2_I32 0x86
#define SQ_DS_MIN_SRC2_U32 0x87
#define SQ_DS_MAX_SRC2_U32 0x88
#define SQ_DS_AND_SRC2_B32 0x89
#define SQ_DS_OR_SRC2_B32 0x8a
#define SQ_DS_XOR_SRC2_B32 0x8b
#define SQ_DS_WRITE_SRC2_B32 0x8d
#define SQ_DS_MIN_SRC2_F32 0x92
#define SQ_DS_MAX_SRC2_F32 0x93
#define SQ_DS_ADD_SRC2_U64 0xc0
#define SQ_DS_SUB_SRC2_U64 0xc1
#define SQ_DS_RSUB_SRC2_U64 0xc2
#define SQ_DS_INC_SRC2_U64 0xc3
#define SQ_DS_DEC_SRC2_U64 0xc4
#define SQ_DS_MIN_SRC2_I64 0xc5
#define SQ_DS_MAX_SRC2_I64 0xc6
#define SQ_DS_MIN_SRC2_U64 0xc7
#define SQ_DS_MAX_SRC2_U64 0xc8
#define SQ_DS_AND_SRC2_B64 0xc9
#define SQ_DS_OR_SRC2_B64 0xca
#define SQ_DS_XOR_SRC2_B64 0xcb
#define SQ_DS_WRITE_SRC2_B64 0xcd
#define SQ_DS_MIN_SRC2_F64 0xd2
#define SQ_DS_MAX_SRC2_F64 0xd3
#define SQ_DS_WRITE_B96 0xde
#define SQ_DS_WRITE_B128 0xdf
#define SQ_DS_CONDXCHG32_RTN_B128 0xfd
#define SQ_DS_READ_B96 0xfe
#define SQ_DS_READ_B128 0xff
#define SQ_SRC_SCC 0xfd
#define SQ_OMOD_OFF 0x0
#define SQ_OMOD_M2 0x1
#define SQ_OMOD_M4 0x2
#define SQ_OMOD_D2 0x3
#define SQ_EXP_GDS0 0x18
#define SQ_GS_OP_NOP 0x0
#define SQ_GS_OP_CUT 0x1
#define SQ_GS_OP_EMIT 0x2
#define SQ_GS_OP_EMIT_CUT 0x3
#define SQ_IMAGE_LOAD 0x0
#define SQ_IMAGE_LOAD_MIP 0x1
#define SQ_IMAGE_LOAD_PCK 0x2
#define SQ_IMAGE_LOAD_PCK_SGN 0x3
#define SQ_IMAGE_LOAD_MIP_PCK 0x4
#define SQ_IMAGE_LOAD_MIP_PCK_SGN 0x5
#define SQ_IMAGE_STORE 0x8
#define SQ_IMAGE_STORE_MIP 0x9
#define SQ_IMAGE_STORE_PCK 0xa
#define SQ_IMAGE_STORE_MIP_PCK 0xb
#define SQ_IMAGE_GET_RESINFO 0xe
#define SQ_IMAGE_ATOMIC_SWAP 0xf
#define SQ_IMAGE_ATOMIC_CMPSWAP 0x10
#define SQ_IMAGE_ATOMIC_ADD 0x11
#define SQ_IMAGE_ATOMIC_SUB 0x12
#define SQ_IMAGE_ATOMIC_SMIN 0x14
#define SQ_IMAGE_ATOMIC_UMIN 0x15
#define SQ_IMAGE_ATOMIC_SMAX 0x16
#define SQ_IMAGE_ATOMIC_UMAX 0x17
#define SQ_IMAGE_ATOMIC_AND 0x18
#define SQ_IMAGE_ATOMIC_OR 0x19
#define SQ_IMAGE_ATOMIC_XOR 0x1a
#define SQ_IMAGE_ATOMIC_INC 0x1b
#define SQ_IMAGE_ATOMIC_DEC 0x1c
#define SQ_IMAGE_ATOMIC_FCMPSWAP 0x1d
#define SQ_IMAGE_ATOMIC_FMIN 0x1e
#define SQ_IMAGE_ATOMIC_FMAX 0x1f
#define SQ_IMAGE_SAMPLE 0x20
#define SQ_IMAGE_SAMPLE_CL 0x21
#define SQ_IMAGE_SAMPLE_D 0x22
#define SQ_IMAGE_SAMPLE_D_CL 0x23
#define SQ_IMAGE_SAMPLE_L 0x24
#define SQ_IMAGE_SAMPLE_B 0x25
#define SQ_IMAGE_SAMPLE_B_CL 0x26
#define SQ_IMAGE_SAMPLE_LZ 0x27
#define SQ_IMAGE_SAMPLE_C 0x28
#define SQ_IMAGE_SAMPLE_C_CL 0x29
#define SQ_IMAGE_SAMPLE_C_D 0x2a
#define SQ_IMAGE_SAMPLE_C_D_CL 0x2b
#define SQ_IMAGE_SAMPLE_C_L 0x2c
#define SQ_IMAGE_SAMPLE_C_B 0x2d
#define SQ_IMAGE_SAMPLE_C_B_CL 0x2e
#define SQ_IMAGE_SAMPLE_C_LZ 0x2f
#define SQ_IMAGE_SAMPLE_O 0x30
#define SQ_IMAGE_SAMPLE_CL_O 0x31
#define SQ_IMAGE_SAMPLE_D_O 0x32
#define SQ_IMAGE_SAMPLE_D_CL_O 0x33
#define SQ_IMAGE_SAMPLE_L_O 0x34
#define SQ_IMAGE_SAMPLE_B_O 0x35
#define SQ_IMAGE_SAMPLE_B_CL_O 0x36
#define SQ_IMAGE_SAMPLE_LZ_O 0x37
#define SQ_IMAGE_SAMPLE_C_O 0x38
#define SQ_IMAGE_SAMPLE_C_CL_O 0x39
#define SQ_IMAGE_SAMPLE_C_D_O 0x3a
#define SQ_IMAGE_SAMPLE_C_D_CL_O 0x3b
#define SQ_IMAGE_SAMPLE_C_L_O 0x3c
#define SQ_IMAGE_SAMPLE_C_B_O 0x3d
#define SQ_IMAGE_SAMPLE_C_B_CL_O 0x3e
#define SQ_IMAGE_SAMPLE_C_LZ_O 0x3f
#define SQ_IMAGE_GATHER4 0x40
#define SQ_IMAGE_GATHER4_CL 0x41
#define SQ_IMAGE_GATHER4_L 0x44
#define SQ_IMAGE_GATHER4_B 0x45
#define SQ_IMAGE_GATHER4_B_CL 0x46
#define SQ_IMAGE_GATHER4_LZ 0x47
#define SQ_IMAGE_GATHER4_C 0x48
#define SQ_IMAGE_GATHER4_C_CL 0x49
#define SQ_IMAGE_GATHER4_C_L 0x4c
#define SQ_IMAGE_GATHER4_C_B 0x4d
#define SQ_IMAGE_GATHER4_C_B_CL 0x4e
#define SQ_IMAGE_GATHER4_C_LZ 0x4f
#define SQ_IMAGE_GATHER4_O 0x50
#define SQ_IMAGE_GATHER4_CL_O 0x51
#define SQ_IMAGE_GATHER4_L_O 0x54
#define SQ_IMAGE_GATHER4_B_O 0x55
#define SQ_IMAGE_GATHER4_B_CL_O 0x56
#define SQ_IMAGE_GATHER4_LZ_O 0x57
#define SQ_IMAGE_GATHER4_C_O 0x58
#define SQ_IMAGE_GATHER4_C_CL_O 0x59
#define SQ_IMAGE_GATHER4_C_L_O 0x5c
#define SQ_IMAGE_GATHER4_C_B_O 0x5d
#define SQ_IMAGE_GATHER4_C_B_CL_O 0x5e
#define SQ_IMAGE_GATHER4_C_LZ_O 0x5f
#define SQ_IMAGE_GET_LOD 0x60
#define SQ_IMAGE_SAMPLE_CD 0x68
#define SQ_IMAGE_SAMPLE_CD_CL 0x69
#define SQ_IMAGE_SAMPLE_C_CD 0x6a
#define SQ_IMAGE_SAMPLE_C_CD_CL 0x6b
#define SQ_IMAGE_SAMPLE_CD_O 0x6c
#define SQ_IMAGE_SAMPLE_CD_CL_O 0x6d
#define SQ_IMAGE_SAMPLE_C_CD_O 0x6e
#define SQ_IMAGE_SAMPLE_C_CD_CL_O 0x6f
#define SQ_IMAGE_RSRC256 0x7e
#define SQ_IMAGE_SAMPLER 0x7f
#define SQ_SRC_VCCZ 0xfb
#define SQ_SRC_VGPR0 0x100
#define SQ_DFMT_INVALID 0x0
#define SQ_DFMT_8 0x1
#define SQ_DFMT_16 0x2
#define SQ_DFMT_8_8 0x3
#define SQ_DFMT_32 0x4
#define SQ_DFMT_16_16 0x5
#define SQ_DFMT_10_11_11 0x6
#define SQ_DFMT_11_11_10 0x7
#define SQ_DFMT_10_10_10_2 0x8
#define SQ_DFMT_2_10_10_10 0x9
#define SQ_DFMT_8_8_8_8 0xa
#define SQ_DFMT_32_32 0xb
#define SQ_DFMT_16_16_16_16 0xc
#define SQ_DFMT_32_32_32 0xd
#define SQ_DFMT_32_32_32_32 0xe
#define SQ_TBUFFER_LOAD_FORMAT_X 0x0
#define SQ_TBUFFER_LOAD_FORMAT_XY 0x1
#define SQ_TBUFFER_LOAD_FORMAT_XYZ 0x2
#define SQ_TBUFFER_LOAD_FORMAT_XYZW 0x3
#define SQ_TBUFFER_STORE_FORMAT_X 0x4
#define SQ_TBUFFER_STORE_FORMAT_XY 0x5
#define SQ_TBUFFER_STORE_FORMAT_XYZ 0x6
#define SQ_TBUFFER_STORE_FORMAT_XYZW 0x7
#define SQ_CHAN_X 0x0
#define SQ_CHAN_Y 0x1
#define SQ_CHAN_Z 0x2
#define SQ_CHAN_W 0x3
#define SQ_EXEC_LO 0x7e
#define SQ_EXEC_HI 0x7f
#define SQ_S_LOAD_DWORD 0x0
#define SQ_S_LOAD_DWORDX2 0x1
#define SQ_S_LOAD_DWORDX4 0x2
#define SQ_S_LOAD_DWORDX8 0x3
#define SQ_S_LOAD_DWORDX16 0x4
#define SQ_S_BUFFER_LOAD_DWORD 0x8
#define SQ_S_BUFFER_LOAD_DWORDX2 0x9
#define SQ_S_BUFFER_LOAD_DWORDX4 0xa
#define SQ_S_BUFFER_LOAD_DWORDX8 0xb
#define SQ_S_BUFFER_LOAD_DWORDX16 0xc
#define SQ_S_DCACHE_INV_VOL 0x1d
#define SQ_S_MEMTIME 0x1e
#define SQ_S_DCACHE_INV 0x1f
#define SQ_V_NOP 0x0
#define SQ_V_MOV_B32 0x1
#define SQ_V_READFIRSTLANE_B32 0x2
#define SQ_V_CVT_I32_F64 0x3
#define SQ_V_CVT_F64_I32 0x4
#define SQ_V_CVT_F32_I32 0x5
#define SQ_V_CVT_F32_U32 0x6
#define SQ_V_CVT_U32_F32 0x7
#define SQ_V_CVT_I32_F32 0x8
#define SQ_V_MOV_FED_B32 0x9
#define SQ_V_CVT_F16_F32 0xa
#define SQ_V_CVT_F32_F16 0xb
#define SQ_V_CVT_RPI_I32_F32 0xc
#define SQ_V_CVT_FLR_I32_F32 0xd
#define SQ_V_CVT_OFF_F32_I4 0xe
#define SQ_V_CVT_F32_F64 0xf
#define SQ_V_CVT_F64_F32 0x10
#define SQ_V_CVT_F32_UBYTE0 0x11
#define SQ_V_CVT_F32_UBYTE1 0x12
#define SQ_V_CVT_F32_UBYTE2 0x13
#define SQ_V_CVT_F32_UBYTE3 0x14
#define SQ_V_CVT_U32_F64 0x15
#define SQ_V_CVT_F64_U32 0x16
#define SQ_V_TRUNC_F64 0x17
#define SQ_V_CEIL_F64 0x18
#define SQ_V_RNDNE_F64 0x19
#define SQ_V_FLOOR_F64 0x1a
#define SQ_V_FRACT_F32 0x20
#define SQ_V_TRUNC_F32 0x21
#define SQ_V_CEIL_F32 0x22
#define SQ_V_RNDNE_F32 0x23
#define SQ_V_FLOOR_F32 0x24
#define SQ_V_EXP_F32 0x25
#define SQ_V_LOG_CLAMP_F32 0x26
#define SQ_V_LOG_F32 0x27
#define SQ_V_RCP_CLAMP_F32 0x28
#define SQ_V_RCP_LEGACY_F32 0x29
#define SQ_V_RCP_F32 0x2a
#define SQ_V_RCP_IFLAG_F32 0x2b
#define SQ_V_RSQ_CLAMP_F32 0x2c
#define SQ_V_RSQ_LEGACY_F32 0x2d
#define SQ_V_RSQ_F32 0x2e
#define SQ_V_RCP_F64 0x2f
#define SQ_V_RCP_CLAMP_F64 0x30
#define SQ_V_RSQ_F64 0x31
#define SQ_V_RSQ_CLAMP_F64 0x32
#define SQ_V_SQRT_F32 0x33
#define SQ_V_SQRT_F64 0x34
#define SQ_V_SIN_F32 0x35
#define SQ_V_COS_F32 0x36
#define SQ_V_NOT_B32 0x37
#define SQ_V_BFREV_B32 0x38
#define SQ_V_FFBH_U32 0x39
#define SQ_V_FFBL_B32 0x3a
#define SQ_V_FFBH_I32 0x3b
#define SQ_V_FREXP_EXP_I32_F64 0x3c
#define SQ_V_FREXP_MANT_F64 0x3d
#define SQ_V_FRACT_F64 0x3e
#define SQ_V_FREXP_EXP_I32_F32 0x3f
#define SQ_V_FREXP_MANT_F32 0x40
#define SQ_V_CLREXCP 0x41
#define SQ_V_MOVRELD_B32 0x42
#define SQ_V_MOVRELS_B32 0x43
#define SQ_V_MOVRELSD_B32 0x44
#define SQ_V_LOG_LEGACY_F32 0x45
#define SQ_V_EXP_LEGACY_F32 0x46
#define SQ_NFMT_UNORM 0x0
#define SQ_NFMT_SNORM 0x1
#define SQ_NFMT_USCALED 0x2
#define SQ_NFMT_SSCALED 0x3
#define SQ_NFMT_UINT 0x4
#define SQ_NFMT_SINT 0x5
#define SQ_NFMT_SNORM_OGL 0x6
#define SQ_NFMT_FLOAT 0x7
#define SQ_V_OP1_OFFSET 0x180
#define SQ_V_OP2_OFFSET 0x100
#define SQ_V_OPC_OFFSET 0x0
#define SQ_V_INTERP_P1_F32 0x0
#define SQ_V_INTERP_P2_F32 0x1
#define SQ_V_INTERP_MOV_F32 0x2
#define SQ_S_NOP 0x0
#define SQ_S_ENDPGM 0x1
#define SQ_S_BRANCH 0x2
#define SQ_S_CBRANCH_SCC0 0x4
#define SQ_S_CBRANCH_SCC1 0x5
#define SQ_S_CBRANCH_VCCZ 0x6
#define SQ_S_CBRANCH_VCCNZ 0x7
#define SQ_S_CBRANCH_EXECZ 0x8
#define SQ_S_CBRANCH_EXECNZ 0x9
#define SQ_S_BARRIER 0xa
#define SQ_S_SETKILL 0xb
#define SQ_S_WAITCNT 0xc
#define SQ_S_SETHALT 0xd
#define SQ_S_SLEEP 0xe
#define SQ_S_SETPRIO 0xf
#define SQ_S_SENDMSG 0x10
#define SQ_S_SENDMSGHALT 0x11
#define SQ_S_TRAP 0x12
#define SQ_S_ICACHE_INV 0x13
#define SQ_S_INCPERFLEVEL 0x14
#define SQ_S_DECPERFLEVEL 0x15
#define SQ_S_TTRACEDATA 0x16
#define SQ_S_CBRANCH_CDBGSYS 0x17
#define SQ_S_CBRANCH_CDBGUSER 0x18
#define SQ_S_CBRANCH_CDBGSYS_OR_USER 0x19
#define SQ_S_CBRANCH_CDBGSYS_AND_USER 0x1a
#define SQ_SRC_LITERAL 0xff
#define SQ_VCC_LO 0x6a
#define SQ_VCC_HI 0x6b
#define SQ_PARAM_P10 0x0
#define SQ_PARAM_P20 0x1
#define SQ_PARAM_P0 0x2
#define SQ_SRC_LDS_DIRECT 0xfe
#define SQ_FLAT_SCRATCH_LO 0x68
#define SQ_FLAT_SCRATCH_HI 0x69
#define SQ_V_CNDMASK_B32 0x0
#define SQ_V_READLANE_B32 0x1
#define SQ_V_WRITELANE_B32 0x2
#define SQ_V_ADD_F32 0x3
#define SQ_V_SUB_F32 0x4
#define SQ_V_SUBREV_F32 0x5
#define SQ_V_MAC_LEGACY_F32 0x6
#define SQ_V_MUL_LEGACY_F32 0x7
#define SQ_V_MUL_F32 0x8
#define SQ_V_MUL_I32_I24 0x9
#define SQ_V_MUL_HI_I32_I24 0xa
#define SQ_V_MUL_U32_U24 0xb
#define SQ_V_MUL_HI_U32_U24 0xc
#define SQ_V_MIN_LEGACY_F32 0xd
#define SQ_V_MAX_LEGACY_F32 0xe
#define SQ_V_MIN_F32 0xf
#define SQ_V_MAX_F32 0x10
#define SQ_V_MIN_I32 0x11
#define SQ_V_MAX_I32 0x12
#define SQ_V_MIN_U32 0x13
#define SQ_V_MAX_U32 0x14
#define SQ_V_LSHR_B32 0x15
#define SQ_V_LSHRREV_B32 0x16
#define SQ_V_ASHR_I32 0x17
#define SQ_V_ASHRREV_I32 0x18
#define SQ_V_LSHL_B32 0x19
#define SQ_V_LSHLREV_B32 0x1a
#define SQ_V_AND_B32 0x1b
#define SQ_V_OR_B32 0x1c
#define SQ_V_XOR_B32 0x1d
#define SQ_V_BFM_B32 0x1e
#define SQ_V_MAC_F32 0x1f
#define SQ_V_MADMK_F32 0x20
#define SQ_V_MADAK_F32 0x21
#define SQ_V_BCNT_U32_B32 0x22
#define SQ_V_MBCNT_LO_U32_B32 0x23
#define SQ_V_MBCNT_HI_U32_B32 0x24
#define SQ_V_ADD_I32 0x25
#define SQ_V_SUB_I32 0x26
#define SQ_V_SUBREV_I32 0x27
#define SQ_V_ADDC_U32 0x28
#define SQ_V_SUBB_U32 0x29
#define SQ_V_SUBBREV_U32 0x2a
#define SQ_V_LDEXP_F32 0x2b
#define SQ_V_CVT_PKACCUM_U8_F32 0x2c
#define SQ_V_CVT_PKNORM_I16_F32 0x2d
#define SQ_V_CVT_PKNORM_U16_F32 0x2e
#define SQ_V_CVT_PKRTZ_F16_F32 0x2f
#define SQ_V_CVT_PK_U16_U32 0x30
#define SQ_V_CVT_PK_I16_I32 0x31
#define SQ_FLAT_LOAD_UBYTE 0x8
#define SQ_FLAT_LOAD_SBYTE 0x9
#define SQ_FLAT_LOAD_USHORT 0xa
#define SQ_FLAT_LOAD_SSHORT 0xb
#define SQ_FLAT_LOAD_DWORD 0xc
#define SQ_FLAT_LOAD_DWORDX2 0xd
#define SQ_FLAT_LOAD_DWORDX4 0xe
#define SQ_FLAT_LOAD_DWORDX3 0xf
#define SQ_FLAT_STORE_BYTE 0x18
#define SQ_FLAT_STORE_SHORT 0x1a
#define SQ_FLAT_STORE_DWORD 0x1c
#define SQ_FLAT_STORE_DWORDX2 0x1d
#define SQ_FLAT_STORE_DWORDX4 0x1e
#define SQ_FLAT_STORE_DWORDX3 0x1f
#define SQ_FLAT_ATOMIC_SWAP 0x30
#define SQ_FLAT_ATOMIC_CMPSWAP 0x31
#define SQ_FLAT_ATOMIC_ADD 0x32
#define SQ_FLAT_ATOMIC_SUB 0x33
#define SQ_FLAT_ATOMIC_SMIN 0x35
#define SQ_FLAT_ATOMIC_UMIN 0x36
#define SQ_FLAT_ATOMIC_SMAX 0x37
#define SQ_FLAT_ATOMIC_UMAX 0x38
#define SQ_FLAT_ATOMIC_AND 0x39
#define SQ_FLAT_ATOMIC_OR 0x3a
#define SQ_FLAT_ATOMIC_XOR 0x3b
#define SQ_FLAT_ATOMIC_INC 0x3c
#define SQ_FLAT_ATOMIC_DEC 0x3d
#define SQ_FLAT_ATOMIC_FCMPSWAP 0x3e
#define SQ_FLAT_ATOMIC_FMIN 0x3f
#define SQ_FLAT_ATOMIC_FMAX 0x40
#define SQ_FLAT_ATOMIC_SWAP_X2 0x50
#define SQ_FLAT_ATOMIC_CMPSWAP_X2 0x51
#define SQ_FLAT_ATOMIC_ADD_X2 0x52
#define SQ_FLAT_ATOMIC_SUB_X2 0x53
#define SQ_FLAT_ATOMIC_SMIN_X2 0x55
#define SQ_FLAT_ATOMIC_UMIN_X2 0x56
#define SQ_FLAT_ATOMIC_SMAX_X2 0x57
#define SQ_FLAT_ATOMIC_UMAX_X2 0x58
#define SQ_FLAT_ATOMIC_AND_X2 0x59
#define SQ_FLAT_ATOMIC_OR_X2 0x5a
#define SQ_FLAT_ATOMIC_XOR_X2 0x5b
#define SQ_FLAT_ATOMIC_INC_X2 0x5c
#define SQ_FLAT_ATOMIC_DEC_X2 0x5d
#define SQ_FLAT_ATOMIC_FCMPSWAP_X2 0x5e
#define SQ_FLAT_ATOMIC_FMIN_X2 0x5f
#define SQ_FLAT_ATOMIC_FMAX_X2 0x60
#define SQ_S_CMP_EQ_I32 0x0
#define SQ_S_CMP_LG_I32 0x1
#define SQ_S_CMP_GT_I32 0x2
#define SQ_S_CMP_GE_I32 0x3
#define SQ_S_CMP_LT_I32 0x4
#define SQ_S_CMP_LE_I32 0x5
#define SQ_S_CMP_EQ_U32 0x6
#define SQ_S_CMP_LG_U32 0x7
#define SQ_S_CMP_GT_U32 0x8
#define SQ_S_CMP_GE_U32 0x9
#define SQ_S_CMP_LT_U32 0xa
#define SQ_S_CMP_LE_U32 0xb
#define SQ_S_BITCMP0_B32 0xc
#define SQ_S_BITCMP1_B32 0xd
#define SQ_S_BITCMP0_B64 0xe
#define SQ_S_BITCMP1_B64 0xf
#define SQ_S_SETVSKIP 0x10
#define SQ_M0 0x7c
#define SQ_V_MAD_LEGACY_F32 0x140
#define SQ_V_MAD_F32 0x141
#define SQ_V_MAD_I32_I24 0x142
#define SQ_V_MAD_U32_U24 0x143
#define SQ_V_CUBEID_F32 0x144
#define SQ_V_CUBESC_F32 0x145
#define SQ_V_CUBETC_F32 0x146
#define SQ_V_CUBEMA_F32 0x147
#define SQ_V_BFE_U32 0x148
#define SQ_V_BFE_I32 0x149
#define SQ_V_BFI_B32 0x14a
#define SQ_V_FMA_F32 0x14b
#define SQ_V_FMA_F64 0x14c
#define SQ_V_LERP_U8 0x14d
#define SQ_V_ALIGNBIT_B32 0x14e
#define SQ_V_ALIGNBYTE_B32 0x14f
#define SQ_V_MULLIT_F32 0x150
#define SQ_V_MIN3_F32 0x151
#define SQ_V_MIN3_I32 0x152
#define SQ_V_MIN3_U32 0x153
#define SQ_V_MAX3_F32 0x154
#define SQ_V_MAX3_I32 0x155
#define SQ_V_MAX3_U32 0x156
#define SQ_V_MED3_F32 0x157
#define SQ_V_MED3_I32 0x158
#define SQ_V_MED3_U32 0x159
#define SQ_V_SAD_U8 0x15a
#define SQ_V_SAD_HI_U8 0x15b
#define SQ_V_SAD_U16 0x15c
#define SQ_V_SAD_U32 0x15d
#define SQ_V_CVT_PK_U8_F32 0x15e
#define SQ_V_DIV_FIXUP_F32 0x15f
#define SQ_V_DIV_FIXUP_F64 0x160
#define SQ_V_LSHL_B64 0x161
#define SQ_V_LSHR_B64 0x162
#define SQ_V_ASHR_I64 0x163
#define SQ_V_ADD_F64 0x164
#define SQ_V_MUL_F64 0x165
#define SQ_V_MIN_F64 0x166
#define SQ_V_MAX_F64 0x167
#define SQ_V_LDEXP_F64 0x168
#define SQ_V_MUL_LO_U32 0x169
#define SQ_V_MUL_HI_U32 0x16a
#define SQ_V_MUL_LO_I32 0x16b
#define SQ_V_MUL_HI_I32 0x16c
#define SQ_V_DIV_SCALE_F32 0x16d
#define SQ_V_DIV_SCALE_F64 0x16e
#define SQ_V_DIV_FMAS_F32 0x16f
#define SQ_V_DIV_FMAS_F64 0x170
#define SQ_V_MSAD_U8 0x171
#define SQ_V_QSAD_PK_U16_U8 0x172
#define SQ_V_MQSAD_PK_U16_U8 0x173
#define SQ_V_TRIG_PREOP_F64 0x174
#define SQ_V_MQSAD_U32_U8 0x175
#define SQ_V_MAD_U64_U32 0x176
#define SQ_V_MAD_I64_I32 0x177
#define SQ_VCC_ALL 0x0
#define SQ_SRC_EXECZ 0xfc
#define SQ_SYSMSG_OP_ECC_ERR_INTERRUPT 0x1
#define SQ_SYSMSG_OP_REG_RD 0x2
#define SQ_SYSMSG_OP_HOST_TRAP_ACK 0x3
#define SQ_SYSMSG_OP_TTRACE_PC 0x4
#define SQ_HW_REG_MODE 0x1
#define SQ_HW_REG_STATUS 0x2
#define SQ_HW_REG_TRAPSTS 0x3
#define SQ_HW_REG_HW_ID 0x4
#define SQ_HW_REG_GPR_ALLOC 0x5
#define SQ_HW_REG_LDS_ALLOC 0x6
#define SQ_HW_REG_IB_STS 0x7
#define SQ_HW_REG_PC_LO 0x8
#define SQ_HW_REG_PC_HI 0x9
#define SQ_HW_REG_INST_DW0 0xa
#define SQ_HW_REG_INST_DW1 0xb
#define SQ_HW_REG_IB_DBG0 0xc
#define SQ_S_ADD_U32 0x0
#define SQ_S_SUB_U32 0x1
#define SQ_S_ADD_I32 0x2
#define SQ_S_SUB_I32 0x3
#define SQ_S_ADDC_U32 0x4
#define SQ_S_SUBB_U32 0x5
#define SQ_S_MIN_I32 0x6
#define SQ_S_MIN_U32 0x7
#define SQ_S_MAX_I32 0x8
#define SQ_S_MAX_U32 0x9
#define SQ_S_CSELECT_B32 0xa
#define SQ_S_CSELECT_B64 0xb
#define SQ_S_AND_B32 0xe
#define SQ_S_AND_B64 0xf
#define SQ_S_OR_B32 0x10
#define SQ_S_OR_B64 0x11
#define SQ_S_XOR_B32 0x12
#define SQ_S_XOR_B64 0x13
#define SQ_S_ANDN2_B32 0x14
#define SQ_S_ANDN2_B64 0x15
#define SQ_S_ORN2_B32 0x16
#define SQ_S_ORN2_B64 0x17
#define SQ_S_NAND_B32 0x18
#define SQ_S_NAND_B64 0x19
#define SQ_S_NOR_B32 0x1a
#define SQ_S_NOR_B64 0x1b
#define SQ_S_XNOR_B32 0x1c
#define SQ_S_XNOR_B64 0x1d
#define SQ_S_LSHL_B32 0x1e
#define SQ_S_LSHL_B64 0x1f
#define SQ_S_LSHR_B32 0x20
#define SQ_S_LSHR_B64 0x21
#define SQ_S_ASHR_I32 0x22
#define SQ_S_ASHR_I64 0x23
#define SQ_S_BFM_B32 0x24
#define SQ_S_BFM_B64 0x25
#define SQ_S_MUL_I32 0x26
#define SQ_S_BFE_U32 0x27
#define SQ_S_BFE_I32 0x28
#define SQ_S_BFE_U64 0x29
#define SQ_S_BFE_I64 0x2a
#define SQ_S_CBRANCH_G_FORK 0x2b
#define SQ_S_ABSDIFF_I32 0x2c
#define SQ_MSG_INTERRUPT 0x1
#define SQ_MSG_GS 0x2
#define SQ_MSG_GS_DONE 0x3
#define SQ_MSG_SYSMSG 0xf
typedef enum TEX_BORDER_COLOR_TYPE {
TEX_BorderColor_TransparentBlack = 0x0,
TEX_BorderColor_OpaqueBlack = 0x1,
TEX_BorderColor_OpaqueWhite = 0x2,
TEX_BorderColor_Register = 0x3,
} TEX_BORDER_COLOR_TYPE;
typedef enum TEX_CHROMA_KEY {
TEX_ChromaKey_Disabled = 0x0,
TEX_ChromaKey_Kill = 0x1,
TEX_ChromaKey_Blend = 0x2,
TEX_ChromaKey_RESERVED_3 = 0x3,
} TEX_CHROMA_KEY;
typedef enum TEX_CLAMP {
TEX_Clamp_Repeat = 0x0,
TEX_Clamp_Mirror = 0x1,
TEX_Clamp_ClampToLast = 0x2,
TEX_Clamp_MirrorOnceToLast = 0x3,
TEX_Clamp_ClampHalfToBorder = 0x4,
TEX_Clamp_MirrorOnceHalfToBorder = 0x5,
TEX_Clamp_ClampToBorder = 0x6,
TEX_Clamp_MirrorOnceToBorder = 0x7,
} TEX_CLAMP;
typedef enum TEX_COORD_TYPE {
TEX_CoordType_Unnormalized = 0x0,
TEX_CoordType_Normalized = 0x1,
} TEX_COORD_TYPE;
typedef enum TEX_DEPTH_COMPARE_FUNCTION {
TEX_DepthCompareFunction_Never = 0x0,
TEX_DepthCompareFunction_Less = 0x1,
TEX_DepthCompareFunction_Equal = 0x2,
TEX_DepthCompareFunction_LessEqual = 0x3,
TEX_DepthCompareFunction_Greater = 0x4,
TEX_DepthCompareFunction_NotEqual = 0x5,
TEX_DepthCompareFunction_GreaterEqual = 0x6,
TEX_DepthCompareFunction_Always = 0x7,
} TEX_DEPTH_COMPARE_FUNCTION;
typedef enum TEX_DIM {
TEX_Dim_1D = 0x0,
TEX_Dim_2D = 0x1,
TEX_Dim_3D = 0x2,
TEX_Dim_CubeMap = 0x3,
TEX_Dim_1DArray = 0x4,
TEX_Dim_2DArray = 0x5,
TEX_Dim_2D_MSAA = 0x6,
TEX_Dim_2DArray_MSAA = 0x7,
} TEX_DIM;
typedef enum TEX_FORMAT_COMP {
TEX_FormatComp_Unsigned = 0x0,
TEX_FormatComp_Signed = 0x1,
TEX_FormatComp_UnsignedBiased = 0x2,
TEX_FormatComp_RESERVED_3 = 0x3,
} TEX_FORMAT_COMP;
typedef enum TEX_MAX_ANISO_RATIO {
TEX_MaxAnisoRatio_1to1 = 0x0,
TEX_MaxAnisoRatio_2to1 = 0x1,
TEX_MaxAnisoRatio_4to1 = 0x2,
TEX_MaxAnisoRatio_8to1 = 0x3,
TEX_MaxAnisoRatio_16to1 = 0x4,
TEX_MaxAnisoRatio_RESERVED_5 = 0x5,
TEX_MaxAnisoRatio_RESERVED_6 = 0x6,
TEX_MaxAnisoRatio_RESERVED_7 = 0x7,
} TEX_MAX_ANISO_RATIO;
typedef enum TEX_MIP_FILTER {
TEX_MipFilter_None = 0x0,
TEX_MipFilter_Point = 0x1,
TEX_MipFilter_Linear = 0x2,
TEX_MipFilter_RESERVED_3 = 0x3,
} TEX_MIP_FILTER;
typedef enum TEX_REQUEST_SIZE {
TEX_RequestSize_32B = 0x0,
TEX_RequestSize_64B = 0x1,
TEX_RequestSize_128B = 0x2,
TEX_RequestSize_2X64B = 0x3,
} TEX_REQUEST_SIZE;
typedef enum TEX_SAMPLER_TYPE {
TEX_SamplerType_Invalid = 0x0,
TEX_SamplerType_Valid = 0x1,
} TEX_SAMPLER_TYPE;
typedef enum TEX_XY_FILTER {
TEX_XYFilter_Point = 0x0,
TEX_XYFilter_Linear = 0x1,
TEX_XYFilter_AnisoPoint = 0x2,
TEX_XYFilter_AnisoLinear = 0x3,
} TEX_XY_FILTER;
typedef enum TEX_Z_FILTER {
TEX_ZFilter_None = 0x0,
TEX_ZFilter_Point = 0x1,
TEX_ZFilter_Linear = 0x2,
TEX_ZFilter_RESERVED_3 = 0x3,
} TEX_Z_FILTER;
typedef enum VTX_CLAMP {
VTX_Clamp_ClampToZero = 0x0,
VTX_Clamp_ClampToNAN = 0x1,
} VTX_CLAMP;
typedef enum VTX_FETCH_TYPE {
VTX_FetchType_VertexData = 0x0,
VTX_FetchType_InstanceData = 0x1,
VTX_FetchType_NoIndexOffset = 0x2,
VTX_FetchType_RESERVED_3 = 0x3,
} VTX_FETCH_TYPE;
typedef enum VTX_FORMAT_COMP_ALL {
VTX_FormatCompAll_Unsigned = 0x0,
VTX_FormatCompAll_Signed = 0x1,
} VTX_FORMAT_COMP_ALL;
typedef enum VTX_MEM_REQUEST_SIZE {
VTX_MemRequestSize_32B = 0x0,
VTX_MemRequestSize_64B = 0x1,
} VTX_MEM_REQUEST_SIZE;
typedef enum TVX_DATA_FORMAT {
TVX_FMT_INVALID = 0x0,
TVX_FMT_8 = 0x1,
TVX_FMT_4_4 = 0x2,
TVX_FMT_3_3_2 = 0x3,
TVX_FMT_RESERVED_4 = 0x4,
TVX_FMT_16 = 0x5,
TVX_FMT_16_FLOAT = 0x6,
TVX_FMT_8_8 = 0x7,
TVX_FMT_5_6_5 = 0x8,
TVX_FMT_6_5_5 = 0x9,
TVX_FMT_1_5_5_5 = 0xa,
TVX_FMT_4_4_4_4 = 0xb,
TVX_FMT_5_5_5_1 = 0xc,
TVX_FMT_32 = 0xd,
TVX_FMT_32_FLOAT = 0xe,
TVX_FMT_16_16 = 0xf,
TVX_FMT_16_16_FLOAT = 0x10,
TVX_FMT_8_24 = 0x11,
TVX_FMT_8_24_FLOAT = 0x12,
TVX_FMT_24_8 = 0x13,
TVX_FMT_24_8_FLOAT = 0x14,
TVX_FMT_10_11_11 = 0x15,
TVX_FMT_10_11_11_FLOAT = 0x16,
TVX_FMT_11_11_10 = 0x17,
TVX_FMT_11_11_10_FLOAT = 0x18,
TVX_FMT_2_10_10_10 = 0x19,
TVX_FMT_8_8_8_8 = 0x1a,
TVX_FMT_10_10_10_2 = 0x1b,
TVX_FMT_X24_8_32_FLOAT = 0x1c,
TVX_FMT_32_32 = 0x1d,
TVX_FMT_32_32_FLOAT = 0x1e,
TVX_FMT_16_16_16_16 = 0x1f,
TVX_FMT_16_16_16_16_FLOAT = 0x20,
TVX_FMT_RESERVED_33 = 0x21,
TVX_FMT_32_32_32_32 = 0x22,
TVX_FMT_32_32_32_32_FLOAT = 0x23,
TVX_FMT_RESERVED_36 = 0x24,
TVX_FMT_1 = 0x25,
TVX_FMT_1_REVERSED = 0x26,
TVX_FMT_GB_GR = 0x27,
TVX_FMT_BG_RG = 0x28,
TVX_FMT_32_AS_8 = 0x29,
TVX_FMT_32_AS_8_8 = 0x2a,
TVX_FMT_5_9_9_9_SHAREDEXP = 0x2b,
TVX_FMT_8_8_8 = 0x2c,
TVX_FMT_16_16_16 = 0x2d,
TVX_FMT_16_16_16_FLOAT = 0x2e,
TVX_FMT_32_32_32 = 0x2f,
TVX_FMT_32_32_32_FLOAT = 0x30,
TVX_FMT_BC1 = 0x31,
TVX_FMT_BC2 = 0x32,
TVX_FMT_BC3 = 0x33,
TVX_FMT_BC4 = 0x34,
TVX_FMT_BC5 = 0x35,
TVX_FMT_APC0 = 0x36,
TVX_FMT_APC1 = 0x37,
TVX_FMT_APC2 = 0x38,
TVX_FMT_APC3 = 0x39,
TVX_FMT_APC4 = 0x3a,
TVX_FMT_APC5 = 0x3b,
TVX_FMT_APC6 = 0x3c,
TVX_FMT_APC7 = 0x3d,
TVX_FMT_CTX1 = 0x3e,
TVX_FMT_RESERVED_63 = 0x3f,
} TVX_DATA_FORMAT;
typedef enum TVX_DST_SEL {
TVX_DstSel_X = 0x0,
TVX_DstSel_Y = 0x1,
TVX_DstSel_Z = 0x2,
TVX_DstSel_W = 0x3,
TVX_DstSel_0f = 0x4,
TVX_DstSel_1f = 0x5,
TVX_DstSel_RESERVED_6 = 0x6,
TVX_DstSel_Mask = 0x7,
} TVX_DST_SEL;
typedef enum TVX_ENDIAN_SWAP {
TVX_EndianSwap_None = 0x0,
TVX_EndianSwap_8in16 = 0x1,
TVX_EndianSwap_8in32 = 0x2,
TVX_EndianSwap_8in64 = 0x3,
} TVX_ENDIAN_SWAP;
typedef enum TVX_INST {
TVX_Inst_NormalVertexFetch = 0x0,
TVX_Inst_SemanticVertexFetch = 0x1,
TVX_Inst_RESERVED_2 = 0x2,
TVX_Inst_LD = 0x3,
TVX_Inst_GetTextureResInfo = 0x4,
TVX_Inst_GetNumberOfSamples = 0x5,
TVX_Inst_GetLOD = 0x6,
TVX_Inst_GetGradientsH = 0x7,
TVX_Inst_GetGradientsV = 0x8,
TVX_Inst_SetTextureOffsets = 0x9,
TVX_Inst_KeepGradients = 0xa,
TVX_Inst_SetGradientsH = 0xb,
TVX_Inst_SetGradientsV = 0xc,
TVX_Inst_Pass = 0xd,
TVX_Inst_GetBufferResInfo = 0xe,
TVX_Inst_RESERVED_15 = 0xf,
TVX_Inst_Sample = 0x10,
TVX_Inst_Sample_L = 0x11,
TVX_Inst_Sample_LB = 0x12,
TVX_Inst_Sample_LZ = 0x13,
TVX_Inst_Sample_G = 0x14,
TVX_Inst_Gather4 = 0x15,
TVX_Inst_Sample_G_LB = 0x16,
TVX_Inst_Gather4_O = 0x17,
TVX_Inst_Sample_C = 0x18,
TVX_Inst_Sample_C_L = 0x19,
TVX_Inst_Sample_C_LB = 0x1a,
TVX_Inst_Sample_C_LZ = 0x1b,
TVX_Inst_Sample_C_G = 0x1c,
TVX_Inst_Gather4_C = 0x1d,
TVX_Inst_Sample_C_G_LB = 0x1e,
TVX_Inst_Gather4_C_O = 0x1f,
} TVX_INST;
typedef enum TVX_NUM_FORMAT_ALL {
TVX_NumFormatAll_Norm = 0x0,
TVX_NumFormatAll_Int = 0x1,
TVX_NumFormatAll_Scaled = 0x2,
TVX_NumFormatAll_RESERVED_3 = 0x3,
} TVX_NUM_FORMAT_ALL;
typedef enum TVX_SRC_SEL {
TVX_SrcSel_X = 0x0,
TVX_SrcSel_Y = 0x1,
TVX_SrcSel_Z = 0x2,
TVX_SrcSel_W = 0x3,
TVX_SrcSel_0f = 0x4,
TVX_SrcSel_1f = 0x5,
} TVX_SRC_SEL;
typedef enum TVX_SRF_MODE_ALL {
TVX_SRFModeAll_ZCMO = 0x0,
TVX_SRFModeAll_NZ = 0x1,
} TVX_SRF_MODE_ALL;
typedef enum TVX_TYPE {
TVX_Type_InvalidTextureResource = 0x0,
TVX_Type_InvalidVertexBuffer = 0x1,
TVX_Type_ValidTextureResource = 0x2,
TVX_Type_ValidVertexBuffer = 0x3,
} TVX_TYPE;
typedef enum TC_OP_MASKS {
TC_OP_MASK_FLUSH_DENROM = 0x8,
TC_OP_MASK_64 = 0x20,
TC_OP_MASK_NO_RTN = 0x40,
} TC_OP_MASKS;
typedef enum TC_OP {
TC_OP_READ = 0x0,
TC_OP_ATOMIC_FCMPSWAP_RTN_32 = 0x1,
TC_OP_ATOMIC_FMIN_RTN_32 = 0x2,
TC_OP_ATOMIC_FMAX_RTN_32 = 0x3,
TC_OP_RESERVED_FOP_RTN_32_0 = 0x4,
TC_OP_RESERVED_FOP_RTN_32_1 = 0x5,
TC_OP_RESERVED_FOP_RTN_32_2 = 0x6,
TC_OP_ATOMIC_SWAP_RTN_32 = 0x7,
TC_OP_ATOMIC_CMPSWAP_RTN_32 = 0x8,
TC_OP_ATOMIC_FCMPSWAP_FLUSH_DENORM_RTN_32 = 0x9,
TC_OP_ATOMIC_FMIN_FLUSH_DENORM_RTN_32 = 0xa,
TC_OP_ATOMIC_FMAX_FLUSH_DENORM_RTN_32 = 0xb,
TC_OP_RESERVED_FOP_FLUSH_DENORM_RTN_32_0 = 0xc,
TC_OP_RESERVED_FOP_FLUSH_DENORM_RTN_32_1 = 0xd,
TC_OP_RESERVED_FOP_FLUSH_DENORM_RTN_32_2 = 0xe,
TC_OP_ATOMIC_ADD_RTN_32 = 0xf,
TC_OP_ATOMIC_SUB_RTN_32 = 0x10,
TC_OP_ATOMIC_SMIN_RTN_32 = 0x11,
TC_OP_ATOMIC_UMIN_RTN_32 = 0x12,
TC_OP_ATOMIC_SMAX_RTN_32 = 0x13,
TC_OP_ATOMIC_UMAX_RTN_32 = 0x14,
TC_OP_ATOMIC_AND_RTN_32 = 0x15,
TC_OP_ATOMIC_OR_RTN_32 = 0x16,
TC_OP_ATOMIC_XOR_RTN_32 = 0x17,
TC_OP_ATOMIC_INC_RTN_32 = 0x18,
TC_OP_ATOMIC_DEC_RTN_32 = 0x19,
TC_OP_WBINVL1_VOL = 0x1a,
TC_OP_RESERVED_NON_FLOAT_RTN_32_0 = 0x1b,
TC_OP_RESERVED_NON_FLOAT_RTN_32_1 = 0x1c,
TC_OP_RESERVED_NON_FLOAT_RTN_32_2 = 0x1d,
TC_OP_RESERVED_NON_FLOAT_RTN_32_3 = 0x1e,
TC_OP_RESERVED_NON_FLOAT_RTN_32_4 = 0x1f,
TC_OP_WRITE = 0x20,
TC_OP_ATOMIC_FCMPSWAP_RTN_64 = 0x21,
TC_OP_ATOMIC_FMIN_RTN_64 = 0x22,
TC_OP_ATOMIC_FMAX_RTN_64 = 0x23,
TC_OP_RESERVED_FOP_RTN_64_0 = 0x24,
TC_OP_RESERVED_FOP_RTN_64_1 = 0x25,
TC_OP_RESERVED_FOP_RTN_64_2 = 0x26,
TC_OP_ATOMIC_SWAP_RTN_64 = 0x27,
TC_OP_ATOMIC_CMPSWAP_RTN_64 = 0x28,
TC_OP_ATOMIC_FCMPSWAP_FLUSH_DENORM_RTN_64 = 0x29,
TC_OP_ATOMIC_FMIN_FLUSH_DENORM_RTN_64 = 0x2a,
TC_OP_ATOMIC_FMAX_FLUSH_DENORM_RTN_64 = 0x2b,
TC_OP_RESERVED_FOP_FLUSH_DENORM_RTN_64_0 = 0x2c,
TC_OP_RESERVED_FOP_FLUSH_DENORM_RTN_64_1 = 0x2d,
TC_OP_RESERVED_FOP_FLUSH_DENORM_RTN_64_2 = 0x2e,
TC_OP_ATOMIC_ADD_RTN_64 = 0x2f,
TC_OP_ATOMIC_SUB_RTN_64 = 0x30,
TC_OP_ATOMIC_SMIN_RTN_64 = 0x31,
TC_OP_ATOMIC_UMIN_RTN_64 = 0x32,
TC_OP_ATOMIC_SMAX_RTN_64 = 0x33,
TC_OP_ATOMIC_UMAX_RTN_64 = 0x34,
TC_OP_ATOMIC_AND_RTN_64 = 0x35,
TC_OP_ATOMIC_OR_RTN_64 = 0x36,
TC_OP_ATOMIC_XOR_RTN_64 = 0x37,
TC_OP_ATOMIC_INC_RTN_64 = 0x38,
TC_OP_ATOMIC_DEC_RTN_64 = 0x39,
TC_OP_WBL2_VOL = 0x3a,
TC_OP_RESERVED_NON_FLOAT_RTN_64_0 = 0x3b,
TC_OP_RESERVED_NON_FLOAT_RTN_64_1 = 0x3c,
TC_OP_RESERVED_NON_FLOAT_RTN_64_2 = 0x3d,
TC_OP_RESERVED_NON_FLOAT_RTN_64_3 = 0x3e,
TC_OP_RESERVED_NON_FLOAT_RTN_64_4 = 0x3f,
TC_OP_WBINVL1 = 0x40,
TC_OP_ATOMIC_FCMPSWAP_32 = 0x41,
TC_OP_ATOMIC_FMIN_32 = 0x42,
TC_OP_ATOMIC_FMAX_32 = 0x43,
TC_OP_RESERVED_FOP_32_0 = 0x44,
TC_OP_RESERVED_FOP_32_1 = 0x45,
TC_OP_RESERVED_FOP_32_2 = 0x46,
TC_OP_ATOMIC_SWAP_32 = 0x47,
TC_OP_ATOMIC_CMPSWAP_32 = 0x48,
TC_OP_ATOMIC_FCMPSWAP_FLUSH_DENORM_32 = 0x49,
TC_OP_ATOMIC_FMIN_FLUSH_DENORM_32 = 0x4a,
TC_OP_ATOMIC_FMAX_FLUSH_DENORM_32 = 0x4b,
TC_OP_RESERVED_FOP_FLUSH_DENORM_32_0 = 0x4c,
TC_OP_RESERVED_FOP_FLUSH_DENORM_32_1 = 0x4d,
TC_OP_RESERVED_FOP_FLUSH_DENORM_32_2 = 0x4e,
TC_OP_ATOMIC_ADD_32 = 0x4f,
TC_OP_ATOMIC_SUB_32 = 0x50,
TC_OP_ATOMIC_SMIN_32 = 0x51,
TC_OP_ATOMIC_UMIN_32 = 0x52,
TC_OP_ATOMIC_SMAX_32 = 0x53,
TC_OP_ATOMIC_UMAX_32 = 0x54,
TC_OP_ATOMIC_AND_32 = 0x55,
TC_OP_ATOMIC_OR_32 = 0x56,
TC_OP_ATOMIC_XOR_32 = 0x57,
TC_OP_ATOMIC_INC_32 = 0x58,
TC_OP_ATOMIC_DEC_32 = 0x59,
TC_OP_INVL2_VOL = 0x5a,
TC_OP_RESERVED_NON_FLOAT_32_0 = 0x5b,
TC_OP_RESERVED_NON_FLOAT_32_1 = 0x5c,
TC_OP_RESERVED_NON_FLOAT_32_2 = 0x5d,
TC_OP_RESERVED_NON_FLOAT_32_3 = 0x5e,
TC_OP_RESERVED_NON_FLOAT_32_4 = 0x5f,
TC_OP_WBINVL2 = 0x60,
TC_OP_ATOMIC_FCMPSWAP_64 = 0x61,
TC_OP_ATOMIC_FMIN_64 = 0x62,
TC_OP_ATOMIC_FMAX_64 = 0x63,
TC_OP_RESERVED_FOP_64_0 = 0x64,
TC_OP_RESERVED_FOP_64_1 = 0x65,
TC_OP_RESERVED_FOP_64_2 = 0x66,
TC_OP_ATOMIC_SWAP_64 = 0x67,
TC_OP_ATOMIC_CMPSWAP_64 = 0x68,
TC_OP_ATOMIC_FCMPSWAP_FLUSH_DENORM_64 = 0x69,
TC_OP_ATOMIC_FMIN_FLUSH_DENORM_64 = 0x6a,
TC_OP_ATOMIC_FMAX_FLUSH_DENORM_64 = 0x6b,
TC_OP_RESERVED_FOP_FLUSH_DENORM_64_0 = 0x6c,
TC_OP_RESERVED_FOP_FLUSH_DENORM_64_1 = 0x6d,
TC_OP_RESERVED_FOP_FLUSH_DENORM_64_2 = 0x6e,
TC_OP_ATOMIC_ADD_64 = 0x6f,
TC_OP_ATOMIC_SUB_64 = 0x70,
TC_OP_ATOMIC_SMIN_64 = 0x71,
TC_OP_ATOMIC_UMIN_64 = 0x72,
TC_OP_ATOMIC_SMAX_64 = 0x73,
TC_OP_ATOMIC_UMAX_64 = 0x74,
TC_OP_ATOMIC_AND_64 = 0x75,
TC_OP_ATOMIC_OR_64 = 0x76,
TC_OP_ATOMIC_XOR_64 = 0x77,
TC_OP_ATOMIC_INC_64 = 0x78,
TC_OP_ATOMIC_DEC_64 = 0x79,
TC_OP_INVL1L2_VOL = 0x7a,
TC_OP_RESERVED_NON_FLOAT_64_0 = 0x7b,
TC_OP_RESERVED_NON_FLOAT_64_1 = 0x7c,
TC_OP_RESERVED_NON_FLOAT_64_2 = 0x7d,
TC_OP_RESERVED_NON_FLOAT_64_3 = 0x7e,
TC_OP_RESERVED_NON_FLOAT_64_4 = 0x7f,
} TC_OP;
typedef enum TC_CHUB_REQ_CREDITS_ENUM {
TC_CHUB_REQ_CREDITS = 0x10,
} TC_CHUB_REQ_CREDITS_ENUM;
typedef enum CHUB_TC_RET_CREDITS_ENUM {
CHUB_TC_RET_CREDITS = 0x20,
} CHUB_TC_RET_CREDITS_ENUM;
typedef enum TC_NACKS {
TC_NACK_NO_FAULT = 0x0,
TC_NACK_PAGE_FAULT = 0x1,
TC_NACK_PROTECTION_FAULT = 0x2,
TC_NACK_DATA_ERROR = 0x3,
} TC_NACKS;
typedef enum TCC_PERF_SEL {
TCC_PERF_SEL_NONE = 0x0,
TCC_PERF_SEL_CYCLE = 0x1,
TCC_PERF_SEL_BUSY = 0x2,
TCC_PERF_SEL_REQ = 0x3,
TCC_PERF_SEL_STREAMING_REQ = 0x4,
TCC_PERF_SEL_READ = 0x5,
TCC_PERF_SEL_WRITE = 0x6,
TCC_PERF_SEL_ATOMIC = 0x7,
TCC_PERF_SEL_WBINVL2 = 0x8,
TCC_PERF_SEL_WBINVL2_CYCLE = 0x9,
TCC_PERF_SEL_HIT = 0xa,
TCC_PERF_SEL_MISS = 0xb,
TCC_PERF_SEL_DEWRITE_ALLOCATE_HIT = 0xc,
TCC_PERF_SEL_FULLY_WRITTEN_HIT = 0xd,
TCC_PERF_SEL_WRITEBACK = 0xe,
TCC_PERF_SEL_LATENCY_FIFO_FULL = 0xf,
TCC_PERF_SEL_SRC_FIFO_FULL = 0x10,
TCC_PERF_SEL_HOLE_FIFO_FULL = 0x11,
TCC_PERF_SEL_MC_WRREQ = 0x12,
TCC_PERF_SEL_MC_WRREQ_STALL = 0x13,
TCC_PERF_SEL_MC_WRREQ_CREDIT_STALL = 0x14,
TCC_PERF_SEL_MC_WRREQ_MC_HALT_STALL = 0x15,
TCC_PERF_SEL_TOO_MANY_MC_WRREQS_STALL = 0x16,
TCC_PERF_SEL_MC_WRREQ_LEVEL = 0x17,
TCC_PERF_SEL_MC_RDREQ = 0x18,
TCC_PERF_SEL_MC_RDREQ_CREDIT_STALL = 0x19,
TCC_PERF_SEL_MC_RDREQ_MC_HALT_STALL = 0x1a,
TCC_PERF_SEL_MC_RDREQ_LEVEL = 0x1b,
TCC_PERF_SEL_TAG_STALL = 0x1c,
TCC_PERF_SEL_TAG_WRITEBACK_FIFO_FULL = 0x1d,
TCC_PERF_SEL_TAG_MISS_NOTHING_REPLACEABLE_STALL = 0x1e,
TCC_PERF_SEL_READ_RETURN_TIMEOUT = 0x1f,
TCC_PERF_SEL_WRITEBACK_READ_TIMEOUT = 0x20,
TCC_PERF_SEL_READ_RETURN_FULL_BUBBLE = 0x21,
TCC_PERF_SEL_BUBBLE = 0x22,
TCC_PERF_SEL_RETURN_ACK = 0x23,
TCC_PERF_SEL_RETURN_DATA = 0x24,
TCC_PERF_SEL_RETURN_HOLE = 0x25,
TCC_PERF_SEL_RETURN_ACK_HOLE = 0x26,
TCC_PERF_SEL_IB_STALL = 0x27,
TCC_PERF_SEL_TCA_LEVEL = 0x28,
TCC_PERF_SEL_HOLE_LEVEL = 0x29,
TCC_PERF_SEL_MC_RDRET_NACK = 0x2a,
TCC_PERF_SEL_MC_WRRET_NACK = 0x2b,
TCC_PERF_SEL_EXE_REQ = 0x2c,
TCC_PERF_SEL_CLIENT0_REQ = 0x40,
TCC_PERF_SEL_CLIENT1_REQ = 0x41,
TCC_PERF_SEL_CLIENT2_REQ = 0x42,
TCC_PERF_SEL_CLIENT3_REQ = 0x43,
TCC_PERF_SEL_CLIENT4_REQ = 0x44,
TCC_PERF_SEL_CLIENT5_REQ = 0x45,
TCC_PERF_SEL_CLIENT6_REQ = 0x46,
TCC_PERF_SEL_CLIENT7_REQ = 0x47,
TCC_PERF_SEL_CLIENT8_REQ = 0x48,
TCC_PERF_SEL_CLIENT9_REQ = 0x49,
TCC_PERF_SEL_CLIENT10_REQ = 0x4a,
TCC_PERF_SEL_CLIENT11_REQ = 0x4b,
TCC_PERF_SEL_CLIENT12_REQ = 0x4c,
TCC_PERF_SEL_CLIENT13_REQ = 0x4d,
TCC_PERF_SEL_CLIENT14_REQ = 0x4e,
TCC_PERF_SEL_CLIENT15_REQ = 0x4f,
TCC_PERF_SEL_CLIENT16_REQ = 0x50,
TCC_PERF_SEL_CLIENT17_REQ = 0x51,
TCC_PERF_SEL_CLIENT18_REQ = 0x52,
TCC_PERF_SEL_CLIENT19_REQ = 0x53,
TCC_PERF_SEL_CLIENT20_REQ = 0x54,
TCC_PERF_SEL_CLIENT21_REQ = 0x55,
TCC_PERF_SEL_CLIENT22_REQ = 0x56,
TCC_PERF_SEL_CLIENT23_REQ = 0x57,
TCC_PERF_SEL_CLIENT24_REQ = 0x58,
TCC_PERF_SEL_CLIENT25_REQ = 0x59,
TCC_PERF_SEL_CLIENT26_REQ = 0x5a,
TCC_PERF_SEL_CLIENT27_REQ = 0x5b,
TCC_PERF_SEL_CLIENT28_REQ = 0x5c,
TCC_PERF_SEL_CLIENT29_REQ = 0x5d,
TCC_PERF_SEL_CLIENT30_REQ = 0x5e,
TCC_PERF_SEL_CLIENT31_REQ = 0x5f,
TCC_PERF_SEL_CLIENT32_REQ = 0x60,
TCC_PERF_SEL_CLIENT33_REQ = 0x61,
TCC_PERF_SEL_CLIENT34_REQ = 0x62,
TCC_PERF_SEL_CLIENT35_REQ = 0x63,
TCC_PERF_SEL_CLIENT36_REQ = 0x64,
TCC_PERF_SEL_CLIENT37_REQ = 0x65,
TCC_PERF_SEL_CLIENT38_REQ = 0x66,
TCC_PERF_SEL_CLIENT39_REQ = 0x67,
TCC_PERF_SEL_CLIENT40_REQ = 0x68,
TCC_PERF_SEL_CLIENT41_REQ = 0x69,
TCC_PERF_SEL_CLIENT42_REQ = 0x6a,
TCC_PERF_SEL_CLIENT43_REQ = 0x6b,
TCC_PERF_SEL_CLIENT44_REQ = 0x6c,
TCC_PERF_SEL_CLIENT45_REQ = 0x6d,
TCC_PERF_SEL_CLIENT46_REQ = 0x6e,
TCC_PERF_SEL_CLIENT47_REQ = 0x6f,
TCC_PERF_SEL_CLIENT48_REQ = 0x70,
TCC_PERF_SEL_CLIENT49_REQ = 0x71,
TCC_PERF_SEL_CLIENT50_REQ = 0x72,
TCC_PERF_SEL_CLIENT51_REQ = 0x73,
TCC_PERF_SEL_CLIENT52_REQ = 0x74,
TCC_PERF_SEL_CLIENT53_REQ = 0x75,
TCC_PERF_SEL_CLIENT54_REQ = 0x76,
TCC_PERF_SEL_CLIENT55_REQ = 0x77,
TCC_PERF_SEL_CLIENT56_REQ = 0x78,
TCC_PERF_SEL_CLIENT57_REQ = 0x79,
TCC_PERF_SEL_CLIENT58_REQ = 0x7a,
TCC_PERF_SEL_CLIENT59_REQ = 0x7b,
TCC_PERF_SEL_CLIENT60_REQ = 0x7c,
TCC_PERF_SEL_CLIENT61_REQ = 0x7d,
TCC_PERF_SEL_CLIENT62_REQ = 0x7e,
TCC_PERF_SEL_CLIENT63_REQ = 0x7f,
TCC_PERF_SEL_NORMAL_WRITEBACK = 0x80,
TCC_PERF_SEL_TC_OP_WBL2_VOL_WRITEBACK = 0x81,
TCC_PERF_SEL_TC_OP_WBINVL2_WRITEBACK = 0x82,
TCC_PERF_SEL_ALL_TC_OP_WB_WRITEBACK = 0x83,
TCC_PERF_SEL_NORMAL_EVICT = 0x84,
TCC_PERF_SEL_TC_OP_INVL2_VOL_EVICT = 0x85,
TCC_PERF_SEL_TC_OP_INVL1L2_VOL_EVICT = 0x86,
TCC_PERF_SEL_TC_OP_WBL2_VOL_EVICT = 0x87,
TCC_PERF_SEL_TC_OP_WBINVL2_EVICT = 0x88,
TCC_PERF_SEL_ALL_TC_OP_INV_EVICT = 0x89,
TCC_PERF_SEL_ALL_TC_OP_INV_VOL_EVICT = 0x8a,
TCC_PERF_SEL_TC_OP_WBL2_VOL_CYCLE = 0x8b,
TCC_PERF_SEL_TC_OP_INVL2_VOL_CYCLE = 0x8c,
TCC_PERF_SEL_TC_OP_INVL1L2_VOL_CYCLE = 0x8d,
TCC_PERF_SEL_TC_OP_WBINVL2_CYCLE = 0x8e,
TCC_PERF_SEL_ALL_TC_OP_WB_OR_INV_CYCLE = 0x8f,
TCC_PERF_SEL_ALL_TC_OP_WB_OR_INV_VOL_CYCLE = 0x90,
TCC_PERF_SEL_TC_OP_WBL2_VOL_START = 0x91,
TCC_PERF_SEL_TC_OP_INVL2_VOL_START = 0x92,
TCC_PERF_SEL_TC_OP_INVL1L2_VOL_START = 0x93,
TCC_PERF_SEL_TC_OP_WBINVL2_START = 0x94,
TCC_PERF_SEL_ALL_TC_OP_WB_OR_INV_START = 0x95,
TCC_PERF_SEL_ALL_TC_OP_WB_OR_INV_VOL_START = 0x96,
TCC_PERF_SEL_TC_OP_WBL2_VOL_FINISH = 0x97,
TCC_PERF_SEL_TC_OP_INVL2_VOL_FINISH = 0x98,
TCC_PERF_SEL_TC_OP_INVL1L2_VOL_FINISH = 0x99,
TCC_PERF_SEL_TC_OP_WBINVL2_FINISH = 0x9a,
TCC_PERF_SEL_ALL_TC_OP_WB_OR_INV_FINISH = 0x9b,
TCC_PERF_SEL_ALL_TC_OP_WB_OR_INV_VOL_FINISH = 0x9c,
TCC_PERF_SEL_VOL_MC_WRREQ = 0x9d,
TCC_PERF_SEL_VOL_MC_RDREQ = 0x9e,
TCC_PERF_SEL_VOL_REQ = 0x9f,
} TCC_PERF_SEL;
typedef enum TCA_PERF_SEL {
TCA_PERF_SEL_NONE = 0x0,
TCA_PERF_SEL_CYCLE = 0x1,
TCA_PERF_SEL_BUSY = 0x2,
TCA_PERF_SEL_FORCED_HOLE_TCC0 = 0x3,
TCA_PERF_SEL_FORCED_HOLE_TCC1 = 0x4,
TCA_PERF_SEL_FORCED_HOLE_TCC2 = 0x5,
TCA_PERF_SEL_FORCED_HOLE_TCC3 = 0x6,
TCA_PERF_SEL_FORCED_HOLE_TCC4 = 0x7,
TCA_PERF_SEL_FORCED_HOLE_TCC5 = 0x8,
TCA_PERF_SEL_FORCED_HOLE_TCC6 = 0x9,
TCA_PERF_SEL_FORCED_HOLE_TCC7 = 0xa,
TCA_PERF_SEL_REQ_TCC0 = 0xb,
TCA_PERF_SEL_REQ_TCC1 = 0xc,
TCA_PERF_SEL_REQ_TCC2 = 0xd,
TCA_PERF_SEL_REQ_TCC3 = 0xe,
TCA_PERF_SEL_REQ_TCC4 = 0xf,
TCA_PERF_SEL_REQ_TCC5 = 0x10,
TCA_PERF_SEL_REQ_TCC6 = 0x11,
TCA_PERF_SEL_REQ_TCC7 = 0x12,
TCA_PERF_SEL_CROSSBAR_DOUBLE_ARB_TCC0 = 0x13,
TCA_PERF_SEL_CROSSBAR_DOUBLE_ARB_TCC1 = 0x14,
TCA_PERF_SEL_CROSSBAR_DOUBLE_ARB_TCC2 = 0x15,
TCA_PERF_SEL_CROSSBAR_DOUBLE_ARB_TCC3 = 0x16,
TCA_PERF_SEL_CROSSBAR_DOUBLE_ARB_TCC4 = 0x17,
TCA_PERF_SEL_CROSSBAR_DOUBLE_ARB_TCC5 = 0x18,
TCA_PERF_SEL_CROSSBAR_DOUBLE_ARB_TCC6 = 0x19,
TCA_PERF_SEL_CROSSBAR_DOUBLE_ARB_TCC7 = 0x1a,
TCA_PERF_SEL_CROSSBAR_STALL_TCC0 = 0x1b,
TCA_PERF_SEL_CROSSBAR_STALL_TCC1 = 0x1c,
TCA_PERF_SEL_CROSSBAR_STALL_TCC2 = 0x1d,
TCA_PERF_SEL_CROSSBAR_STALL_TCC3 = 0x1e,
TCA_PERF_SEL_CROSSBAR_STALL_TCC4 = 0x1f,
TCA_PERF_SEL_CROSSBAR_STALL_TCC5 = 0x20,
TCA_PERF_SEL_CROSSBAR_STALL_TCC6 = 0x21,
TCA_PERF_SEL_CROSSBAR_STALL_TCC7 = 0x22,
TCA_PERF_SEL_FORCED_HOLE_TCS = 0x23,
TCA_PERF_SEL_REQ_TCS = 0x24,
TCA_PERF_SEL_CROSSBAR_DOUBLE_ARB_TCS = 0x25,
TCA_PERF_SEL_CROSSBAR_STALL_TCS = 0x26,
} TCA_PERF_SEL;
typedef enum TCS_PERF_SEL {
TCS_PERF_SEL_NONE = 0x0,
TCS_PERF_SEL_CYCLE = 0x1,
TCS_PERF_SEL_BUSY = 0x2,
TCS_PERF_SEL_REQ = 0x3,
TCS_PERF_SEL_READ = 0x4,
TCS_PERF_SEL_WRITE = 0x5,
TCS_PERF_SEL_ATOMIC = 0x6,
TCS_PERF_SEL_HOLE_FIFO_FULL = 0x7,
TCS_PERF_SEL_REQ_FIFO_FULL = 0x8,
TCS_PERF_SEL_REQ_CREDIT_STALL = 0x9,
TCS_PERF_SEL_REQ_NO_SRC_DATA_STALL = 0xa,
TCS_PERF_SEL_REQ_STALL = 0xb,
TCS_PERF_SEL_TCS_CHUB_REQ_SEND = 0xc,
TCS_PERF_SEL_CHUB_TCS_RET_SEND = 0xd,
TCS_PERF_SEL_RETURN_ACK = 0xe,
TCS_PERF_SEL_RETURN_DATA = 0xf,
TCS_PERF_SEL_IB_TOTAL_REQUESTS_STALL = 0x10,
TCS_PERF_SEL_IB_STALL = 0x11,
TCS_PERF_SEL_TCA_LEVEL = 0x12,
TCS_PERF_SEL_HOLE_LEVEL = 0x13,
TCS_PERF_SEL_CHUB_LEVEL = 0x14,
TCS_PERF_SEL_CLIENT0_REQ = 0x40,
TCS_PERF_SEL_CLIENT1_REQ = 0x41,
TCS_PERF_SEL_CLIENT2_REQ = 0x42,
TCS_PERF_SEL_CLIENT3_REQ = 0x43,
TCS_PERF_SEL_CLIENT4_REQ = 0x44,
TCS_PERF_SEL_CLIENT5_REQ = 0x45,
TCS_PERF_SEL_CLIENT6_REQ = 0x46,
TCS_PERF_SEL_CLIENT7_REQ = 0x47,
TCS_PERF_SEL_CLIENT8_REQ = 0x48,
TCS_PERF_SEL_CLIENT9_REQ = 0x49,
TCS_PERF_SEL_CLIENT10_REQ = 0x4a,
TCS_PERF_SEL_CLIENT11_REQ = 0x4b,
TCS_PERF_SEL_CLIENT12_REQ = 0x4c,
TCS_PERF_SEL_CLIENT13_REQ = 0x4d,
TCS_PERF_SEL_CLIENT14_REQ = 0x4e,
TCS_PERF_SEL_CLIENT15_REQ = 0x4f,
TCS_PERF_SEL_CLIENT16_REQ = 0x50,
TCS_PERF_SEL_CLIENT17_REQ = 0x51,
TCS_PERF_SEL_CLIENT18_REQ = 0x52,
TCS_PERF_SEL_CLIENT19_REQ = 0x53,
TCS_PERF_SEL_CLIENT20_REQ = 0x54,
TCS_PERF_SEL_CLIENT21_REQ = 0x55,
TCS_PERF_SEL_CLIENT22_REQ = 0x56,
TCS_PERF_SEL_CLIENT23_REQ = 0x57,
TCS_PERF_SEL_CLIENT24_REQ = 0x58,
TCS_PERF_SEL_CLIENT25_REQ = 0x59,
TCS_PERF_SEL_CLIENT26_REQ = 0x5a,
TCS_PERF_SEL_CLIENT27_REQ = 0x5b,
TCS_PERF_SEL_CLIENT28_REQ = 0x5c,
TCS_PERF_SEL_CLIENT29_REQ = 0x5d,
TCS_PERF_SEL_CLIENT30_REQ = 0x5e,
TCS_PERF_SEL_CLIENT31_REQ = 0x5f,
TCS_PERF_SEL_CLIENT32_REQ = 0x60,
TCS_PERF_SEL_CLIENT33_REQ = 0x61,
TCS_PERF_SEL_CLIENT34_REQ = 0x62,
TCS_PERF_SEL_CLIENT35_REQ = 0x63,
TCS_PERF_SEL_CLIENT36_REQ = 0x64,
TCS_PERF_SEL_CLIENT37_REQ = 0x65,
TCS_PERF_SEL_CLIENT38_REQ = 0x66,
TCS_PERF_SEL_CLIENT39_REQ = 0x67,
TCS_PERF_SEL_CLIENT40_REQ = 0x68,
TCS_PERF_SEL_CLIENT41_REQ = 0x69,
TCS_PERF_SEL_CLIENT42_REQ = 0x6a,
TCS_PERF_SEL_CLIENT43_REQ = 0x6b,
TCS_PERF_SEL_CLIENT44_REQ = 0x6c,
TCS_PERF_SEL_CLIENT45_REQ = 0x6d,
TCS_PERF_SEL_CLIENT46_REQ = 0x6e,
TCS_PERF_SEL_CLIENT47_REQ = 0x6f,
TCS_PERF_SEL_CLIENT48_REQ = 0x70,
TCS_PERF_SEL_CLIENT49_REQ = 0x71,
TCS_PERF_SEL_CLIENT50_REQ = 0x72,
TCS_PERF_SEL_CLIENT51_REQ = 0x73,
TCS_PERF_SEL_CLIENT52_REQ = 0x74,
TCS_PERF_SEL_CLIENT53_REQ = 0x75,
TCS_PERF_SEL_CLIENT54_REQ = 0x76,
TCS_PERF_SEL_CLIENT55_REQ = 0x77,
TCS_PERF_SEL_CLIENT56_REQ = 0x78,
TCS_PERF_SEL_CLIENT57_REQ = 0x79,
TCS_PERF_SEL_CLIENT58_REQ = 0x7a,
TCS_PERF_SEL_CLIENT59_REQ = 0x7b,
TCS_PERF_SEL_CLIENT60_REQ = 0x7c,
TCS_PERF_SEL_CLIENT61_REQ = 0x7d,
TCS_PERF_SEL_CLIENT62_REQ = 0x7e,
TCS_PERF_SEL_CLIENT63_REQ = 0x7f,
} TCS_PERF_SEL;
typedef enum TA_TC_ADDR_MODES {
TA_TC_ADDR_MODE_DEFAULT = 0x0,
TA_TC_ADDR_MODE_COMP0 = 0x1,
TA_TC_ADDR_MODE_COMP1 = 0x2,
TA_TC_ADDR_MODE_COMP2 = 0x3,
TA_TC_ADDR_MODE_COMP3 = 0x4,
TA_TC_ADDR_MODE_UNALIGNED = 0x5,
TA_TC_ADDR_MODE_BORDER_COLOR = 0x6,
} TA_TC_ADDR_MODES;
typedef enum TA_PERFCOUNT_SEL {
TA_PERF_SEL_ta_busy = 0x0,
TA_PERF_SEL_sh_fifo_busy = 0x1,
TA_PERF_SEL_sh_fifo_cmd_busy = 0x2,
TA_PERF_SEL_sh_fifo_addr_busy = 0x3,
TA_PERF_SEL_sh_fifo_data_busy = 0x4,
TA_PERF_SEL_sh_fifo_data_sfifo_busy = 0x5,
TA_PERF_SEL_sh_fifo_data_tfifo_busy = 0x6,
TA_PERF_SEL_gradient_busy = 0x7,
TA_PERF_SEL_gradient_fifo_busy = 0x8,
TA_PERF_SEL_lod_busy = 0x9,
TA_PERF_SEL_lod_fifo_busy = 0xa,
TA_PERF_SEL_addresser_busy = 0xb,
TA_PERF_SEL_addresser_fifo_busy = 0xc,
TA_PERF_SEL_aligner_busy = 0xd,
TA_PERF_SEL_write_path_busy = 0xe,
TA_PERF_SEL_RESERVED_15 = 0xf,
TA_PERF_SEL_sq_ta_cmd_cycles = 0x10,
TA_PERF_SEL_sp_ta_addr_cycles = 0x11,
TA_PERF_SEL_sp_ta_data_cycles = 0x12,
TA_PERF_SEL_ta_fa_data_state_cycles = 0x13,
TA_PERF_SEL_sh_fifo_addr_waiting_on_cmd_cycles = 0x14,
TA_PERF_SEL_sh_fifo_cmd_waiting_on_addr_cycles = 0x15,
TA_PERF_SEL_sh_fifo_addr_starved_while_busy_cycles= 0x16,
TA_PERF_SEL_sh_fifo_cmd_starved_while_busy_cycles= 0x17,
TA_PERF_SEL_sh_fifo_data_waiting_on_data_state_cycles= 0x18,
TA_PERF_SEL_sh_fifo_data_state_waiting_on_data_cycles= 0x19,
TA_PERF_SEL_sh_fifo_data_starved_while_busy_cycles= 0x1a,
TA_PERF_SEL_sh_fifo_data_state_starved_while_busy_cycles= 0x1b,
TA_PERF_SEL_RESERVED_28 = 0x1c,
TA_PERF_SEL_RESERVED_29 = 0x1d,
TA_PERF_SEL_sh_fifo_addr_cycles = 0x1e,
TA_PERF_SEL_sh_fifo_data_cycles = 0x1f,
TA_PERF_SEL_total_wavefronts = 0x20,
TA_PERF_SEL_gradient_cycles = 0x21,
TA_PERF_SEL_walker_cycles = 0x22,
TA_PERF_SEL_aligner_cycles = 0x23,
TA_PERF_SEL_image_wavefronts = 0x24,
TA_PERF_SEL_image_read_wavefronts = 0x25,
TA_PERF_SEL_image_write_wavefronts = 0x26,
TA_PERF_SEL_image_atomic_wavefronts = 0x27,
TA_PERF_SEL_image_total_cycles = 0x28,
TA_PERF_SEL_RESERVED_41 = 0x29,
TA_PERF_SEL_RESERVED_42 = 0x2a,
TA_PERF_SEL_RESERVED_43 = 0x2b,
TA_PERF_SEL_buffer_wavefronts = 0x2c,
TA_PERF_SEL_buffer_read_wavefronts = 0x2d,
TA_PERF_SEL_buffer_write_wavefronts = 0x2e,
TA_PERF_SEL_buffer_atomic_wavefronts = 0x2f,
TA_PERF_SEL_buffer_coalescable_wavefronts = 0x30,
TA_PERF_SEL_buffer_total_cycles = 0x31,
TA_PERF_SEL_buffer_coalescable_addr_multicycled_cycles= 0x32,
TA_PERF_SEL_buffer_coalescable_clamp_16kdword_multicycled_cycles= 0x33,
TA_PERF_SEL_buffer_coalesced_read_cycles = 0x34,
TA_PERF_SEL_buffer_coalesced_write_cycles = 0x35,
TA_PERF_SEL_addr_stalled_by_tc_cycles = 0x36,
TA_PERF_SEL_addr_stalled_by_td_cycles = 0x37,
TA_PERF_SEL_data_stalled_by_tc_cycles = 0x38,
TA_PERF_SEL_addresser_stalled_by_aligner_only_cycles= 0x39,
TA_PERF_SEL_addresser_stalled_cycles = 0x3a,
TA_PERF_SEL_aniso_stalled_by_addresser_only_cycles= 0x3b,
TA_PERF_SEL_aniso_stalled_cycles = 0x3c,
TA_PERF_SEL_deriv_stalled_by_aniso_only_cycles = 0x3d,
TA_PERF_SEL_deriv_stalled_cycles = 0x3e,
TA_PERF_SEL_aniso_gt1_cycle_quads = 0x3f,
TA_PERF_SEL_color_1_cycle_pixels = 0x40,
TA_PERF_SEL_color_2_cycle_pixels = 0x41,
TA_PERF_SEL_color_3_cycle_pixels = 0x42,
TA_PERF_SEL_color_4_cycle_pixels = 0x43,
TA_PERF_SEL_mip_1_cycle_pixels = 0x44,
TA_PERF_SEL_mip_2_cycle_pixels = 0x45,
TA_PERF_SEL_vol_1_cycle_pixels = 0x46,
TA_PERF_SEL_vol_2_cycle_pixels = 0x47,
TA_PERF_SEL_bilin_point_1_cycle_pixels = 0x48,
TA_PERF_SEL_mipmap_lod_0_samples = 0x49,
TA_PERF_SEL_mipmap_lod_1_samples = 0x4a,
TA_PERF_SEL_mipmap_lod_2_samples = 0x4b,
TA_PERF_SEL_mipmap_lod_3_samples = 0x4c,
TA_PERF_SEL_mipmap_lod_4_samples = 0x4d,
TA_PERF_SEL_mipmap_lod_5_samples = 0x4e,
TA_PERF_SEL_mipmap_lod_6_samples = 0x4f,
TA_PERF_SEL_mipmap_lod_7_samples = 0x50,
TA_PERF_SEL_mipmap_lod_8_samples = 0x51,
TA_PERF_SEL_mipmap_lod_9_samples = 0x52,
TA_PERF_SEL_mipmap_lod_10_samples = 0x53,
TA_PERF_SEL_mipmap_lod_11_samples = 0x54,
TA_PERF_SEL_mipmap_lod_12_samples = 0x55,
TA_PERF_SEL_mipmap_lod_13_samples = 0x56,
TA_PERF_SEL_mipmap_lod_14_samples = 0x57,
TA_PERF_SEL_mipmap_invalid_samples = 0x58,
TA_PERF_SEL_aniso_1_cycle_quads = 0x59,
TA_PERF_SEL_aniso_2_cycle_quads = 0x5a,
TA_PERF_SEL_aniso_4_cycle_quads = 0x5b,
TA_PERF_SEL_aniso_6_cycle_quads = 0x5c,
TA_PERF_SEL_aniso_8_cycle_quads = 0x5d,
TA_PERF_SEL_aniso_10_cycle_quads = 0x5e,
TA_PERF_SEL_aniso_12_cycle_quads = 0x5f,
TA_PERF_SEL_aniso_14_cycle_quads = 0x60,
TA_PERF_SEL_aniso_16_cycle_quads = 0x61,
TA_PERF_SEL_write_path_input_cycles = 0x62,
TA_PERF_SEL_write_path_output_cycles = 0x63,
TA_PERF_SEL_flat_wavefronts = 0x64,
TA_PERF_SEL_flat_read_wavefronts = 0x65,
TA_PERF_SEL_flat_write_wavefronts = 0x66,
TA_PERF_SEL_flat_atomic_wavefronts = 0x67,
TA_PERF_SEL_flat_coalesceable_wavefronts = 0x68,
TA_PERF_SEL_reg_sclk_vld = 0x69,
TA_PERF_SEL_local_cg_dyn_sclk_grp0_en = 0x6a,
TA_PERF_SEL_local_cg_dyn_sclk_grp1_en = 0x6b,
TA_PERF_SEL_local_cg_dyn_sclk_grp1_mems_en = 0x6c,
TA_PERF_SEL_local_cg_dyn_sclk_grp4_en = 0x6d,
TA_PERF_SEL_local_cg_dyn_sclk_grp5_en = 0x6e,
} TA_PERFCOUNT_SEL;
typedef enum TD_PERFCOUNT_SEL {
TD_PERF_SEL_td_busy = 0x0,
TD_PERF_SEL_input_busy = 0x1,
TD_PERF_SEL_output_busy = 0x2,
TD_PERF_SEL_lerp_busy = 0x3,
TD_PERF_SEL_RESERVED_4 = 0x4,
TD_PERF_SEL_reg_sclk_vld = 0x5,
TD_PERF_SEL_local_cg_dyn_sclk_grp0_en = 0x6,
TD_PERF_SEL_local_cg_dyn_sclk_grp1_en = 0x7,
TD_PERF_SEL_local_cg_dyn_sclk_grp4_en = 0x8,
TD_PERF_SEL_local_cg_dyn_sclk_grp5_en = 0x9,
TD_PERF_SEL_tc_td_fifo_full = 0xa,
TD_PERF_SEL_constant_state_full = 0xb,
TD_PERF_SEL_sample_state_full = 0xc,
TD_PERF_SEL_output_fifo_full = 0xd,
TD_PERF_SEL_RESERVED_14 = 0xe,
TD_PERF_SEL_tc_stall = 0xf,
TD_PERF_SEL_pc_stall = 0x10,
TD_PERF_SEL_gds_stall = 0x11,
TD_PERF_SEL_RESERVED_18 = 0x12,
TD_PERF_SEL_RESERVED_19 = 0x13,
TD_PERF_SEL_gather4_wavefront = 0x14,
TD_PERF_SEL_sample_c_wavefront = 0x15,
TD_PERF_SEL_load_wavefront = 0x16,
TD_PERF_SEL_atomic_wavefront = 0x17,
TD_PERF_SEL_store_wavefront = 0x18,
TD_PERF_SEL_ldfptr_wavefront = 0x19,
TD_PERF_SEL_RESERVED_26 = 0x1a,
TD_PERF_SEL_RESERVED_27 = 0x1b,
TD_PERF_SEL_RESERVED_28 = 0x1c,
TD_PERF_SEL_RESERVED_29 = 0x1d,
TD_PERF_SEL_bypass_filter_wavefront = 0x1e,
TD_PERF_SEL_min_max_filter_wavefront = 0x1f,
TD_PERF_SEL_coalescable_wavefront = 0x20,
TD_PERF_SEL_coalesced_phase = 0x21,
TD_PERF_SEL_four_phase_wavefront = 0x22,
TD_PERF_SEL_eight_phase_wavefront = 0x23,
TD_PERF_SEL_sixteen_phase_wavefront = 0x24,
TD_PERF_SEL_four_phase_forward_wavefront = 0x25,
TD_PERF_SEL_write_ack_wavefront = 0x26,
TD_PERF_SEL_RESERVED_39 = 0x27,
TD_PERF_SEL_user_defined_border = 0x28,
TD_PERF_SEL_white_border = 0x29,
TD_PERF_SEL_opaque_black_border = 0x2a,
TD_PERF_SEL_RESERVED_43 = 0x2b,
TD_PERF_SEL_RESERVED_44 = 0x2c,
TD_PERF_SEL_nack = 0x2d,
TD_PERF_SEL_td_sp_traffic = 0x2e,
TD_PERF_SEL_consume_gds_traffic = 0x2f,
TD_PERF_SEL_addresscmd_poison = 0x30,
TD_PERF_SEL_data_poison = 0x31,
TD_PERF_SEL_start_cycle_0 = 0x32,
TD_PERF_SEL_start_cycle_1 = 0x33,
TD_PERF_SEL_start_cycle_2 = 0x34,
TD_PERF_SEL_start_cycle_3 = 0x35,
TD_PERF_SEL_null_cycle_output = 0x36,
} TD_PERFCOUNT_SEL;
typedef enum TCP_PERFCOUNT_SELECT {
TCP_PERF_SEL_TA_TCP_ADDR_STARVE_CYCLES = 0x0,
TCP_PERF_SEL_TA_TCP_DATA_STARVE_CYCLES = 0x1,
TCP_PERF_SEL_TCP_TA_ADDR_STALL_CYCLES = 0x2,
TCP_PERF_SEL_TCP_TA_DATA_STALL_CYCLES = 0x3,
TCP_PERF_SEL_TD_TCP_STALL_CYCLES = 0x4,
TCP_PERF_SEL_TCR_TCP_STALL_CYCLES = 0x5,
TCP_PERF_SEL_LOD_STALL_CYCLES = 0x6,
TCP_PERF_SEL_READ_TAGCONFLICT_STALL_CYCLES = 0x7,
TCP_PERF_SEL_WRITE_TAGCONFLICT_STALL_CYCLES = 0x8,
TCP_PERF_SEL_ATOMIC_TAGCONFLICT_STALL_CYCLES = 0x9,
TCP_PERF_SEL_ALLOC_STALL_CYCLES = 0xa,
TCP_PERF_SEL_LFIFO_STALL_CYCLES = 0xb,
TCP_PERF_SEL_RFIFO_STALL_CYCLES = 0xc,
TCP_PERF_SEL_TCR_RDRET_STALL = 0xd,
TCP_PERF_SEL_WRITE_CONFLICT_STALL = 0xe,
TCP_PERF_SEL_HOLE_READ_STALL = 0xf,
TCP_PERF_SEL_READCONFLICT_STALL_CYCLES = 0x10,
TCP_PERF_SEL_PENDING_STALL_CYCLES = 0x11,
TCP_PERF_SEL_READFIFO_STALL_CYCLES = 0x12,
TCP_PERF_SEL_TCP_LATENCY = 0x13,
TCP_PERF_SEL_TCC_READ_REQ_LATENCY = 0x14,
TCP_PERF_SEL_TCC_WRITE_REQ_LATENCY = 0x15,
TCP_PERF_SEL_TCC_WRITE_REQ_HOLE_LATENCY = 0x16,
TCP_PERF_SEL_TCC_READ_REQ = 0x17,
TCP_PERF_SEL_TCC_WRITE_REQ = 0x18,
TCP_PERF_SEL_TCC_ATOMIC_WITH_RET_REQ = 0x19,
TCP_PERF_SEL_TCC_ATOMIC_WITHOUT_RET_REQ = 0x1a,
TCP_PERF_SEL_TOTAL_LOCAL_READ = 0x1b,
TCP_PERF_SEL_TOTAL_GLOBAL_READ = 0x1c,
TCP_PERF_SEL_TOTAL_LOCAL_WRITE = 0x1d,
TCP_PERF_SEL_TOTAL_GLOBAL_WRITE = 0x1e,
TCP_PERF_SEL_TOTAL_ATOMIC_WITH_RET = 0x1f,
TCP_PERF_SEL_TOTAL_ATOMIC_WITHOUT_RET = 0x20,
TCP_PERF_SEL_TOTAL_WBINVL1 = 0x21,
TCP_PERF_SEL_IMG_READ_FMT_1 = 0x22,
TCP_PERF_SEL_IMG_READ_FMT_8 = 0x23,
TCP_PERF_SEL_IMG_READ_FMT_16 = 0x24,
TCP_PERF_SEL_IMG_READ_FMT_32 = 0x25,
TCP_PERF_SEL_IMG_READ_FMT_32_AS_8 = 0x26,
TCP_PERF_SEL_IMG_READ_FMT_32_AS_16 = 0x27,
TCP_PERF_SEL_IMG_READ_FMT_32_AS_128 = 0x28,
TCP_PERF_SEL_IMG_READ_FMT_64_2_CYCLE = 0x29,
TCP_PERF_SEL_IMG_READ_FMT_64_1_CYCLE = 0x2a,
TCP_PERF_SEL_IMG_READ_FMT_96 = 0x2b,
TCP_PERF_SEL_IMG_READ_FMT_128_4_CYCLE = 0x2c,
TCP_PERF_SEL_IMG_READ_FMT_128_1_CYCLE = 0x2d,
TCP_PERF_SEL_IMG_READ_FMT_BC1 = 0x2e,
TCP_PERF_SEL_IMG_READ_FMT_BC2 = 0x2f,
TCP_PERF_SEL_IMG_READ_FMT_BC3 = 0x30,
TCP_PERF_SEL_IMG_READ_FMT_BC4 = 0x31,
TCP_PERF_SEL_IMG_READ_FMT_BC5 = 0x32,
TCP_PERF_SEL_IMG_READ_FMT_BC6 = 0x33,
TCP_PERF_SEL_IMG_READ_FMT_BC7 = 0x34,
TCP_PERF_SEL_IMG_READ_FMT_I8 = 0x35,
TCP_PERF_SEL_IMG_READ_FMT_I16 = 0x36,
TCP_PERF_SEL_IMG_READ_FMT_I32 = 0x37,
TCP_PERF_SEL_IMG_READ_FMT_I32_AS_8 = 0x38,
TCP_PERF_SEL_IMG_READ_FMT_I32_AS_16 = 0x39,
TCP_PERF_SEL_IMG_READ_FMT_D8 = 0x3a,
TCP_PERF_SEL_IMG_READ_FMT_D16 = 0x3b,
TCP_PERF_SEL_IMG_READ_FMT_D32 = 0x3c,
TCP_PERF_SEL_IMG_WRITE_FMT_8 = 0x3d,
TCP_PERF_SEL_IMG_WRITE_FMT_16 = 0x3e,
TCP_PERF_SEL_IMG_WRITE_FMT_32 = 0x3f,
TCP_PERF_SEL_IMG_WRITE_FMT_64 = 0x40,
TCP_PERF_SEL_IMG_WRITE_FMT_128 = 0x41,
TCP_PERF_SEL_IMG_WRITE_FMT_D8 = 0x42,
TCP_PERF_SEL_IMG_WRITE_FMT_D16 = 0x43,
TCP_PERF_SEL_IMG_WRITE_FMT_D32 = 0x44,
TCP_PERF_SEL_IMG_ATOMIC_WITH_RET_FMT_32 = 0x45,
TCP_PERF_SEL_IMG_ATOMIC_WITHOUT_RET_FMT_32 = 0x46,
TCP_PERF_SEL_IMG_ATOMIC_WITH_RET_FMT_64 = 0x47,
TCP_PERF_SEL_IMG_ATOMIC_WITHOUT_RET_FMT_64 = 0x48,
TCP_PERF_SEL_BUF_READ_FMT_8 = 0x49,
TCP_PERF_SEL_BUF_READ_FMT_16 = 0x4a,
TCP_PERF_SEL_BUF_READ_FMT_32 = 0x4b,
TCP_PERF_SEL_BUF_WRITE_FMT_8 = 0x4c,
TCP_PERF_SEL_BUF_WRITE_FMT_16 = 0x4d,
TCP_PERF_SEL_BUF_WRITE_FMT_32 = 0x4e,
TCP_PERF_SEL_BUF_ATOMIC_WITH_RET_FMT_32 = 0x4f,
TCP_PERF_SEL_BUF_ATOMIC_WITHOUT_RET_FMT_32 = 0x50,
TCP_PERF_SEL_BUF_ATOMIC_WITH_RET_FMT_64 = 0x51,
TCP_PERF_SEL_BUF_ATOMIC_WITHOUT_RET_FMT_64 = 0x52,
TCP_PERF_SEL_ARR_LINEAR_GENERAL = 0x53,
TCP_PERF_SEL_ARR_LINEAR_ALIGNED = 0x54,
TCP_PERF_SEL_ARR_1D_THIN1 = 0x55,
TCP_PERF_SEL_ARR_1D_THICK = 0x56,
TCP_PERF_SEL_ARR_2D_THIN1 = 0x57,
TCP_PERF_SEL_ARR_2D_THICK = 0x58,
TCP_PERF_SEL_ARR_2D_XTHICK = 0x59,
TCP_PERF_SEL_ARR_3D_THIN1 = 0x5a,
TCP_PERF_SEL_ARR_3D_THICK = 0x5b,
TCP_PERF_SEL_ARR_3D_XTHICK = 0x5c,
TCP_PERF_SEL_DIM_1D = 0x5d,
TCP_PERF_SEL_DIM_2D = 0x5e,
TCP_PERF_SEL_DIM_3D = 0x5f,
TCP_PERF_SEL_DIM_1D_ARRAY = 0x60,
TCP_PERF_SEL_DIM_2D_ARRAY = 0x61,
TCP_PERF_SEL_DIM_2D_MSAA = 0x62,
TCP_PERF_SEL_DIM_2D_ARRAY_MSAA = 0x63,
TCP_PERF_SEL_DIM_CUBE_ARRAY = 0x64,
TCP_PERF_SEL_CP_TCP_INVALIDATE = 0x65,
TCP_PERF_SEL_TA_TCP_STATE_READ = 0x66,
TCP_PERF_SEL_TAGRAM0_REQ = 0x67,
TCP_PERF_SEL_TAGRAM1_REQ = 0x68,
TCP_PERF_SEL_TAGRAM2_REQ = 0x69,
TCP_PERF_SEL_TAGRAM3_REQ = 0x6a,
TCP_PERF_SEL_GATE_EN1 = 0x6b,
TCP_PERF_SEL_GATE_EN2 = 0x6c,
TCP_PERF_SEL_CORE_REG_SCLK_VLD = 0x6d,
TCP_PERF_SEL_TCC_REQ = 0x6e,
TCP_PERF_SEL_TCC_NON_READ_REQ = 0x6f,
TCP_PERF_SEL_TCC_BYPASS_READ_REQ = 0x70,
TCP_PERF_SEL_TCC_MISS_EVICT_READ_REQ = 0x71,
TCP_PERF_SEL_TCC_VOLATILE_READ_REQ = 0x72,
TCP_PERF_SEL_TCC_VOLATILE_BYPASS_READ_REQ = 0x73,
TCP_PERF_SEL_TCC_VOLATILE_MISS_EVICT_READ_REQ = 0x74,
TCP_PERF_SEL_TCC_BYPASS_WRITE_REQ = 0x75,
TCP_PERF_SEL_TCC_MISS_EVICT_WRITE_REQ = 0x76,
TCP_PERF_SEL_TCC_VOLATILE_BYPASS_WRITE_REQ = 0x77,
TCP_PERF_SEL_TCC_VOLATILE_WRITE_REQ = 0x78,
TCP_PERF_SEL_TCC_VOLATILE_MISS_EVICT_WRITE_REQ = 0x79,
TCP_PERF_SEL_TCC_BYPASS_ATOMIC_REQ = 0x7a,
TCP_PERF_SEL_TCC_ATOMIC_REQ = 0x7b,
TCP_PERF_SEL_TCC_VOLATILE_ATOMIC_REQ = 0x7c,
TCP_PERF_SEL_TCC_DATA_BUS_BUSY = 0x7d,
TCP_PERF_SEL_TOTAL_ACCESSES = 0x7e,
TCP_PERF_SEL_TOTAL_READ = 0x7f,
TCP_PERF_SEL_TOTAL_HIT_LRU_READ = 0x80,
TCP_PERF_SEL_TOTAL_HIT_EVICT_READ = 0x81,
TCP_PERF_SEL_TOTAL_MISS_LRU_READ = 0x82,
TCP_PERF_SEL_TOTAL_MISS_EVICT_READ = 0x83,
TCP_PERF_SEL_TOTAL_NON_READ = 0x84,
TCP_PERF_SEL_TOTAL_WRITE = 0x85,
TCP_PERF_SEL_TOTAL_MISS_LRU_WRITE = 0x86,
TCP_PERF_SEL_TOTAL_MISS_EVICT_WRITE = 0x87,
TCP_PERF_SEL_TOTAL_WBINVL1_VOL = 0x88,
TCP_PERF_SEL_TOTAL_WRITEBACK_INVALIDATES = 0x89,
TCP_PERF_SEL_DISPLAY_MICROTILING = 0x8a,
TCP_PERF_SEL_THIN_MICROTILING = 0x8b,
TCP_PERF_SEL_DEPTH_MICROTILING = 0x8c,
TCP_PERF_SEL_ARR_PRT_THIN1 = 0x8d,
TCP_PERF_SEL_ARR_PRT_2D_THIN1 = 0x8e,
TCP_PERF_SEL_ARR_PRT_3D_THIN1 = 0x8f,
TCP_PERF_SEL_ARR_PRT_THICK = 0x90,
TCP_PERF_SEL_ARR_PRT_2D_THICK = 0x91,
TCP_PERF_SEL_ARR_PRT_3D_THICK = 0x92,
TCP_PERF_SEL_CP_TCP_INVALIDATE_VOL = 0x93,
TCP_PERF_SEL_SQ_TCP_INVALIDATE_VOL = 0x94,
TCP_PERF_SEL_UNALIGNED = 0x95,
TCP_PERF_SEL_ROTATED_MICROTILING = 0x96,
TCP_PERF_SEL_THICK_MICROTILING = 0x97,
TCP_PERF_SEL_ATC = 0x98,
TCP_PERF_SEL_POWER_STALL = 0x99,
} TCP_PERFCOUNT_SELECT;
typedef enum TCP_CACHE_POLICIES {
TCP_CACHE_POLICY_MISS_LRU = 0x0,
TCP_CACHE_POLICY_MISS_EVICT = 0x1,
TCP_CACHE_POLICY_HIT_LRU = 0x2,
TCP_CACHE_POLICY_HIT_EVICT = 0x3,
} TCP_CACHE_POLICIES;
typedef enum TCP_CACHE_STORE_POLICIES {
TCP_CACHE_STORE_POLICY_MISS_LRU = 0x0,
TCP_CACHE_STORE_POLICY_MISS_EVICT = 0x1,
} TCP_CACHE_STORE_POLICIES;
typedef enum TCP_WATCH_MODES {
TCP_WATCH_MODE_READ = 0x0,
TCP_WATCH_MODE_NONREAD = 0x1,
TCP_WATCH_MODE_ATOMIC = 0x2,
TCP_WATCH_MODE_ALL = 0x3,
} TCP_WATCH_MODES;
typedef enum VGT_OUT_PRIM_TYPE {
VGT_OUT_POINT = 0x0,
VGT_OUT_LINE = 0x1,
VGT_OUT_TRI = 0x2,
VGT_OUT_RECT_V0 = 0x3,
VGT_OUT_RECT_V1 = 0x4,
VGT_OUT_RECT_V2 = 0x5,
VGT_OUT_RECT_V3 = 0x6,
VGT_OUT_RESERVED = 0x7,
VGT_TE_QUAD = 0x8,
VGT_TE_PRIM_INDEX_LINE = 0x9,
VGT_TE_PRIM_INDEX_TRI = 0xa,
VGT_TE_PRIM_INDEX_QUAD = 0xb,
VGT_OUT_LINE_ADJ = 0xc,
VGT_OUT_TRI_ADJ = 0xd,
VGT_OUT_PATCH = 0xe,
} VGT_OUT_PRIM_TYPE;
typedef enum VGT_DI_PRIM_TYPE {
DI_PT_NONE = 0x0,
DI_PT_POINTLIST = 0x1,
DI_PT_LINELIST = 0x2,
DI_PT_LINESTRIP = 0x3,
DI_PT_TRILIST = 0x4,
DI_PT_TRIFAN = 0x5,
DI_PT_TRISTRIP = 0x6,
DI_PT_UNUSED_0 = 0x7,
DI_PT_UNUSED_1 = 0x8,
DI_PT_PATCH = 0x9,
DI_PT_LINELIST_ADJ = 0xa,
DI_PT_LINESTRIP_ADJ = 0xb,
DI_PT_TRILIST_ADJ = 0xc,
DI_PT_TRISTRIP_ADJ = 0xd,
DI_PT_UNUSED_3 = 0xe,
DI_PT_UNUSED_4 = 0xf,
DI_PT_TRI_WITH_WFLAGS = 0x10,
DI_PT_RECTLIST = 0x11,
DI_PT_LINELOOP = 0x12,
DI_PT_QUADLIST = 0x13,
DI_PT_QUADSTRIP = 0x14,
DI_PT_POLYGON = 0x15,
DI_PT_2D_COPY_RECT_LIST_V0 = 0x16,
DI_PT_2D_COPY_RECT_LIST_V1 = 0x17,
DI_PT_2D_COPY_RECT_LIST_V2 = 0x18,
DI_PT_2D_COPY_RECT_LIST_V3 = 0x19,
DI_PT_2D_FILL_RECT_LIST = 0x1a,
DI_PT_2D_LINE_STRIP = 0x1b,
DI_PT_2D_TRI_STRIP = 0x1c,
} VGT_DI_PRIM_TYPE;
typedef enum VGT_DI_SOURCE_SELECT {
DI_SRC_SEL_DMA = 0x0,
DI_SRC_SEL_IMMEDIATE = 0x1,
DI_SRC_SEL_AUTO_INDEX = 0x2,
DI_SRC_SEL_RESERVED = 0x3,
} VGT_DI_SOURCE_SELECT;
typedef enum VGT_DI_MAJOR_MODE_SELECT {
DI_MAJOR_MODE_0 = 0x0,
DI_MAJOR_MODE_1 = 0x1,
} VGT_DI_MAJOR_MODE_SELECT;
typedef enum VGT_DI_INDEX_SIZE {
DI_INDEX_SIZE_16_BIT = 0x0,
DI_INDEX_SIZE_32_BIT = 0x1,
} VGT_DI_INDEX_SIZE;
typedef enum VGT_EVENT_TYPE {
Reserved_0x00 = 0x0,
SAMPLE_STREAMOUTSTATS1 = 0x1,
SAMPLE_STREAMOUTSTATS2 = 0x2,
SAMPLE_STREAMOUTSTATS3 = 0x3,
CACHE_FLUSH_TS = 0x4,
CONTEXT_DONE = 0x5,
CACHE_FLUSH = 0x6,
CS_PARTIAL_FLUSH = 0x7,
VGT_STREAMOUT_SYNC = 0x8,
Reserved_0x09 = 0x9,
VGT_STREAMOUT_RESET = 0xa,
END_OF_PIPE_INCR_DE = 0xb,
END_OF_PIPE_IB_END = 0xc,
RST_PIX_CNT = 0xd,
Reserved_0x0E = 0xe,
VS_PARTIAL_FLUSH = 0xf,
PS_PARTIAL_FLUSH = 0x10,
FLUSH_HS_OUTPUT = 0x11,
FLUSH_LS_OUTPUT = 0x12,
Reserved_0x13 = 0x13,
CACHE_FLUSH_AND_INV_TS_EVENT = 0x14,
ZPASS_DONE = 0x15,
CACHE_FLUSH_AND_INV_EVENT = 0x16,
PERFCOUNTER_START = 0x17,
PERFCOUNTER_STOP = 0x18,
PIPELINESTAT_START = 0x19,
PIPELINESTAT_STOP = 0x1a,
PERFCOUNTER_SAMPLE = 0x1b,
FLUSH_ES_OUTPUT = 0x1c,
FLUSH_GS_OUTPUT = 0x1d,
SAMPLE_PIPELINESTAT = 0x1e,
SO_VGTSTREAMOUT_FLUSH = 0x1f,
SAMPLE_STREAMOUTSTATS = 0x20,
RESET_VTX_CNT = 0x21,
BLOCK_CONTEXT_DONE = 0x22,
CS_CONTEXT_DONE = 0x23,
VGT_FLUSH = 0x24,
Reserved_0x25 = 0x25,
SQ_NON_EVENT = 0x26,
SC_SEND_DB_VPZ = 0x27,
BOTTOM_OF_PIPE_TS = 0x28,
FLUSH_SX_TS = 0x29,
DB_CACHE_FLUSH_AND_INV = 0x2a,
FLUSH_AND_INV_DB_DATA_TS = 0x2b,
FLUSH_AND_INV_DB_META = 0x2c,
FLUSH_AND_INV_CB_DATA_TS = 0x2d,
FLUSH_AND_INV_CB_META = 0x2e,
CS_DONE = 0x2f,
PS_DONE = 0x30,
FLUSH_AND_INV_CB_PIXEL_DATA = 0x31,
SX_CB_RAT_ACK_REQUEST = 0x32,
THREAD_TRACE_START = 0x33,
THREAD_TRACE_STOP = 0x34,
THREAD_TRACE_MARKER = 0x35,
THREAD_TRACE_FLUSH = 0x36,
THREAD_TRACE_FINISH = 0x37,
PIXEL_PIPE_STAT_CONTROL = 0x38,
PIXEL_PIPE_STAT_DUMP = 0x39,
PIXEL_PIPE_STAT_RESET = 0x3a,
CONTEXT_SUSPEND = 0x3b,
} VGT_EVENT_TYPE;
typedef enum VGT_DMA_SWAP_MODE {
VGT_DMA_SWAP_NONE = 0x0,
VGT_DMA_SWAP_16_BIT = 0x1,
VGT_DMA_SWAP_32_BIT = 0x2,
VGT_DMA_SWAP_WORD = 0x3,
} VGT_DMA_SWAP_MODE;
typedef enum VGT_INDEX_TYPE_MODE {
VGT_INDEX_16 = 0x0,
VGT_INDEX_32 = 0x1,
} VGT_INDEX_TYPE_MODE;
typedef enum VGT_DMA_BUF_TYPE {
VGT_DMA_BUF_MEM = 0x0,
VGT_DMA_BUF_RING = 0x1,
VGT_DMA_BUF_SETUP = 0x2,
} VGT_DMA_BUF_TYPE;
typedef enum VGT_OUTPATH_SELECT {
VGT_OUTPATH_VTX_REUSE = 0x0,
VGT_OUTPATH_TESS_EN = 0x1,
VGT_OUTPATH_PASSTHRU = 0x2,
VGT_OUTPATH_GS_BLOCK = 0x3,
VGT_OUTPATH_HS_BLOCK = 0x4,
} VGT_OUTPATH_SELECT;
typedef enum VGT_GRP_PRIM_TYPE {
VGT_GRP_3D_POINT = 0x0,
VGT_GRP_3D_LINE = 0x1,
VGT_GRP_3D_TRI = 0x2,
VGT_GRP_3D_RECT = 0x3,
VGT_GRP_3D_QUAD = 0x4,
VGT_GRP_2D_COPY_RECT_V0 = 0x5,
VGT_GRP_2D_COPY_RECT_V1 = 0x6,
VGT_GRP_2D_COPY_RECT_V2 = 0x7,
VGT_GRP_2D_COPY_RECT_V3 = 0x8,
VGT_GRP_2D_FILL_RECT = 0x9,
VGT_GRP_2D_LINE = 0xa,
VGT_GRP_2D_TRI = 0xb,
VGT_GRP_PRIM_INDEX_LINE = 0xc,
VGT_GRP_PRIM_INDEX_TRI = 0xd,
VGT_GRP_PRIM_INDEX_QUAD = 0xe,
VGT_GRP_3D_LINE_ADJ = 0xf,
VGT_GRP_3D_TRI_ADJ = 0x10,
VGT_GRP_3D_PATCH = 0x11,
} VGT_GRP_PRIM_TYPE;
typedef enum VGT_GRP_PRIM_ORDER {
VGT_GRP_LIST = 0x0,
VGT_GRP_STRIP = 0x1,
VGT_GRP_FAN = 0x2,
VGT_GRP_LOOP = 0x3,
VGT_GRP_POLYGON = 0x4,
} VGT_GRP_PRIM_ORDER;
typedef enum VGT_GROUP_CONV_SEL {
VGT_GRP_INDEX_16 = 0x0,
VGT_GRP_INDEX_32 = 0x1,
VGT_GRP_UINT_16 = 0x2,
VGT_GRP_UINT_32 = 0x3,
VGT_GRP_SINT_16 = 0x4,
VGT_GRP_SINT_32 = 0x5,
VGT_GRP_FLOAT_32 = 0x6,
VGT_GRP_AUTO_PRIM = 0x7,
VGT_GRP_FIX_1_23_TO_FLOAT = 0x8,
} VGT_GROUP_CONV_SEL;
typedef enum VGT_GS_MODE_TYPE {
GS_OFF = 0x0,
GS_SCENARIO_A = 0x1,
GS_SCENARIO_B = 0x2,
GS_SCENARIO_G = 0x3,
GS_SCENARIO_C = 0x4,
SPRITE_EN = 0x5,
} VGT_GS_MODE_TYPE;
typedef enum VGT_GS_CUT_MODE {
GS_CUT_1024 = 0x0,
GS_CUT_512 = 0x1,
GS_CUT_256 = 0x2,
GS_CUT_128 = 0x3,
} VGT_GS_CUT_MODE;
typedef enum VGT_GS_OUTPRIM_TYPE {
POINTLIST = 0x0,
LINESTRIP = 0x1,
TRISTRIP = 0x2,
} VGT_GS_OUTPRIM_TYPE;
typedef enum VGT_CACHE_INVALID_MODE {
VC_ONLY = 0x0,
TC_ONLY = 0x1,
VC_AND_TC = 0x2,
} VGT_CACHE_INVALID_MODE;
typedef enum VGT_TESS_TYPE {
TESS_ISOLINE = 0x0,
TESS_TRIANGLE = 0x1,
TESS_QUAD = 0x2,
} VGT_TESS_TYPE;
typedef enum VGT_TESS_PARTITION {
PART_INTEGER = 0x0,
PART_POW2 = 0x1,
PART_FRAC_ODD = 0x2,
PART_FRAC_EVEN = 0x3,
} VGT_TESS_PARTITION;
typedef enum VGT_TESS_TOPOLOGY {
OUTPUT_POINT = 0x0,
OUTPUT_LINE = 0x1,
OUTPUT_TRIANGLE_CW = 0x2,
OUTPUT_TRIANGLE_CCW = 0x3,
} VGT_TESS_TOPOLOGY;
typedef enum VGT_RDREQ_POLICY {
VGT_POLICY_LRU = 0x0,
VGT_POLICY_STREAM = 0x1,
VGT_POLICY_BYPASS = 0x2,
VGT_POLICY_RESERVED = 0x3,
} VGT_RDREQ_POLICY;
typedef enum VGT_STAGES_LS_EN {
LS_STAGE_OFF = 0x0,
LS_STAGE_ON = 0x1,
CS_STAGE_ON = 0x2,
RESERVED_LS = 0x3,
} VGT_STAGES_LS_EN;
typedef enum VGT_STAGES_HS_EN {
HS_STAGE_OFF = 0x0,
HS_STAGE_ON = 0x1,
} VGT_STAGES_HS_EN;
typedef enum VGT_STAGES_ES_EN {
ES_STAGE_OFF = 0x0,
ES_STAGE_DS = 0x1,
ES_STAGE_REAL = 0x2,
RESERVED_ES = 0x3,
} VGT_STAGES_ES_EN;
typedef enum VGT_STAGES_GS_EN {
GS_STAGE_OFF = 0x0,
GS_STAGE_ON = 0x1,
} VGT_STAGES_GS_EN;
typedef enum VGT_STAGES_VS_EN {
VS_STAGE_REAL = 0x0,
VS_STAGE_DS = 0x1,
VS_STAGE_COPY_SHADER = 0x2,
RESERVED_VS = 0x3,
} VGT_STAGES_VS_EN;
typedef enum VGT_PERFCOUNT_SELECT {
vgt_perf_VGT_SPI_ESTHREAD_EVENT_WINDOW_ACTIVE = 0x0,
vgt_perf_VGT_SPI_ESVERT_VALID = 0x1,
vgt_perf_VGT_SPI_ESVERT_EOV = 0x2,
vgt_perf_VGT_SPI_ESVERT_STALLED = 0x3,
vgt_perf_VGT_SPI_ESVERT_STARVED_BUSY = 0x4,
vgt_perf_VGT_SPI_ESVERT_STARVED_IDLE = 0x5,
vgt_perf_VGT_SPI_ESVERT_STATIC = 0x6,
vgt_perf_VGT_SPI_ESTHREAD_IS_EVENT = 0x7,
vgt_perf_VGT_SPI_ESTHREAD_SEND = 0x8,
vgt_perf_VGT_SPI_GSPRIM_VALID = 0x9,
vgt_perf_VGT_SPI_GSPRIM_EOV = 0xa,
vgt_perf_VGT_SPI_GSPRIM_CONT = 0xb,
vgt_perf_VGT_SPI_GSPRIM_STALLED = 0xc,
vgt_perf_VGT_SPI_GSPRIM_STARVED_BUSY = 0xd,
vgt_perf_VGT_SPI_GSPRIM_STARVED_IDLE = 0xe,
vgt_perf_VGT_SPI_GSPRIM_STATIC = 0xf,
vgt_perf_VGT_SPI_GSTHREAD_EVENT_WINDOW_ACTIVE = 0x10,
vgt_perf_VGT_SPI_GSTHREAD_IS_EVENT = 0x11,
vgt_perf_VGT_SPI_GSTHREAD_SEND = 0x12,
vgt_perf_VGT_SPI_VSTHREAD_EVENT_WINDOW_ACTIVE = 0x13,
vgt_perf_VGT_SPI_VSVERT_SEND = 0x14,
vgt_perf_VGT_SPI_VSVERT_EOV = 0x15,
vgt_perf_VGT_SPI_VSVERT_STALLED = 0x16,
vgt_perf_VGT_SPI_VSVERT_STARVED_BUSY = 0x17,
vgt_perf_VGT_SPI_VSVERT_STARVED_IDLE = 0x18,
vgt_perf_VGT_SPI_VSVERT_STATIC = 0x19,
vgt_perf_VGT_SPI_VSTHREAD_IS_EVENT = 0x1a,
vgt_perf_VGT_SPI_VSTHREAD_SEND = 0x1b,
vgt_perf_VGT_PA_EVENT_WINDOW_ACTIVE = 0x1c,
vgt_perf_VGT_PA_CLIPV_SEND = 0x1d,
vgt_perf_VGT_PA_CLIPV_FIRSTVERT = 0x1e,
vgt_perf_VGT_PA_CLIPV_STALLED = 0x1f,
vgt_perf_VGT_PA_CLIPV_STARVED_BUSY = 0x20,
vgt_perf_VGT_PA_CLIPV_STARVED_IDLE = 0x21,
vgt_perf_VGT_PA_CLIPV_STATIC = 0x22,
vgt_perf_VGT_PA_CLIPP_SEND = 0x23,
vgt_perf_VGT_PA_CLIPP_EOP = 0x24,
vgt_perf_VGT_PA_CLIPP_IS_EVENT = 0x25,
vgt_perf_VGT_PA_CLIPP_NULL_PRIM = 0x26,
vgt_perf_VGT_PA_CLIPP_NEW_VTX_VECT = 0x27,
vgt_perf_VGT_PA_CLIPP_STALLED = 0x28,
vgt_perf_VGT_PA_CLIPP_STARVED_BUSY = 0x29,
vgt_perf_VGT_PA_CLIPP_STARVED_IDLE = 0x2a,
vgt_perf_VGT_PA_CLIPP_STATIC = 0x2b,
vgt_perf_VGT_PA_CLIPS_SEND = 0x2c,
vgt_perf_VGT_PA_CLIPS_STALLED = 0x2d,
vgt_perf_VGT_PA_CLIPS_STARVED_BUSY = 0x2e,
vgt_perf_VGT_PA_CLIPS_STARVED_IDLE = 0x2f,
vgt_perf_VGT_PA_CLIPS_STATIC = 0x30,
vgt_perf_vsvert_ds_send = 0x31,
vgt_perf_vsvert_api_send = 0x32,
vgt_perf_hs_tif_stall = 0x33,
vgt_perf_hs_input_stall = 0x34,
vgt_perf_hs_interface_stall = 0x35,
vgt_perf_hs_tfm_stall = 0x36,
vgt_perf_te11_starved = 0x37,
vgt_perf_gs_event_stall = 0x38,
vgt_perf_vgt_pa_clipp_send_not_event = 0x39,
vgt_perf_vgt_pa_clipp_valid_prim = 0x3a,
vgt_perf_reused_es_indices = 0x3b,
vgt_perf_vs_cache_hits = 0x3c,
vgt_perf_gs_cache_hits = 0x3d,
vgt_perf_ds_cache_hits = 0x3e,
vgt_perf_total_cache_hits = 0x3f,
vgt_perf_vgt_busy = 0x40,
vgt_perf_vgt_gs_busy = 0x41,
vgt_perf_esvert_stalled_es_tbl = 0x42,
vgt_perf_esvert_stalled_gs_tbl = 0x43,
vgt_perf_esvert_stalled_gs_event = 0x44,
vgt_perf_esvert_stalled_gsprim = 0x45,
vgt_perf_gsprim_stalled_es_tbl = 0x46,
vgt_perf_gsprim_stalled_gs_tbl = 0x47,
vgt_perf_gsprim_stalled_gs_event = 0x48,
vgt_perf_gsprim_stalled_esvert = 0x49,
vgt_perf_esthread_stalled_es_rb_full = 0x4a,
vgt_perf_esthread_stalled_spi_bp = 0x4b,
vgt_perf_counters_avail_stalled = 0x4c,
vgt_perf_gs_rb_space_avail_stalled = 0x4d,
vgt_perf_gs_issue_rtr_stalled = 0x4e,
vgt_perf_gsthread_stalled = 0x4f,
vgt_perf_strmout_stalled = 0x50,
vgt_perf_wait_for_es_done_stalled = 0x51,
vgt_perf_cm_stalled_by_gog = 0x52,
vgt_perf_cm_reading_stalled = 0x53,
vgt_perf_cm_stalled_by_gsfetch_done = 0x54,
vgt_perf_gog_vs_tbl_stalled = 0x55,
vgt_perf_gog_out_indx_stalled = 0x56,
vgt_perf_gog_out_prim_stalled = 0x57,
vgt_perf_waveid_stalled = 0x58,
vgt_perf_gog_busy = 0x59,
vgt_perf_reused_vs_indices = 0x5a,
vgt_perf_sclk_reg_vld_event = 0x5b,
vgt_perf_RESERVED0 = 0x5c,
vgt_perf_sclk_core_vld_event = 0x5d,
vgt_perf_RESERVED1 = 0x5e,
vgt_perf_sclk_gs_vld_event = 0x5f,
vgt_perf_VGT_SPI_LSVERT_VALID = 0x60,
vgt_perf_VGT_SPI_LSVERT_EOV = 0x61,
vgt_perf_VGT_SPI_LSVERT_STALLED = 0x62,
vgt_perf_VGT_SPI_LSVERT_STARVED_BUSY = 0x63,
vgt_perf_VGT_SPI_LSVERT_STARVED_IDLE = 0x64,
vgt_perf_VGT_SPI_LSVERT_STATIC = 0x65,
vgt_perf_VGT_SPI_LSWAVE_EVENT_WINDOW_ACTIVE = 0x66,
vgt_perf_VGT_SPI_LSWAVE_IS_EVENT = 0x67,
vgt_perf_VGT_SPI_LSWAVE_SEND = 0x68,
vgt_perf_VGT_SPI_HSVERT_VALID = 0x69,
vgt_perf_VGT_SPI_HSVERT_EOV = 0x6a,
vgt_perf_VGT_SPI_HSVERT_STALLED = 0x6b,
vgt_perf_VGT_SPI_HSVERT_STARVED_BUSY = 0x6c,
vgt_perf_VGT_SPI_HSVERT_STARVED_IDLE = 0x6d,
vgt_perf_VGT_SPI_HSVERT_STATIC = 0x6e,
vgt_perf_VGT_SPI_HSWAVE_EVENT_WINDOW_ACTIVE = 0x6f,
vgt_perf_VGT_SPI_HSWAVE_IS_EVENT = 0x70,
vgt_perf_VGT_SPI_HSWAVE_SEND = 0x71,
vgt_perf_ds_prims = 0x72,
vgt_perf_null_tess_patches = 0x73,
vgt_perf_ls_thread_groups = 0x74,
vgt_perf_hs_thread_groups = 0x75,
vgt_perf_es_thread_groups = 0x76,
vgt_perf_vs_thread_groups = 0x77,
vgt_perf_ls_done_latency = 0x78,
vgt_perf_hs_done_latency = 0x79,
vgt_perf_es_done_latency = 0x7a,
vgt_perf_gs_done_latency = 0x7b,
vgt_perf_vgt_hs_busy = 0x7c,
vgt_perf_vgt_te11_busy = 0x7d,
vgt_perf_ls_flush = 0x7e,
vgt_perf_hs_flush = 0x7f,
vgt_perf_es_flush = 0x80,
vgt_perf_gs_flush = 0x81,
vgt_perf_ls_done = 0x82,
vgt_perf_hs_done = 0x83,
vgt_perf_es_done = 0x84,
vgt_perf_gs_done = 0x85,
vgt_perf_vsfetch_done = 0x86,
vgt_perf_RESERVED2 = 0x87,
vgt_perf_es_ring_high_water_mark = 0x88,
vgt_perf_gs_ring_high_water_mark = 0x89,
vgt_perf_vs_table_high_water_mark = 0x8a,
vgt_perf_hs_tgs_active_high_water_mark = 0x8b,
} VGT_PERFCOUNT_SELECT;
typedef enum IA_PERFCOUNT_SELECT {
ia_perf_GRP_INPUT_EVENT_WINDOW_ACTIVE = 0x0,
ia_perf_MC_LAT_BIN_0 = 0x1,
ia_perf_MC_LAT_BIN_1 = 0x2,
ia_perf_MC_LAT_BIN_2 = 0x3,
ia_perf_MC_LAT_BIN_3 = 0x4,
ia_perf_MC_LAT_BIN_4 = 0x5,
ia_perf_MC_LAT_BIN_5 = 0x6,
ia_perf_MC_LAT_BIN_6 = 0x7,
ia_perf_MC_LAT_BIN_7 = 0x8,
ia_perf_ia_busy = 0x9,
ia_perf_ia_sclk_reg_vld_event = 0xa,
ia_perf_RESERVED0 = 0xb,
ia_perf_ia_sclk_core_vld_event = 0xc,
ia_perf_RESERVED1 = 0xd,
ia_perf_ia_dma_return = 0xe,
ia_perf_shift_starved_pipe1_event = 0xf,
ia_perf_shift_starved_pipe0_event = 0x10,
ia_perf_ia_stalled = 0x11,
} IA_PERFCOUNT_SELECT;
typedef enum WD_PERFCOUNT_SELECT {
wd_perf_RBIU_FIFOS_EVENT_WINDOW_ACTIVE = 0x0,
wd_perf_RBIU_DR_FIFO_STARVED = 0x1,
wd_perf_RBIU_DR_FIFO_STALLED = 0x2,
wd_perf_RBIU_DI_FIFO_STARVED = 0x3,
wd_perf_RBIU_DI_FIFO_STALLED = 0x4,
wd_perf_wd_busy = 0x5,
wd_perf_wd_sclk_reg_vld_event = 0x6,
wd_perf_wd_sclk_input_vld_event = 0x7,
wd_perf_wd_sclk_core_vld_event = 0x8,
wd_perf_wd_stalled = 0x9,
} WD_PERFCOUNT_SELECT;
typedef enum WD_IA_DRAW_TYPE {
WD_IA_DRAW_TYPE_DI_MM0 = 0x0,
WD_IA_DRAW_TYPE_DI_MM1 = 0x1,
WD_IA_DRAW_TYPE_EVENT_INIT = 0x2,
WD_IA_DRAW_TYPE_EVENT_ADDR = 0x3,
WD_IA_DRAW_TYPE_MIN_INDX = 0x4,
WD_IA_DRAW_TYPE_MAX_INDX = 0x5,
WD_IA_DRAW_TYPE_INDX_OFF = 0x6,
WD_IA_DRAW_TYPE_IMM_DATA = 0x7,
} WD_IA_DRAW_TYPE;
#define GSTHREADID_SIZE 0x2
typedef enum SurfaceEndian {
ENDIAN_NONE = 0x0,
ENDIAN_8IN16 = 0x1,
ENDIAN_8IN32 = 0x2,
ENDIAN_8IN64 = 0x3,
} SurfaceEndian;
typedef enum ArrayMode {
ARRAY_LINEAR_GENERAL = 0x0,
ARRAY_LINEAR_ALIGNED = 0x1,
ARRAY_1D_TILED_THIN1 = 0x2,
ARRAY_1D_TILED_THICK = 0x3,
ARRAY_2D_TILED_THIN1 = 0x4,
ARRAY_PRT_TILED_THIN1 = 0x5,
ARRAY_PRT_2D_TILED_THIN1 = 0x6,
ARRAY_2D_TILED_THICK = 0x7,
ARRAY_2D_TILED_XTHICK = 0x8,
ARRAY_PRT_TILED_THICK = 0x9,
ARRAY_PRT_2D_TILED_THICK = 0xa,
ARRAY_PRT_3D_TILED_THIN1 = 0xb,
ARRAY_3D_TILED_THIN1 = 0xc,
ARRAY_3D_TILED_THICK = 0xd,
ARRAY_3D_TILED_XTHICK = 0xe,
ARRAY_PRT_3D_TILED_THICK = 0xf,
} ArrayMode;
typedef enum PipeTiling {
CONFIG_1_PIPE = 0x0,
CONFIG_2_PIPE = 0x1,
CONFIG_4_PIPE = 0x2,
CONFIG_8_PIPE = 0x3,
} PipeTiling;
typedef enum BankTiling {
CONFIG_4_BANK = 0x0,
CONFIG_8_BANK = 0x1,
} BankTiling;
typedef enum GroupInterleave {
CONFIG_256B_GROUP = 0x0,
CONFIG_512B_GROUP = 0x1,
} GroupInterleave;
typedef enum RowTiling {
CONFIG_1KB_ROW = 0x0,
CONFIG_2KB_ROW = 0x1,
CONFIG_4KB_ROW = 0x2,
CONFIG_8KB_ROW = 0x3,
CONFIG_1KB_ROW_OPT = 0x4,
CONFIG_2KB_ROW_OPT = 0x5,
CONFIG_4KB_ROW_OPT = 0x6,
CONFIG_8KB_ROW_OPT = 0x7,
} RowTiling;
typedef enum BankSwapBytes {
CONFIG_128B_SWAPS = 0x0,
CONFIG_256B_SWAPS = 0x1,
CONFIG_512B_SWAPS = 0x2,
CONFIG_1KB_SWAPS = 0x3,
} BankSwapBytes;
typedef enum SampleSplitBytes {
CONFIG_1KB_SPLIT = 0x0,
CONFIG_2KB_SPLIT = 0x1,
CONFIG_4KB_SPLIT = 0x2,
CONFIG_8KB_SPLIT = 0x3,
} SampleSplitBytes;
typedef enum NumPipes {
ADDR_CONFIG_1_PIPE = 0x0,
ADDR_CONFIG_2_PIPE = 0x1,
ADDR_CONFIG_4_PIPE = 0x2,
ADDR_CONFIG_8_PIPE = 0x3,
ADDR_CONFIG_16_PIPE = 0x4,
} NumPipes;
typedef enum PipeInterleaveSize {
ADDR_CONFIG_PIPE_INTERLEAVE_256B = 0x0,
ADDR_CONFIG_PIPE_INTERLEAVE_512B = 0x1,
} PipeInterleaveSize;
typedef enum BankInterleaveSize {
ADDR_CONFIG_BANK_INTERLEAVE_1 = 0x0,
ADDR_CONFIG_BANK_INTERLEAVE_2 = 0x1,
ADDR_CONFIG_BANK_INTERLEAVE_4 = 0x2,
ADDR_CONFIG_BANK_INTERLEAVE_8 = 0x3,
} BankInterleaveSize;
typedef enum NumShaderEngines {
ADDR_CONFIG_1_SHADER_ENGINE = 0x0,
ADDR_CONFIG_2_SHADER_ENGINE = 0x1,
} NumShaderEngines;
typedef enum ShaderEngineTileSize {
ADDR_CONFIG_SE_TILE_16 = 0x0,
ADDR_CONFIG_SE_TILE_32 = 0x1,
} ShaderEngineTileSize;
typedef enum NumGPUs {
ADDR_CONFIG_1_GPU = 0x0,
ADDR_CONFIG_2_GPU = 0x1,
ADDR_CONFIG_4_GPU = 0x2,
} NumGPUs;
typedef enum MultiGPUTileSize {
ADDR_CONFIG_GPU_TILE_16 = 0x0,
ADDR_CONFIG_GPU_TILE_32 = 0x1,
ADDR_CONFIG_GPU_TILE_64 = 0x2,
ADDR_CONFIG_GPU_TILE_128 = 0x3,
} MultiGPUTileSize;
typedef enum RowSize {
ADDR_CONFIG_1KB_ROW = 0x0,
ADDR_CONFIG_2KB_ROW = 0x1,
ADDR_CONFIG_4KB_ROW = 0x2,
} RowSize;
typedef enum NumLowerPipes {
ADDR_CONFIG_1_LOWER_PIPES = 0x0,
ADDR_CONFIG_2_LOWER_PIPES = 0x1,
} NumLowerPipes;
typedef enum DebugBlockId {
DBG_CLIENT_BLKID_RESERVED = 0x0,
DBG_CLIENT_BLKID_dbg = 0x1,
DBG_CLIENT_BLKID_dco0 = 0x2,
DBG_CLIENT_BLKID_wd = 0x3,
DBG_CLIENT_BLKID_vmc = 0x4,
DBG_CLIENT_BLKID_scf2 = 0x5,
DBG_CLIENT_BLKID_spim3 = 0x6,
DBG_CLIENT_BLKID_cb3 = 0x7,
DBG_CLIENT_BLKID_sx0 = 0x8,
DBG_CLIENT_BLKID_cb2 = 0x9,
DBG_CLIENT_BLKID_bci1 = 0xa,
DBG_CLIENT_BLKID_xdma = 0xb,
DBG_CLIENT_BLKID_bci0 = 0xc,
DBG_CLIENT_BLKID_spim0 = 0xd,
DBG_CLIENT_BLKID_mcd0 = 0xe,
DBG_CLIENT_BLKID_mcc0 = 0xf,
DBG_CLIENT_BLKID_cb0 = 0x10,
DBG_CLIENT_BLKID_cb1 = 0x11,
DBG_CLIENT_BLKID_cpc_0 = 0x12,
DBG_CLIENT_BLKID_cpc_1 = 0x13,
DBG_CLIENT_BLKID_cpf = 0x14,
DBG_CLIENT_BLKID_rlc = 0x15,
DBG_CLIENT_BLKID_grbm = 0x16,
DBG_CLIENT_BLKID_bif = 0x17,
DBG_CLIENT_BLKID_scf1 = 0x18,
DBG_CLIENT_BLKID_sam = 0x19,
DBG_CLIENT_BLKID_mcd4 = 0x1a,
DBG_CLIENT_BLKID_mcc4 = 0x1b,
DBG_CLIENT_BLKID_gmcon = 0x1c,
DBG_CLIENT_BLKID_mcb = 0x1d,
DBG_CLIENT_BLKID_vgt0 = 0x1e,
DBG_CLIENT_BLKID_pc0 = 0x1f,
DBG_CLIENT_BLKID_spim1 = 0x20,
DBG_CLIENT_BLKID_bci2 = 0x21,
DBG_CLIENT_BLKID_mcd6 = 0x22,
DBG_CLIENT_BLKID_mcc6 = 0x23,
DBG_CLIENT_BLKID_mcd3 = 0x24,
DBG_CLIENT_BLKID_mcc3 = 0x25,
DBG_CLIENT_BLKID_uvdm_0 = 0x26,
DBG_CLIENT_BLKID_uvdm_1 = 0x27,
DBG_CLIENT_BLKID_uvdm_2 = 0x28,
DBG_CLIENT_BLKID_uvdm_3 = 0x29,
DBG_CLIENT_BLKID_spim2 = 0x2a,
DBG_CLIENT_BLKID_ds = 0x2b,
DBG_CLIENT_BLKID_srbm = 0x2c,
DBG_CLIENT_BLKID_ih = 0x2d,
DBG_CLIENT_BLKID_sem = 0x2e,
DBG_CLIENT_BLKID_sdma_0 = 0x2f,
DBG_CLIENT_BLKID_sdma_1 = 0x30,
DBG_CLIENT_BLKID_hdp = 0x31,
DBG_CLIENT_BLKID_acp_0 = 0x32,
DBG_CLIENT_BLKID_acp_1 = 0x33,
DBG_CLIENT_BLKID_vceb_0 = 0x34,
DBG_CLIENT_BLKID_vceb_1 = 0x35,
DBG_CLIENT_BLKID_vceb_2 = 0x36,
DBG_CLIENT_BLKID_mcd2 = 0x37,
DBG_CLIENT_BLKID_mcc2 = 0x38,
DBG_CLIENT_BLKID_scf3 = 0x39,
DBG_CLIENT_BLKID_bci3 = 0x3a,
DBG_CLIENT_BLKID_mcd5 = 0x3b,
DBG_CLIENT_BLKID_mcc5 = 0x3c,
DBG_CLIENT_BLKID_vgt2 = 0x3d,
DBG_CLIENT_BLKID_pc2 = 0x3e,
DBG_CLIENT_BLKID_smu_0 = 0x3f,
DBG_CLIENT_BLKID_smu_1 = 0x40,
DBG_CLIENT_BLKID_smu_2 = 0x41,
DBG_CLIENT_BLKID_vcea_0 = 0x42,
DBG_CLIENT_BLKID_vcea_1 = 0x43,
DBG_CLIENT_BLKID_vcea_2 = 0x44,
DBG_CLIENT_BLKID_vcea_3 = 0x45,
DBG_CLIENT_BLKID_vcea_4 = 0x46,
DBG_CLIENT_BLKID_vcea_5 = 0x47,
DBG_CLIENT_BLKID_vcea_6 = 0x48,
DBG_CLIENT_BLKID_scf0 = 0x49,
DBG_CLIENT_BLKID_vgt1 = 0x4a,
DBG_CLIENT_BLKID_pc1 = 0x4b,
DBG_CLIENT_BLKID_gdc_0 = 0x4c,
DBG_CLIENT_BLKID_gdc_1 = 0x4d,
DBG_CLIENT_BLKID_gdc_2 = 0x4e,
DBG_CLIENT_BLKID_gdc_3 = 0x4f,
DBG_CLIENT_BLKID_gdc_4 = 0x50,
DBG_CLIENT_BLKID_gdc_5 = 0x51,
DBG_CLIENT_BLKID_gdc_6 = 0x52,
DBG_CLIENT_BLKID_gdc_7 = 0x53,
DBG_CLIENT_BLKID_gdc_8 = 0x54,
DBG_CLIENT_BLKID_gdc_9 = 0x55,
DBG_CLIENT_BLKID_gdc_10 = 0x56,
DBG_CLIENT_BLKID_gdc_11 = 0x57,
DBG_CLIENT_BLKID_gdc_12 = 0x58,
DBG_CLIENT_BLKID_gdc_13 = 0x59,
DBG_CLIENT_BLKID_gdc_14 = 0x5a,
DBG_CLIENT_BLKID_gdc_15 = 0x5b,
DBG_CLIENT_BLKID_gdc_16 = 0x5c,
DBG_CLIENT_BLKID_gdc_17 = 0x5d,
DBG_CLIENT_BLKID_gdc_18 = 0x5e,
DBG_CLIENT_BLKID_gdc_19 = 0x5f,
DBG_CLIENT_BLKID_gdc_20 = 0x60,
DBG_CLIENT_BLKID_gdc_21 = 0x61,
DBG_CLIENT_BLKID_gdc_22 = 0x62,
DBG_CLIENT_BLKID_vgt3 = 0x63,
DBG_CLIENT_BLKID_pc3 = 0x64,
DBG_CLIENT_BLKID_uvdu_0 = 0x65,
DBG_CLIENT_BLKID_uvdu_1 = 0x66,
DBG_CLIENT_BLKID_uvdu_2 = 0x67,
DBG_CLIENT_BLKID_uvdu_3 = 0x68,
DBG_CLIENT_BLKID_uvdu_4 = 0x69,
DBG_CLIENT_BLKID_uvdu_5 = 0x6a,
DBG_CLIENT_BLKID_uvdu_6 = 0x6b,
DBG_CLIENT_BLKID_mcd7 = 0x6c,
DBG_CLIENT_BLKID_mcc7 = 0x6d,
DBG_CLIENT_BLKID_cpg_0 = 0x6e,
DBG_CLIENT_BLKID_cpg_1 = 0x6f,
DBG_CLIENT_BLKID_gck = 0x70,
DBG_CLIENT_BLKID_mcd1 = 0x71,
DBG_CLIENT_BLKID_mcc1 = 0x72,
DBG_CLIENT_BLKID_cb101 = 0x73,
DBG_CLIENT_BLKID_cb103 = 0x74,
DBG_CLIENT_BLKID_sx10 = 0x75,
DBG_CLIENT_BLKID_cb102 = 0x76,
DBG_CLIENT_BLKID_cb002 = 0x77,
DBG_CLIENT_BLKID_cb100 = 0x78,
DBG_CLIENT_BLKID_cb000 = 0x79,
DBG_CLIENT_BLKID_pa00 = 0x7a,
DBG_CLIENT_BLKID_pa10 = 0x7b,
DBG_CLIENT_BLKID_ia0 = 0x7c,
DBG_CLIENT_BLKID_ia1 = 0x7d,
DBG_CLIENT_BLKID_tmonw00 = 0x7e,
DBG_CLIENT_BLKID_cb001 = 0x7f,
DBG_CLIENT_BLKID_cb003 = 0x80,
DBG_CLIENT_BLKID_sx00 = 0x81,
DBG_CLIENT_BLKID_sx20 = 0x82,
DBG_CLIENT_BLKID_cb203 = 0x83,
DBG_CLIENT_BLKID_cb201 = 0x84,
DBG_CLIENT_BLKID_cb302 = 0x85,
DBG_CLIENT_BLKID_cb202 = 0x86,
DBG_CLIENT_BLKID_cb300 = 0x87,
DBG_CLIENT_BLKID_cb200 = 0x88,
DBG_CLIENT_BLKID_pa01 = 0x89,
DBG_CLIENT_BLKID_pa11 = 0x8a,
DBG_CLIENT_BLKID_sx30 = 0x8b,
DBG_CLIENT_BLKID_cb303 = 0x8c,
DBG_CLIENT_BLKID_cb301 = 0x8d,
DBG_CLIENT_BLKID_dco = 0x8e,
DBG_CLIENT_BLKID_scb0 = 0x8f,
DBG_CLIENT_BLKID_scb1 = 0x90,
DBG_CLIENT_BLKID_scb2 = 0x91,
DBG_CLIENT_BLKID_scb3 = 0x92,
DBG_CLIENT_BLKID_tmonw01 = 0x93,
DBG_CLIENT_BLKID_RESERVED_LAST = 0x94,
} DebugBlockId;
typedef enum DebugBlockId_OLD {
DBG_BLOCK_ID_RESERVED = 0x0,
DBG_BLOCK_ID_DBG = 0x1,
DBG_BLOCK_ID_VMC = 0x2,
DBG_BLOCK_ID_PDMA = 0x3,
DBG_BLOCK_ID_CG = 0x4,
DBG_BLOCK_ID_SRBM = 0x5,
DBG_BLOCK_ID_GRBM = 0x6,
DBG_BLOCK_ID_RLC = 0x7,
DBG_BLOCK_ID_CSC = 0x8,
DBG_BLOCK_ID_SEM = 0x9,
DBG_BLOCK_ID_IH = 0xa,
DBG_BLOCK_ID_SC = 0xb,
DBG_BLOCK_ID_SQ = 0xc,
DBG_BLOCK_ID_AVP = 0xd,
DBG_BLOCK_ID_GMCON = 0xe,
DBG_BLOCK_ID_SMU = 0xf,
DBG_BLOCK_ID_DMA0 = 0x10,
DBG_BLOCK_ID_DMA1 = 0x11,
DBG_BLOCK_ID_SPIM = 0x12,
DBG_BLOCK_ID_GDS = 0x13,
DBG_BLOCK_ID_SPIS = 0x14,
DBG_BLOCK_ID_UNUSED0 = 0x15,
DBG_BLOCK_ID_PA0 = 0x16,
DBG_BLOCK_ID_PA1 = 0x17,
DBG_BLOCK_ID_CP0 = 0x18,
DBG_BLOCK_ID_CP1 = 0x19,
DBG_BLOCK_ID_CP2 = 0x1a,
DBG_BLOCK_ID_UNUSED1 = 0x1b,
DBG_BLOCK_ID_UVDU = 0x1c,
DBG_BLOCK_ID_UVDM = 0x1d,
DBG_BLOCK_ID_VCE = 0x1e,
DBG_BLOCK_ID_UNUSED2 = 0x1f,
DBG_BLOCK_ID_VGT0 = 0x20,
DBG_BLOCK_ID_VGT1 = 0x21,
DBG_BLOCK_ID_IA = 0x22,
DBG_BLOCK_ID_UNUSED3 = 0x23,
DBG_BLOCK_ID_SCT0 = 0x24,
DBG_BLOCK_ID_SCT1 = 0x25,
DBG_BLOCK_ID_SPM0 = 0x26,
DBG_BLOCK_ID_SPM1 = 0x27,
DBG_BLOCK_ID_TCAA = 0x28,
DBG_BLOCK_ID_TCAB = 0x29,
DBG_BLOCK_ID_TCCA = 0x2a,
DBG_BLOCK_ID_TCCB = 0x2b,
DBG_BLOCK_ID_MCC0 = 0x2c,
DBG_BLOCK_ID_MCC1 = 0x2d,
DBG_BLOCK_ID_MCC2 = 0x2e,
DBG_BLOCK_ID_MCC3 = 0x2f,
DBG_BLOCK_ID_SX0 = 0x30,
DBG_BLOCK_ID_SX1 = 0x31,
DBG_BLOCK_ID_SX2 = 0x32,
DBG_BLOCK_ID_SX3 = 0x33,
DBG_BLOCK_ID_UNUSED4 = 0x34,
DBG_BLOCK_ID_UNUSED5 = 0x35,
DBG_BLOCK_ID_UNUSED6 = 0x36,
DBG_BLOCK_ID_UNUSED7 = 0x37,
DBG_BLOCK_ID_PC0 = 0x38,
DBG_BLOCK_ID_PC1 = 0x39,
DBG_BLOCK_ID_UNUSED8 = 0x3a,
DBG_BLOCK_ID_UNUSED9 = 0x3b,
DBG_BLOCK_ID_UNUSED10 = 0x3c,
DBG_BLOCK_ID_UNUSED11 = 0x3d,
DBG_BLOCK_ID_MCB = 0x3e,
DBG_BLOCK_ID_UNUSED12 = 0x3f,
DBG_BLOCK_ID_SCB0 = 0x40,
DBG_BLOCK_ID_SCB1 = 0x41,
DBG_BLOCK_ID_UNUSED13 = 0x42,
DBG_BLOCK_ID_UNUSED14 = 0x43,
DBG_BLOCK_ID_SCF0 = 0x44,
DBG_BLOCK_ID_SCF1 = 0x45,
DBG_BLOCK_ID_UNUSED15 = 0x46,
DBG_BLOCK_ID_UNUSED16 = 0x47,
DBG_BLOCK_ID_BCI0 = 0x48,
DBG_BLOCK_ID_BCI1 = 0x49,
DBG_BLOCK_ID_BCI2 = 0x4a,
DBG_BLOCK_ID_BCI3 = 0x4b,
DBG_BLOCK_ID_UNUSED17 = 0x4c,
DBG_BLOCK_ID_UNUSED18 = 0x4d,
DBG_BLOCK_ID_UNUSED19 = 0x4e,
DBG_BLOCK_ID_UNUSED20 = 0x4f,
DBG_BLOCK_ID_CB00 = 0x50,
DBG_BLOCK_ID_CB01 = 0x51,
DBG_BLOCK_ID_CB02 = 0x52,
DBG_BLOCK_ID_CB03 = 0x53,
DBG_BLOCK_ID_CB04 = 0x54,
DBG_BLOCK_ID_UNUSED21 = 0x55,
DBG_BLOCK_ID_UNUSED22 = 0x56,
DBG_BLOCK_ID_UNUSED23 = 0x57,
DBG_BLOCK_ID_CB10 = 0x58,
DBG_BLOCK_ID_CB11 = 0x59,
DBG_BLOCK_ID_CB12 = 0x5a,
DBG_BLOCK_ID_CB13 = 0x5b,
DBG_BLOCK_ID_CB14 = 0x5c,
DBG_BLOCK_ID_UNUSED24 = 0x5d,
DBG_BLOCK_ID_UNUSED25 = 0x5e,
DBG_BLOCK_ID_UNUSED26 = 0x5f,
DBG_BLOCK_ID_TCP0 = 0x60,
DBG_BLOCK_ID_TCP1 = 0x61,
DBG_BLOCK_ID_TCP2 = 0x62,
DBG_BLOCK_ID_TCP3 = 0x63,
DBG_BLOCK_ID_TCP4 = 0x64,
DBG_BLOCK_ID_TCP5 = 0x65,
DBG_BLOCK_ID_TCP6 = 0x66,
DBG_BLOCK_ID_TCP7 = 0x67,
DBG_BLOCK_ID_TCP8 = 0x68,
DBG_BLOCK_ID_TCP9 = 0x69,
DBG_BLOCK_ID_TCP10 = 0x6a,
DBG_BLOCK_ID_TCP11 = 0x6b,
DBG_BLOCK_ID_TCP12 = 0x6c,
DBG_BLOCK_ID_TCP13 = 0x6d,
DBG_BLOCK_ID_TCP14 = 0x6e,
DBG_BLOCK_ID_TCP15 = 0x6f,
DBG_BLOCK_ID_TCP16 = 0x70,
DBG_BLOCK_ID_TCP17 = 0x71,
DBG_BLOCK_ID_TCP18 = 0x72,
DBG_BLOCK_ID_TCP19 = 0x73,
DBG_BLOCK_ID_TCP20 = 0x74,
DBG_BLOCK_ID_TCP21 = 0x75,
DBG_BLOCK_ID_TCP22 = 0x76,
DBG_BLOCK_ID_TCP23 = 0x77,
DBG_BLOCK_ID_TCP_RESERVED0 = 0x78,
DBG_BLOCK_ID_TCP_RESERVED1 = 0x79,
DBG_BLOCK_ID_TCP_RESERVED2 = 0x7a,
DBG_BLOCK_ID_TCP_RESERVED3 = 0x7b,
DBG_BLOCK_ID_TCP_RESERVED4 = 0x7c,
DBG_BLOCK_ID_TCP_RESERVED5 = 0x7d,
DBG_BLOCK_ID_TCP_RESERVED6 = 0x7e,
DBG_BLOCK_ID_TCP_RESERVED7 = 0x7f,
DBG_BLOCK_ID_DB00 = 0x80,
DBG_BLOCK_ID_DB01 = 0x81,
DBG_BLOCK_ID_DB02 = 0x82,
DBG_BLOCK_ID_DB03 = 0x83,
DBG_BLOCK_ID_DB04 = 0x84,
DBG_BLOCK_ID_UNUSED27 = 0x85,
DBG_BLOCK_ID_UNUSED28 = 0x86,
DBG_BLOCK_ID_UNUSED29 = 0x87,
DBG_BLOCK_ID_DB10 = 0x88,
DBG_BLOCK_ID_DB11 = 0x89,
DBG_BLOCK_ID_DB12 = 0x8a,
DBG_BLOCK_ID_DB13 = 0x8b,
DBG_BLOCK_ID_DB14 = 0x8c,
DBG_BLOCK_ID_UNUSED30 = 0x8d,
DBG_BLOCK_ID_UNUSED31 = 0x8e,
DBG_BLOCK_ID_UNUSED32 = 0x8f,
DBG_BLOCK_ID_TCC0 = 0x90,
DBG_BLOCK_ID_TCC1 = 0x91,
DBG_BLOCK_ID_TCC2 = 0x92,
DBG_BLOCK_ID_TCC3 = 0x93,
DBG_BLOCK_ID_TCC4 = 0x94,
DBG_BLOCK_ID_TCC5 = 0x95,
DBG_BLOCK_ID_TCC6 = 0x96,
DBG_BLOCK_ID_TCC7 = 0x97,
DBG_BLOCK_ID_SPS00 = 0x98,
DBG_BLOCK_ID_SPS01 = 0x99,
DBG_BLOCK_ID_SPS02 = 0x9a,
DBG_BLOCK_ID_SPS10 = 0x9b,
DBG_BLOCK_ID_SPS11 = 0x9c,
DBG_BLOCK_ID_SPS12 = 0x9d,
DBG_BLOCK_ID_UNUSED33 = 0x9e,
DBG_BLOCK_ID_UNUSED34 = 0x9f,
DBG_BLOCK_ID_TA00 = 0xa0,
DBG_BLOCK_ID_TA01 = 0xa1,
DBG_BLOCK_ID_TA02 = 0xa2,
DBG_BLOCK_ID_TA03 = 0xa3,
DBG_BLOCK_ID_TA04 = 0xa4,
DBG_BLOCK_ID_TA05 = 0xa5,
DBG_BLOCK_ID_TA06 = 0xa6,
DBG_BLOCK_ID_TA07 = 0xa7,
DBG_BLOCK_ID_TA08 = 0xa8,
DBG_BLOCK_ID_TA09 = 0xa9,
DBG_BLOCK_ID_TA0A = 0xaa,
DBG_BLOCK_ID_TA0B = 0xab,
DBG_BLOCK_ID_UNUSED35 = 0xac,
DBG_BLOCK_ID_UNUSED36 = 0xad,
DBG_BLOCK_ID_UNUSED37 = 0xae,
DBG_BLOCK_ID_UNUSED38 = 0xaf,
DBG_BLOCK_ID_TA10 = 0xb0,
DBG_BLOCK_ID_TA11 = 0xb1,
DBG_BLOCK_ID_TA12 = 0xb2,
DBG_BLOCK_ID_TA13 = 0xb3,
DBG_BLOCK_ID_TA14 = 0xb4,
DBG_BLOCK_ID_TA15 = 0xb5,
DBG_BLOCK_ID_TA16 = 0xb6,
DBG_BLOCK_ID_TA17 = 0xb7,
DBG_BLOCK_ID_TA18 = 0xb8,
DBG_BLOCK_ID_TA19 = 0xb9,
DBG_BLOCK_ID_TA1A = 0xba,
DBG_BLOCK_ID_TA1B = 0xbb,
DBG_BLOCK_ID_UNUSED39 = 0xbc,
DBG_BLOCK_ID_UNUSED40 = 0xbd,
DBG_BLOCK_ID_UNUSED41 = 0xbe,
DBG_BLOCK_ID_UNUSED42 = 0xbf,
DBG_BLOCK_ID_TD00 = 0xc0,
DBG_BLOCK_ID_TD01 = 0xc1,
DBG_BLOCK_ID_TD02 = 0xc2,
DBG_BLOCK_ID_TD03 = 0xc3,
DBG_BLOCK_ID_TD04 = 0xc4,
DBG_BLOCK_ID_TD05 = 0xc5,
DBG_BLOCK_ID_TD06 = 0xc6,
DBG_BLOCK_ID_TD07 = 0xc7,
DBG_BLOCK_ID_TD08 = 0xc8,
DBG_BLOCK_ID_TD09 = 0xc9,
DBG_BLOCK_ID_TD0A = 0xca,
DBG_BLOCK_ID_TD0B = 0xcb,
DBG_BLOCK_ID_UNUSED43 = 0xcc,
DBG_BLOCK_ID_UNUSED44 = 0xcd,
DBG_BLOCK_ID_UNUSED45 = 0xce,
DBG_BLOCK_ID_UNUSED46 = 0xcf,
DBG_BLOCK_ID_TD10 = 0xd0,
DBG_BLOCK_ID_TD11 = 0xd1,
DBG_BLOCK_ID_TD12 = 0xd2,
DBG_BLOCK_ID_TD13 = 0xd3,
DBG_BLOCK_ID_TD14 = 0xd4,
DBG_BLOCK_ID_TD15 = 0xd5,
DBG_BLOCK_ID_TD16 = 0xd6,
DBG_BLOCK_ID_TD17 = 0xd7,
DBG_BLOCK_ID_TD18 = 0xd8,
DBG_BLOCK_ID_TD19 = 0xd9,
DBG_BLOCK_ID_TD1A = 0xda,
DBG_BLOCK_ID_TD1B = 0xdb,
DBG_BLOCK_ID_UNUSED47 = 0xdc,
DBG_BLOCK_ID_UNUSED48 = 0xdd,
DBG_BLOCK_ID_UNUSED49 = 0xde,
DBG_BLOCK_ID_UNUSED50 = 0xdf,
DBG_BLOCK_ID_MCD0 = 0xe0,
DBG_BLOCK_ID_MCD1 = 0xe1,
DBG_BLOCK_ID_MCD2 = 0xe2,
DBG_BLOCK_ID_MCD3 = 0xe3,
DBG_BLOCK_ID_MCD4 = 0xe4,
DBG_BLOCK_ID_MCD5 = 0xe5,
DBG_BLOCK_ID_UNUSED51 = 0xe6,
DBG_BLOCK_ID_UNUSED52 = 0xe7,
} DebugBlockId_OLD;
typedef enum DebugBlockId_BY2 {
DBG_BLOCK_ID_RESERVED_BY2 = 0x0,
DBG_BLOCK_ID_VMC_BY2 = 0x1,
DBG_BLOCK_ID_CG_BY2 = 0x2,
DBG_BLOCK_ID_GRBM_BY2 = 0x3,
DBG_BLOCK_ID_CSC_BY2 = 0x4,
DBG_BLOCK_ID_IH_BY2 = 0x5,
DBG_BLOCK_ID_SQ_BY2 = 0x6,
DBG_BLOCK_ID_GMCON_BY2 = 0x7,
DBG_BLOCK_ID_DMA0_BY2 = 0x8,
DBG_BLOCK_ID_SPIM_BY2 = 0x9,
DBG_BLOCK_ID_SPIS_BY2 = 0xa,
DBG_BLOCK_ID_PA0_BY2 = 0xb,
DBG_BLOCK_ID_CP0_BY2 = 0xc,
DBG_BLOCK_ID_CP2_BY2 = 0xd,
DBG_BLOCK_ID_UVDU_BY2 = 0xe,
DBG_BLOCK_ID_VCE_BY2 = 0xf,
DBG_BLOCK_ID_VGT0_BY2 = 0x10,
DBG_BLOCK_ID_IA_BY2 = 0x11,
DBG_BLOCK_ID_SCT0_BY2 = 0x12,
DBG_BLOCK_ID_SPM0_BY2 = 0x13,
DBG_BLOCK_ID_TCAA_BY2 = 0x14,
DBG_BLOCK_ID_TCCA_BY2 = 0x15,
DBG_BLOCK_ID_MCC0_BY2 = 0x16,
DBG_BLOCK_ID_MCC2_BY2 = 0x17,
DBG_BLOCK_ID_SX0_BY2 = 0x18,
DBG_BLOCK_ID_SX2_BY2 = 0x19,
DBG_BLOCK_ID_UNUSED4_BY2 = 0x1a,
DBG_BLOCK_ID_UNUSED6_BY2 = 0x1b,
DBG_BLOCK_ID_PC0_BY2 = 0x1c,
DBG_BLOCK_ID_UNUSED8_BY2 = 0x1d,
DBG_BLOCK_ID_UNUSED10_BY2 = 0x1e,
DBG_BLOCK_ID_MCB_BY2 = 0x1f,
DBG_BLOCK_ID_SCB0_BY2 = 0x20,
DBG_BLOCK_ID_UNUSED13_BY2 = 0x21,
DBG_BLOCK_ID_SCF0_BY2 = 0x22,
DBG_BLOCK_ID_UNUSED15_BY2 = 0x23,
DBG_BLOCK_ID_BCI0_BY2 = 0x24,
DBG_BLOCK_ID_BCI2_BY2 = 0x25,
DBG_BLOCK_ID_UNUSED17_BY2 = 0x26,
DBG_BLOCK_ID_UNUSED19_BY2 = 0x27,
DBG_BLOCK_ID_CB00_BY2 = 0x28,
DBG_BLOCK_ID_CB02_BY2 = 0x29,
DBG_BLOCK_ID_CB04_BY2 = 0x2a,
DBG_BLOCK_ID_UNUSED22_BY2 = 0x2b,
DBG_BLOCK_ID_CB10_BY2 = 0x2c,
DBG_BLOCK_ID_CB12_BY2 = 0x2d,
DBG_BLOCK_ID_CB14_BY2 = 0x2e,
DBG_BLOCK_ID_UNUSED25_BY2 = 0x2f,
DBG_BLOCK_ID_TCP0_BY2 = 0x30,
DBG_BLOCK_ID_TCP2_BY2 = 0x31,
DBG_BLOCK_ID_TCP4_BY2 = 0x32,
DBG_BLOCK_ID_TCP6_BY2 = 0x33,
DBG_BLOCK_ID_TCP8_BY2 = 0x34,
DBG_BLOCK_ID_TCP10_BY2 = 0x35,
DBG_BLOCK_ID_TCP12_BY2 = 0x36,
DBG_BLOCK_ID_TCP14_BY2 = 0x37,
DBG_BLOCK_ID_TCP16_BY2 = 0x38,
DBG_BLOCK_ID_TCP18_BY2 = 0x39,
DBG_BLOCK_ID_TCP20_BY2 = 0x3a,
DBG_BLOCK_ID_TCP22_BY2 = 0x3b,
DBG_BLOCK_ID_TCP_RESERVED0_BY2 = 0x3c,
DBG_BLOCK_ID_TCP_RESERVED2_BY2 = 0x3d,
DBG_BLOCK_ID_TCP_RESERVED4_BY2 = 0x3e,
DBG_BLOCK_ID_TCP_RESERVED6_BY2 = 0x3f,
DBG_BLOCK_ID_DB00_BY2 = 0x40,
DBG_BLOCK_ID_DB02_BY2 = 0x41,
DBG_BLOCK_ID_DB04_BY2 = 0x42,
DBG_BLOCK_ID_UNUSED28_BY2 = 0x43,
DBG_BLOCK_ID_DB10_BY2 = 0x44,
DBG_BLOCK_ID_DB12_BY2 = 0x45,
DBG_BLOCK_ID_DB14_BY2 = 0x46,
DBG_BLOCK_ID_UNUSED31_BY2 = 0x47,
DBG_BLOCK_ID_TCC0_BY2 = 0x48,
DBG_BLOCK_ID_TCC2_BY2 = 0x49,
DBG_BLOCK_ID_TCC4_BY2 = 0x4a,
DBG_BLOCK_ID_TCC6_BY2 = 0x4b,
DBG_BLOCK_ID_SPS00_BY2 = 0x4c,
DBG_BLOCK_ID_SPS02_BY2 = 0x4d,
DBG_BLOCK_ID_SPS11_BY2 = 0x4e,
DBG_BLOCK_ID_UNUSED33_BY2 = 0x4f,
DBG_BLOCK_ID_TA00_BY2 = 0x50,
DBG_BLOCK_ID_TA02_BY2 = 0x51,
DBG_BLOCK_ID_TA04_BY2 = 0x52,
DBG_BLOCK_ID_TA06_BY2 = 0x53,
DBG_BLOCK_ID_TA08_BY2 = 0x54,
DBG_BLOCK_ID_TA0A_BY2 = 0x55,
DBG_BLOCK_ID_UNUSED35_BY2 = 0x56,
DBG_BLOCK_ID_UNUSED37_BY2 = 0x57,
DBG_BLOCK_ID_TA10_BY2 = 0x58,
DBG_BLOCK_ID_TA12_BY2 = 0x59,
DBG_BLOCK_ID_TA14_BY2 = 0x5a,
DBG_BLOCK_ID_TA16_BY2 = 0x5b,
DBG_BLOCK_ID_TA18_BY2 = 0x5c,
DBG_BLOCK_ID_TA1A_BY2 = 0x5d,
DBG_BLOCK_ID_UNUSED39_BY2 = 0x5e,
DBG_BLOCK_ID_UNUSED41_BY2 = 0x5f,
DBG_BLOCK_ID_TD00_BY2 = 0x60,
DBG_BLOCK_ID_TD02_BY2 = 0x61,
DBG_BLOCK_ID_TD04_BY2 = 0x62,
DBG_BLOCK_ID_TD06_BY2 = 0x63,
DBG_BLOCK_ID_TD08_BY2 = 0x64,
DBG_BLOCK_ID_TD0A_BY2 = 0x65,
DBG_BLOCK_ID_UNUSED43_BY2 = 0x66,
DBG_BLOCK_ID_UNUSED45_BY2 = 0x67,
DBG_BLOCK_ID_TD10_BY2 = 0x68,
DBG_BLOCK_ID_TD12_BY2 = 0x69,
DBG_BLOCK_ID_TD14_BY2 = 0x6a,
DBG_BLOCK_ID_TD16_BY2 = 0x6b,
DBG_BLOCK_ID_TD18_BY2 = 0x6c,
DBG_BLOCK_ID_TD1A_BY2 = 0x6d,
DBG_BLOCK_ID_UNUSED47_BY2 = 0x6e,
DBG_BLOCK_ID_UNUSED49_BY2 = 0x6f,
DBG_BLOCK_ID_MCD0_BY2 = 0x70,
DBG_BLOCK_ID_MCD2_BY2 = 0x71,
DBG_BLOCK_ID_MCD4_BY2 = 0x72,
DBG_BLOCK_ID_UNUSED51_BY2 = 0x73,
} DebugBlockId_BY2;
typedef enum DebugBlockId_BY4 {
DBG_BLOCK_ID_RESERVED_BY4 = 0x0,
DBG_BLOCK_ID_CG_BY4 = 0x1,
DBG_BLOCK_ID_CSC_BY4 = 0x2,
DBG_BLOCK_ID_SQ_BY4 = 0x3,
DBG_BLOCK_ID_DMA0_BY4 = 0x4,
DBG_BLOCK_ID_SPIS_BY4 = 0x5,
DBG_BLOCK_ID_CP0_BY4 = 0x6,
DBG_BLOCK_ID_UVDU_BY4 = 0x7,
DBG_BLOCK_ID_VGT0_BY4 = 0x8,
DBG_BLOCK_ID_SCT0_BY4 = 0x9,
DBG_BLOCK_ID_TCAA_BY4 = 0xa,
DBG_BLOCK_ID_MCC0_BY4 = 0xb,
DBG_BLOCK_ID_SX0_BY4 = 0xc,
DBG_BLOCK_ID_UNUSED4_BY4 = 0xd,
DBG_BLOCK_ID_PC0_BY4 = 0xe,
DBG_BLOCK_ID_UNUSED10_BY4 = 0xf,
DBG_BLOCK_ID_SCB0_BY4 = 0x10,
DBG_BLOCK_ID_SCF0_BY4 = 0x11,
DBG_BLOCK_ID_BCI0_BY4 = 0x12,
DBG_BLOCK_ID_UNUSED17_BY4 = 0x13,
DBG_BLOCK_ID_CB00_BY4 = 0x14,
DBG_BLOCK_ID_CB04_BY4 = 0x15,
DBG_BLOCK_ID_CB10_BY4 = 0x16,
DBG_BLOCK_ID_CB14_BY4 = 0x17,
DBG_BLOCK_ID_TCP0_BY4 = 0x18,
DBG_BLOCK_ID_TCP4_BY4 = 0x19,
DBG_BLOCK_ID_TCP8_BY4 = 0x1a,
DBG_BLOCK_ID_TCP12_BY4 = 0x1b,
DBG_BLOCK_ID_TCP16_BY4 = 0x1c,
DBG_BLOCK_ID_TCP20_BY4 = 0x1d,
DBG_BLOCK_ID_TCP_RESERVED0_BY4 = 0x1e,
DBG_BLOCK_ID_TCP_RESERVED4_BY4 = 0x1f,
DBG_BLOCK_ID_DB_BY4 = 0x20,
DBG_BLOCK_ID_DB04_BY4 = 0x21,
DBG_BLOCK_ID_DB10_BY4 = 0x22,
DBG_BLOCK_ID_DB14_BY4 = 0x23,
DBG_BLOCK_ID_TCC0_BY4 = 0x24,
DBG_BLOCK_ID_TCC4_BY4 = 0x25,
DBG_BLOCK_ID_SPS00_BY4 = 0x26,
DBG_BLOCK_ID_SPS11_BY4 = 0x27,
DBG_BLOCK_ID_TA00_BY4 = 0x28,
DBG_BLOCK_ID_TA04_BY4 = 0x29,
DBG_BLOCK_ID_TA08_BY4 = 0x2a,
DBG_BLOCK_ID_UNUSED35_BY4 = 0x2b,
DBG_BLOCK_ID_TA10_BY4 = 0x2c,
DBG_BLOCK_ID_TA14_BY4 = 0x2d,
DBG_BLOCK_ID_TA18_BY4 = 0x2e,
DBG_BLOCK_ID_UNUSED39_BY4 = 0x2f,
DBG_BLOCK_ID_TD00_BY4 = 0x30,
DBG_BLOCK_ID_TD04_BY4 = 0x31,
DBG_BLOCK_ID_TD08_BY4 = 0x32,
DBG_BLOCK_ID_UNUSED43_BY4 = 0x33,
DBG_BLOCK_ID_TD10_BY4 = 0x34,
DBG_BLOCK_ID_TD14_BY4 = 0x35,
DBG_BLOCK_ID_TD18_BY4 = 0x36,
DBG_BLOCK_ID_UNUSED47_BY4 = 0x37,
DBG_BLOCK_ID_MCD0_BY4 = 0x38,
DBG_BLOCK_ID_MCD4_BY4 = 0x39,
} DebugBlockId_BY4;
typedef enum DebugBlockId_BY8 {
DBG_BLOCK_ID_RESERVED_BY8 = 0x0,
DBG_BLOCK_ID_CSC_BY8 = 0x1,
DBG_BLOCK_ID_DMA0_BY8 = 0x2,
DBG_BLOCK_ID_CP0_BY8 = 0x3,
DBG_BLOCK_ID_VGT0_BY8 = 0x4,
DBG_BLOCK_ID_TCAA_BY8 = 0x5,
DBG_BLOCK_ID_SX0_BY8 = 0x6,
DBG_BLOCK_ID_PC0_BY8 = 0x7,
DBG_BLOCK_ID_SCB0_BY8 = 0x8,
DBG_BLOCK_ID_BCI0_BY8 = 0x9,
DBG_BLOCK_ID_CB00_BY8 = 0xa,
DBG_BLOCK_ID_CB10_BY8 = 0xb,
DBG_BLOCK_ID_TCP0_BY8 = 0xc,
DBG_BLOCK_ID_TCP8_BY8 = 0xd,
DBG_BLOCK_ID_TCP16_BY8 = 0xe,
DBG_BLOCK_ID_TCP_RESERVED0_BY8 = 0xf,
DBG_BLOCK_ID_DB00_BY8 = 0x10,
DBG_BLOCK_ID_DB10_BY8 = 0x11,
DBG_BLOCK_ID_TCC0_BY8 = 0x12,
DBG_BLOCK_ID_SPS00_BY8 = 0x13,
DBG_BLOCK_ID_TA00_BY8 = 0x14,
DBG_BLOCK_ID_TA08_BY8 = 0x15,
DBG_BLOCK_ID_TA10_BY8 = 0x16,
DBG_BLOCK_ID_TA18_BY8 = 0x17,
DBG_BLOCK_ID_TD00_BY8 = 0x18,
DBG_BLOCK_ID_TD08_BY8 = 0x19,
DBG_BLOCK_ID_TD10_BY8 = 0x1a,
DBG_BLOCK_ID_TD18_BY8 = 0x1b,
DBG_BLOCK_ID_MCD0_BY8 = 0x1c,
} DebugBlockId_BY8;
typedef enum DebugBlockId_BY16 {
DBG_BLOCK_ID_RESERVED_BY16 = 0x0,
DBG_BLOCK_ID_DMA0_BY16 = 0x1,
DBG_BLOCK_ID_VGT0_BY16 = 0x2,
DBG_BLOCK_ID_SX0_BY16 = 0x3,
DBG_BLOCK_ID_SCB0_BY16 = 0x4,
DBG_BLOCK_ID_CB00_BY16 = 0x5,
DBG_BLOCK_ID_TCP0_BY16 = 0x6,
DBG_BLOCK_ID_TCP16_BY16 = 0x7,
DBG_BLOCK_ID_DB00_BY16 = 0x8,
DBG_BLOCK_ID_TCC0_BY16 = 0x9,
DBG_BLOCK_ID_TA00_BY16 = 0xa,
DBG_BLOCK_ID_TA10_BY16 = 0xb,
DBG_BLOCK_ID_TD00_BY16 = 0xc,
DBG_BLOCK_ID_TD10_BY16 = 0xd,
DBG_BLOCK_ID_MCD0_BY16 = 0xe,
} DebugBlockId_BY16;
typedef enum CompareRef {
REF_NEVER = 0x0,
REF_LESS = 0x1,
REF_EQUAL = 0x2,
REF_LEQUAL = 0x3,
REF_GREATER = 0x4,
REF_NOTEQUAL = 0x5,
REF_GEQUAL = 0x6,
REF_ALWAYS = 0x7,
} CompareRef;
typedef enum ReadSize {
READ_256_BITS = 0x0,
READ_512_BITS = 0x1,
} ReadSize;
typedef enum DepthFormat {
DEPTH_INVALID = 0x0,
DEPTH_16 = 0x1,
DEPTH_X8_24 = 0x2,
DEPTH_8_24 = 0x3,
DEPTH_X8_24_FLOAT = 0x4,
DEPTH_8_24_FLOAT = 0x5,
DEPTH_32_FLOAT = 0x6,
DEPTH_X24_8_32_FLOAT = 0x7,
} DepthFormat;
typedef enum ZFormat {
Z_INVALID = 0x0,
Z_16 = 0x1,
Z_24 = 0x2,
Z_32_FLOAT = 0x3,
} ZFormat;
typedef enum StencilFormat {
STENCIL_INVALID = 0x0,
STENCIL_8 = 0x1,
} StencilFormat;
typedef enum CmaskMode {
CMASK_CLEAR_NONE = 0x0,
CMASK_CLEAR_ONE = 0x1,
CMASK_CLEAR_ALL = 0x2,
CMASK_ANY_EXPANDED = 0x3,
CMASK_ALPHA0_FRAG1 = 0x4,
CMASK_ALPHA0_FRAG2 = 0x5,
CMASK_ALPHA0_FRAG4 = 0x6,
CMASK_ALPHA0_FRAGS = 0x7,
CMASK_ALPHA1_FRAG1 = 0x8,
CMASK_ALPHA1_FRAG2 = 0x9,
CMASK_ALPHA1_FRAG4 = 0xa,
CMASK_ALPHA1_FRAGS = 0xb,
CMASK_ALPHAX_FRAG1 = 0xc,
CMASK_ALPHAX_FRAG2 = 0xd,
CMASK_ALPHAX_FRAG4 = 0xe,
CMASK_ALPHAX_FRAGS = 0xf,
} CmaskMode;
typedef enum QuadExportFormat {
EXPORT_UNUSED = 0x0,
EXPORT_32_R = 0x1,
EXPORT_32_GR = 0x2,
EXPORT_32_AR = 0x3,
EXPORT_FP16_ABGR = 0x4,
EXPORT_UNSIGNED16_ABGR = 0x5,
EXPORT_SIGNED16_ABGR = 0x6,
EXPORT_32_ABGR = 0x7,
} QuadExportFormat;
typedef enum QuadExportFormatOld {
EXPORT_4P_32BPC_ABGR = 0x0,
EXPORT_4P_16BPC_ABGR = 0x1,
EXPORT_4P_32BPC_GR = 0x2,
EXPORT_4P_32BPC_AR = 0x3,
EXPORT_2P_32BPC_ABGR = 0x4,
EXPORT_8P_32BPC_R = 0x5,
} QuadExportFormatOld;
typedef enum ColorFormat {
COLOR_INVALID = 0x0,
COLOR_8 = 0x1,
COLOR_16 = 0x2,
COLOR_8_8 = 0x3,
COLOR_32 = 0x4,
COLOR_16_16 = 0x5,
COLOR_10_11_11 = 0x6,
COLOR_11_11_10 = 0x7,
COLOR_10_10_10_2 = 0x8,
COLOR_2_10_10_10 = 0x9,
COLOR_8_8_8_8 = 0xa,
COLOR_32_32 = 0xb,
COLOR_16_16_16_16 = 0xc,
COLOR_RESERVED_13 = 0xd,
COLOR_32_32_32_32 = 0xe,
COLOR_RESERVED_15 = 0xf,
COLOR_5_6_5 = 0x10,
COLOR_1_5_5_5 = 0x11,
COLOR_5_5_5_1 = 0x12,
COLOR_4_4_4_4 = 0x13,
COLOR_8_24 = 0x14,
COLOR_24_8 = 0x15,
COLOR_X24_8_32_FLOAT = 0x16,
COLOR_RESERVED_23 = 0x17,
} ColorFormat;
typedef enum SurfaceFormat {
FMT_INVALID = 0x0,
FMT_8 = 0x1,
FMT_16 = 0x2,
FMT_8_8 = 0x3,
FMT_32 = 0x4,
FMT_16_16 = 0x5,
FMT_10_11_11 = 0x6,
FMT_11_11_10 = 0x7,
FMT_10_10_10_2 = 0x8,
FMT_2_10_10_10 = 0x9,
FMT_8_8_8_8 = 0xa,
FMT_32_32 = 0xb,
FMT_16_16_16_16 = 0xc,
FMT_32_32_32 = 0xd,
FMT_32_32_32_32 = 0xe,
FMT_RESERVED_4 = 0xf,
FMT_5_6_5 = 0x10,
FMT_1_5_5_5 = 0x11,
FMT_5_5_5_1 = 0x12,
FMT_4_4_4_4 = 0x13,
FMT_8_24 = 0x14,
FMT_24_8 = 0x15,
FMT_X24_8_32_FLOAT = 0x16,
FMT_RESERVED_33 = 0x17,
FMT_11_11_10_FLOAT = 0x18,
FMT_16_FLOAT = 0x19,
FMT_32_FLOAT = 0x1a,
FMT_16_16_FLOAT = 0x1b,
FMT_8_24_FLOAT = 0x1c,
FMT_24_8_FLOAT = 0x1d,
FMT_32_32_FLOAT = 0x1e,
FMT_10_11_11_FLOAT = 0x1f,
FMT_16_16_16_16_FLOAT = 0x20,
FMT_3_3_2 = 0x21,
FMT_6_5_5 = 0x22,
FMT_32_32_32_32_FLOAT = 0x23,
FMT_RESERVED_36 = 0x24,
FMT_1 = 0x25,
FMT_1_REVERSED = 0x26,
FMT_GB_GR = 0x27,
FMT_BG_RG = 0x28,
FMT_32_AS_8 = 0x29,
FMT_32_AS_8_8 = 0x2a,
FMT_5_9_9_9_SHAREDEXP = 0x2b,
FMT_8_8_8 = 0x2c,
FMT_16_16_16 = 0x2d,
FMT_16_16_16_FLOAT = 0x2e,
FMT_4_4 = 0x2f,
FMT_32_32_32_FLOAT = 0x30,
FMT_BC1 = 0x31,
FMT_BC2 = 0x32,
FMT_BC3 = 0x33,
FMT_BC4 = 0x34,
FMT_BC5 = 0x35,
FMT_BC6 = 0x36,
FMT_BC7 = 0x37,
FMT_32_AS_32_32_32_32 = 0x38,
FMT_APC3 = 0x39,
FMT_APC4 = 0x3a,
FMT_APC5 = 0x3b,
FMT_APC6 = 0x3c,
FMT_APC7 = 0x3d,
FMT_CTX1 = 0x3e,
FMT_RESERVED_63 = 0x3f,
} SurfaceFormat;
typedef enum BUF_DATA_FORMAT {
BUF_DATA_FORMAT_INVALID = 0x0,
BUF_DATA_FORMAT_8 = 0x1,
BUF_DATA_FORMAT_16 = 0x2,
BUF_DATA_FORMAT_8_8 = 0x3,
BUF_DATA_FORMAT_32 = 0x4,
BUF_DATA_FORMAT_16_16 = 0x5,
BUF_DATA_FORMAT_10_11_11 = 0x6,
BUF_DATA_FORMAT_11_11_10 = 0x7,
BUF_DATA_FORMAT_10_10_10_2 = 0x8,
BUF_DATA_FORMAT_2_10_10_10 = 0x9,
BUF_DATA_FORMAT_8_8_8_8 = 0xa,
BUF_DATA_FORMAT_32_32 = 0xb,
BUF_DATA_FORMAT_16_16_16_16 = 0xc,
BUF_DATA_FORMAT_32_32_32 = 0xd,
BUF_DATA_FORMAT_32_32_32_32 = 0xe,
BUF_DATA_FORMAT_RESERVED_15 = 0xf,
} BUF_DATA_FORMAT;
typedef enum IMG_DATA_FORMAT {
IMG_DATA_FORMAT_INVALID = 0x0,
IMG_DATA_FORMAT_8 = 0x1,
IMG_DATA_FORMAT_16 = 0x2,
IMG_DATA_FORMAT_8_8 = 0x3,
IMG_DATA_FORMAT_32 = 0x4,
IMG_DATA_FORMAT_16_16 = 0x5,
IMG_DATA_FORMAT_10_11_11 = 0x6,
IMG_DATA_FORMAT_11_11_10 = 0x7,
IMG_DATA_FORMAT_10_10_10_2 = 0x8,
IMG_DATA_FORMAT_2_10_10_10 = 0x9,
IMG_DATA_FORMAT_8_8_8_8 = 0xa,
IMG_DATA_FORMAT_32_32 = 0xb,
IMG_DATA_FORMAT_16_16_16_16 = 0xc,
IMG_DATA_FORMAT_32_32_32 = 0xd,
IMG_DATA_FORMAT_32_32_32_32 = 0xe,
IMG_DATA_FORMAT_RESERVED_15 = 0xf,
IMG_DATA_FORMAT_5_6_5 = 0x10,
IMG_DATA_FORMAT_1_5_5_5 = 0x11,
IMG_DATA_FORMAT_5_5_5_1 = 0x12,
IMG_DATA_FORMAT_4_4_4_4 = 0x13,
IMG_DATA_FORMAT_8_24 = 0x14,
IMG_DATA_FORMAT_24_8 = 0x15,
IMG_DATA_FORMAT_X24_8_32 = 0x16,
IMG_DATA_FORMAT_RESERVED_23 = 0x17,
IMG_DATA_FORMAT_RESERVED_24 = 0x18,
IMG_DATA_FORMAT_RESERVED_25 = 0x19,
IMG_DATA_FORMAT_RESERVED_26 = 0x1a,
IMG_DATA_FORMAT_RESERVED_27 = 0x1b,
IMG_DATA_FORMAT_RESERVED_28 = 0x1c,
IMG_DATA_FORMAT_RESERVED_29 = 0x1d,
IMG_DATA_FORMAT_RESERVED_30 = 0x1e,
IMG_DATA_FORMAT_RESERVED_31 = 0x1f,
IMG_DATA_FORMAT_GB_GR = 0x20,
IMG_DATA_FORMAT_BG_RG = 0x21,
IMG_DATA_FORMAT_5_9_9_9 = 0x22,
IMG_DATA_FORMAT_BC1 = 0x23,
IMG_DATA_FORMAT_BC2 = 0x24,
IMG_DATA_FORMAT_BC3 = 0x25,
IMG_DATA_FORMAT_BC4 = 0x26,
IMG_DATA_FORMAT_BC5 = 0x27,
IMG_DATA_FORMAT_BC6 = 0x28,
IMG_DATA_FORMAT_BC7 = 0x29,
IMG_DATA_FORMAT_RESERVED_42 = 0x2a,
IMG_DATA_FORMAT_RESERVED_43 = 0x2b,
IMG_DATA_FORMAT_FMASK8_S2_F1 = 0x2c,
IMG_DATA_FORMAT_FMASK8_S4_F1 = 0x2d,
IMG_DATA_FORMAT_FMASK8_S8_F1 = 0x2e,
IMG_DATA_FORMAT_FMASK8_S2_F2 = 0x2f,
IMG_DATA_FORMAT_FMASK8_S4_F2 = 0x30,
IMG_DATA_FORMAT_FMASK8_S4_F4 = 0x31,
IMG_DATA_FORMAT_FMASK16_S16_F1 = 0x32,
IMG_DATA_FORMAT_FMASK16_S8_F2 = 0x33,
IMG_DATA_FORMAT_FMASK32_S16_F2 = 0x34,
IMG_DATA_FORMAT_FMASK32_S8_F4 = 0x35,
IMG_DATA_FORMAT_FMASK32_S8_F8 = 0x36,
IMG_DATA_FORMAT_FMASK64_S16_F4 = 0x37,
IMG_DATA_FORMAT_FMASK64_S16_F8 = 0x38,
IMG_DATA_FORMAT_4_4 = 0x39,
IMG_DATA_FORMAT_6_5_5 = 0x3a,
IMG_DATA_FORMAT_1 = 0x3b,
IMG_DATA_FORMAT_1_REVERSED = 0x3c,
IMG_DATA_FORMAT_32_AS_8 = 0x3d,
IMG_DATA_FORMAT_32_AS_8_8 = 0x3e,
IMG_DATA_FORMAT_32_AS_32_32_32_32 = 0x3f,
} IMG_DATA_FORMAT;
typedef enum BUF_NUM_FORMAT {
BUF_NUM_FORMAT_UNORM = 0x0,
BUF_NUM_FORMAT_SNORM = 0x1,
BUF_NUM_FORMAT_USCALED = 0x2,
BUF_NUM_FORMAT_SSCALED = 0x3,
BUF_NUM_FORMAT_UINT = 0x4,
BUF_NUM_FORMAT_SINT = 0x5,
BUF_NUM_FORMAT_SNORM_OGL = 0x6,
BUF_NUM_FORMAT_FLOAT = 0x7,
} BUF_NUM_FORMAT;
typedef enum IMG_NUM_FORMAT {
IMG_NUM_FORMAT_UNORM = 0x0,
IMG_NUM_FORMAT_SNORM = 0x1,
IMG_NUM_FORMAT_USCALED = 0x2,
IMG_NUM_FORMAT_SSCALED = 0x3,
IMG_NUM_FORMAT_UINT = 0x4,
IMG_NUM_FORMAT_SINT = 0x5,
IMG_NUM_FORMAT_SNORM_OGL = 0x6,
IMG_NUM_FORMAT_FLOAT = 0x7,
IMG_NUM_FORMAT_RESERVED_8 = 0x8,
IMG_NUM_FORMAT_SRGB = 0x9,
IMG_NUM_FORMAT_UBNORM = 0xa,
IMG_NUM_FORMAT_UBNORM_OGL = 0xb,
IMG_NUM_FORMAT_UBINT = 0xc,
IMG_NUM_FORMAT_UBSCALED = 0xd,
IMG_NUM_FORMAT_RESERVED_14 = 0xe,
IMG_NUM_FORMAT_RESERVED_15 = 0xf,
} IMG_NUM_FORMAT;
typedef enum TileType {
ARRAY_COLOR_TILE = 0x0,
ARRAY_DEPTH_TILE = 0x1,
} TileType;
typedef enum NonDispTilingOrder {
ADDR_SURF_MICRO_TILING_DISPLAY = 0x0,
ADDR_SURF_MICRO_TILING_NON_DISPLAY = 0x1,
} NonDispTilingOrder;
typedef enum MicroTileMode {
ADDR_SURF_DISPLAY_MICRO_TILING = 0x0,
ADDR_SURF_THIN_MICRO_TILING = 0x1,
ADDR_SURF_DEPTH_MICRO_TILING = 0x2,
ADDR_SURF_ROTATED_MICRO_TILING = 0x3,
ADDR_SURF_THICK_MICRO_TILING = 0x4,
} MicroTileMode;
typedef enum TileSplit {
ADDR_SURF_TILE_SPLIT_64B = 0x0,
ADDR_SURF_TILE_SPLIT_128B = 0x1,
ADDR_SURF_TILE_SPLIT_256B = 0x2,
ADDR_SURF_TILE_SPLIT_512B = 0x3,
ADDR_SURF_TILE_SPLIT_1KB = 0x4,
ADDR_SURF_TILE_SPLIT_2KB = 0x5,
ADDR_SURF_TILE_SPLIT_4KB = 0x6,
} TileSplit;
typedef enum SampleSplit {
ADDR_SURF_SAMPLE_SPLIT_1 = 0x0,
ADDR_SURF_SAMPLE_SPLIT_2 = 0x1,
ADDR_SURF_SAMPLE_SPLIT_4 = 0x2,
ADDR_SURF_SAMPLE_SPLIT_8 = 0x3,
} SampleSplit;
typedef enum PipeConfig {
ADDR_SURF_P2 = 0x0,
ADDR_SURF_P2_RESERVED0 = 0x1,
ADDR_SURF_P2_RESERVED1 = 0x2,
ADDR_SURF_P2_RESERVED2 = 0x3,
ADDR_SURF_P4_8x16 = 0x4,
ADDR_SURF_P4_16x16 = 0x5,
ADDR_SURF_P4_16x32 = 0x6,
ADDR_SURF_P4_32x32 = 0x7,
ADDR_SURF_P8_16x16_8x16 = 0x8,
ADDR_SURF_P8_16x32_8x16 = 0x9,
ADDR_SURF_P8_32x32_8x16 = 0xa,
ADDR_SURF_P8_16x32_16x16 = 0xb,
ADDR_SURF_P8_32x32_16x16 = 0xc,
ADDR_SURF_P8_32x32_16x32 = 0xd,
ADDR_SURF_P8_32x64_32x32 = 0xe,
ADDR_SURF_P8_RESERVED0 = 0xf,
ADDR_SURF_P16_32x32_8x16 = 0x10,
ADDR_SURF_P16_32x32_16x16 = 0x11,
} PipeConfig;
typedef enum NumBanks {
ADDR_SURF_2_BANK = 0x0,
ADDR_SURF_4_BANK = 0x1,
ADDR_SURF_8_BANK = 0x2,
ADDR_SURF_16_BANK = 0x3,
} NumBanks;
typedef enum BankWidth {
ADDR_SURF_BANK_WIDTH_1 = 0x0,
ADDR_SURF_BANK_WIDTH_2 = 0x1,
ADDR_SURF_BANK_WIDTH_4 = 0x2,
ADDR_SURF_BANK_WIDTH_8 = 0x3,
} BankWidth;
typedef enum BankHeight {
ADDR_SURF_BANK_HEIGHT_1 = 0x0,
ADDR_SURF_BANK_HEIGHT_2 = 0x1,
ADDR_SURF_BANK_HEIGHT_4 = 0x2,
ADDR_SURF_BANK_HEIGHT_8 = 0x3,
} BankHeight;
typedef enum BankWidthHeight {
ADDR_SURF_BANK_WH_1 = 0x0,
ADDR_SURF_BANK_WH_2 = 0x1,
ADDR_SURF_BANK_WH_4 = 0x2,
ADDR_SURF_BANK_WH_8 = 0x3,
} BankWidthHeight;
typedef enum MacroTileAspect {
ADDR_SURF_MACRO_ASPECT_1 = 0x0,
ADDR_SURF_MACRO_ASPECT_2 = 0x1,
ADDR_SURF_MACRO_ASPECT_4 = 0x2,
ADDR_SURF_MACRO_ASPECT_8 = 0x3,
} MacroTileAspect;
typedef enum TCC_CACHE_POLICIES {
TCC_CACHE_POLICY_LRU = 0x0,
TCC_CACHE_POLICY_STREAM = 0x1,
TCC_CACHE_POLICY_BYPASS = 0x2,
} TCC_CACHE_POLICIES;
typedef enum MTYPE {
MTYPE_NC_NV = 0x0,
MTYPE_NC = 0x1,
MTYPE_CC = 0x2,
MTYPE_UC = 0x3,
} MTYPE;
typedef enum PERFMON_COUNTER_MODE {
PERFMON_COUNTER_MODE_ACCUM = 0x0,
PERFMON_COUNTER_MODE_ACTIVE_CYCLES = 0x1,
PERFMON_COUNTER_MODE_MAX = 0x2,
PERFMON_COUNTER_MODE_DIRTY = 0x3,
PERFMON_COUNTER_MODE_SAMPLE = 0x4,
PERFMON_COUNTER_MODE_CYCLES_SINCE_FIRST_EVENT = 0x5,
PERFMON_COUNTER_MODE_CYCLES_SINCE_LAST_EVENT = 0x6,
PERFMON_COUNTER_MODE_CYCLES_GE_HI = 0x7,
PERFMON_COUNTER_MODE_CYCLES_EQ_HI = 0x8,
PERFMON_COUNTER_MODE_INACTIVE_CYCLES = 0x9,
PERFMON_COUNTER_MODE_RESERVED = 0xf,
} PERFMON_COUNTER_MODE;
typedef enum PERFMON_SPM_MODE {
PERFMON_SPM_MODE_OFF = 0x0,
PERFMON_SPM_MODE_16BIT_CLAMP = 0x1,
PERFMON_SPM_MODE_16BIT_NO_CLAMP = 0x2,
PERFMON_SPM_MODE_32BIT_CLAMP = 0x3,
PERFMON_SPM_MODE_32BIT_NO_CLAMP = 0x4,
PERFMON_SPM_MODE_RESERVED_5 = 0x5,
PERFMON_SPM_MODE_RESERVED_6 = 0x6,
PERFMON_SPM_MODE_RESERVED_7 = 0x7,
PERFMON_SPM_MODE_TEST_MODE_0 = 0x8,
PERFMON_SPM_MODE_TEST_MODE_1 = 0x9,
PERFMON_SPM_MODE_TEST_MODE_2 = 0xa,
} PERFMON_SPM_MODE;
typedef enum SurfaceTiling {
ARRAY_LINEAR = 0x0,
ARRAY_TILED = 0x1,
} SurfaceTiling;
typedef enum SurfaceArray {
ARRAY_1D = 0x0,
ARRAY_2D = 0x1,
ARRAY_3D = 0x2,
ARRAY_3D_SLICE = 0x3,
} SurfaceArray;
typedef enum ColorArray {
ARRAY_2D_ALT_COLOR = 0x0,
ARRAY_2D_COLOR = 0x1,
ARRAY_3D_SLICE_COLOR = 0x3,
} ColorArray;
typedef enum DepthArray {
ARRAY_2D_ALT_DEPTH = 0x0,
ARRAY_2D_DEPTH = 0x1,
} DepthArray;
#endif /* GFX_7_2_ENUM_H */