/* * 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 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 */