Path: blob/21.2-virgl/src/freedreno/perfcntrs/fd2_perfcntr.c
4565 views
/*1* Copyright (C) 2018 Jonathan Marek <[email protected]>2*3* Permission is hereby granted, free of charge, to any person obtaining a4* copy of this software and associated documentation files (the "Software"),5* to deal in the Software without restriction, including without limitation6* the rights to use, copy, modify, merge, publish, distribute, sublicense,7* and/or sell copies of the Software, and to permit persons to whom the8* Software is furnished to do so, subject to the following conditions:9*10* The above copyright notice and this permission notice (including the next11* paragraph) shall be included in all copies or substantial portions of the12* Software.13*14* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR15* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,16* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL17* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER18* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,19* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE20* SOFTWARE.21*22* Authors:23* Jonathan Marek <[email protected]>24* Rob Clark <[email protected]>25*/2627#include "util/half_float.h"28#include "util/u_math.h"29#include "adreno_common.xml.h"30#include "adreno_pm4.xml.h"31#include "a2xx.xml.h"3233#define REG(_x) REG_A2XX_ ## _x34#include "freedreno_perfcntr.h"3536static const struct fd_perfcntr_countable pa_su_countables[] = {37COUNTABLE(PERF_PAPC_PASX_REQ, UINT64, AVERAGE),38COUNTABLE(PERF_PAPC_PASX_FIRST_VECTOR, UINT64, AVERAGE),39COUNTABLE(PERF_PAPC_PASX_SECOND_VECTOR, UINT64, AVERAGE),40COUNTABLE(PERF_PAPC_PASX_FIRST_DEAD, UINT64, AVERAGE),41COUNTABLE(PERF_PAPC_PASX_SECOND_DEAD, UINT64, AVERAGE),42COUNTABLE(PERF_PAPC_PASX_VTX_KILL_DISCARD, UINT64, AVERAGE),43COUNTABLE(PERF_PAPC_PASX_VTX_NAN_DISCARD, UINT64, AVERAGE),44COUNTABLE(PERF_PAPC_PA_INPUT_PRIM, UINT64, AVERAGE),45COUNTABLE(PERF_PAPC_PA_INPUT_NULL_PRIM, UINT64, AVERAGE),46COUNTABLE(PERF_PAPC_PA_INPUT_EVENT_FLAG, UINT64, AVERAGE),47COUNTABLE(PERF_PAPC_PA_INPUT_FIRST_PRIM_SLOT, UINT64, AVERAGE),48COUNTABLE(PERF_PAPC_PA_INPUT_END_OF_PACKET, UINT64, AVERAGE),49COUNTABLE(PERF_PAPC_CLPR_CULL_PRIM, UINT64, AVERAGE),50COUNTABLE(PERF_PAPC_CLPR_VV_CULL_PRIM, UINT64, AVERAGE),51COUNTABLE(PERF_PAPC_CLPR_VTX_KILL_CULL_PRIM, UINT64, AVERAGE),52COUNTABLE(PERF_PAPC_CLPR_VTX_NAN_CULL_PRIM, UINT64, AVERAGE),53COUNTABLE(PERF_PAPC_CLPR_CULL_TO_NULL_PRIM, UINT64, AVERAGE),54COUNTABLE(PERF_PAPC_CLPR_VV_CLIP_PRIM, UINT64, AVERAGE),55COUNTABLE(PERF_PAPC_CLPR_POINT_CLIP_CANDIDATE, UINT64, AVERAGE),56COUNTABLE(PERF_PAPC_CLPR_CLIP_PLANE_CNT_1, UINT64, AVERAGE),57COUNTABLE(PERF_PAPC_CLPR_CLIP_PLANE_CNT_2, UINT64, AVERAGE),58COUNTABLE(PERF_PAPC_CLPR_CLIP_PLANE_CNT_3, UINT64, AVERAGE),59COUNTABLE(PERF_PAPC_CLPR_CLIP_PLANE_CNT_4, UINT64, AVERAGE),60COUNTABLE(PERF_PAPC_CLPR_CLIP_PLANE_CNT_5, UINT64, AVERAGE),61COUNTABLE(PERF_PAPC_CLPR_CLIP_PLANE_CNT_6, UINT64, AVERAGE),62COUNTABLE(PERF_PAPC_CLPR_CLIP_PLANE_NEAR, UINT64, AVERAGE),63COUNTABLE(PERF_PAPC_CLPR_CLIP_PLANE_FAR, UINT64, AVERAGE),64COUNTABLE(PERF_PAPC_CLPR_CLIP_PLANE_LEFT, UINT64, AVERAGE),65COUNTABLE(PERF_PAPC_CLPR_CLIP_PLANE_RIGHT, UINT64, AVERAGE),66COUNTABLE(PERF_PAPC_CLPR_CLIP_PLANE_TOP, UINT64, AVERAGE),67COUNTABLE(PERF_PAPC_CLPR_CLIP_PLANE_BOTTOM, UINT64, AVERAGE),68COUNTABLE(PERF_PAPC_CLSM_NULL_PRIM, UINT64, AVERAGE),69COUNTABLE(PERF_PAPC_CLSM_TOTALLY_VISIBLE_PRIM, UINT64, AVERAGE),70COUNTABLE(PERF_PAPC_CLSM_CLIP_PRIM, UINT64, AVERAGE),71COUNTABLE(PERF_PAPC_CLSM_CULL_TO_NULL_PRIM, UINT64, AVERAGE),72COUNTABLE(PERF_PAPC_CLSM_OUT_PRIM_CNT_1, UINT64, AVERAGE),73COUNTABLE(PERF_PAPC_CLSM_OUT_PRIM_CNT_2, UINT64, AVERAGE),74COUNTABLE(PERF_PAPC_CLSM_OUT_PRIM_CNT_3, UINT64, AVERAGE),75COUNTABLE(PERF_PAPC_CLSM_OUT_PRIM_CNT_4, UINT64, AVERAGE),76COUNTABLE(PERF_PAPC_CLSM_OUT_PRIM_CNT_5, UINT64, AVERAGE),77COUNTABLE(PERF_PAPC_CLSM_OUT_PRIM_CNT_6_7, UINT64, AVERAGE),78COUNTABLE(PERF_PAPC_CLSM_NON_TRIVIAL_CULL, UINT64, AVERAGE),79COUNTABLE(PERF_PAPC_SU_INPUT_PRIM, UINT64, AVERAGE),80COUNTABLE(PERF_PAPC_SU_INPUT_CLIP_PRIM, UINT64, AVERAGE),81COUNTABLE(PERF_PAPC_SU_INPUT_NULL_PRIM, UINT64, AVERAGE),82COUNTABLE(PERF_PAPC_SU_ZERO_AREA_CULL_PRIM, UINT64, AVERAGE),83COUNTABLE(PERF_PAPC_SU_BACK_FACE_CULL_PRIM, UINT64, AVERAGE),84COUNTABLE(PERF_PAPC_SU_FRONT_FACE_CULL_PRIM, UINT64, AVERAGE),85COUNTABLE(PERF_PAPC_SU_POLYMODE_FACE_CULL, UINT64, AVERAGE),86COUNTABLE(PERF_PAPC_SU_POLYMODE_BACK_CULL, UINT64, AVERAGE),87COUNTABLE(PERF_PAPC_SU_POLYMODE_FRONT_CULL, UINT64, AVERAGE),88COUNTABLE(PERF_PAPC_SU_POLYMODE_INVALID_FILL, UINT64, AVERAGE),89COUNTABLE(PERF_PAPC_SU_OUTPUT_PRIM, UINT64, AVERAGE),90COUNTABLE(PERF_PAPC_SU_OUTPUT_CLIP_PRIM, UINT64, AVERAGE),91COUNTABLE(PERF_PAPC_SU_OUTPUT_NULL_PRIM, UINT64, AVERAGE),92COUNTABLE(PERF_PAPC_SU_OUTPUT_EVENT_FLAG, UINT64, AVERAGE),93COUNTABLE(PERF_PAPC_SU_OUTPUT_FIRST_PRIM_SLOT, UINT64, AVERAGE),94COUNTABLE(PERF_PAPC_SU_OUTPUT_END_OF_PACKET, UINT64, AVERAGE),95COUNTABLE(PERF_PAPC_SU_OUTPUT_POLYMODE_FACE, UINT64, AVERAGE),96COUNTABLE(PERF_PAPC_SU_OUTPUT_POLYMODE_BACK, UINT64, AVERAGE),97COUNTABLE(PERF_PAPC_SU_OUTPUT_POLYMODE_FRONT, UINT64, AVERAGE),98COUNTABLE(PERF_PAPC_SU_OUT_CLIP_POLYMODE_FACE, UINT64, AVERAGE),99COUNTABLE(PERF_PAPC_SU_OUT_CLIP_POLYMODE_BACK, UINT64, AVERAGE),100COUNTABLE(PERF_PAPC_SU_OUT_CLIP_POLYMODE_FRONT, UINT64, AVERAGE),101COUNTABLE(PERF_PAPC_PASX_REQ_IDLE, UINT64, AVERAGE),102COUNTABLE(PERF_PAPC_PASX_REQ_BUSY, UINT64, AVERAGE),103COUNTABLE(PERF_PAPC_PASX_REQ_STALLED, UINT64, AVERAGE),104COUNTABLE(PERF_PAPC_PASX_REC_IDLE, UINT64, AVERAGE),105COUNTABLE(PERF_PAPC_PASX_REC_BUSY, UINT64, AVERAGE),106COUNTABLE(PERF_PAPC_PASX_REC_STARVED_SX, UINT64, AVERAGE),107COUNTABLE(PERF_PAPC_PASX_REC_STALLED, UINT64, AVERAGE),108COUNTABLE(PERF_PAPC_PASX_REC_STALLED_POS_MEM, UINT64, AVERAGE),109COUNTABLE(PERF_PAPC_PASX_REC_STALLED_CCGSM_IN, UINT64, AVERAGE),110COUNTABLE(PERF_PAPC_CCGSM_IDLE, UINT64, AVERAGE),111COUNTABLE(PERF_PAPC_CCGSM_BUSY, UINT64, AVERAGE),112COUNTABLE(PERF_PAPC_CCGSM_STALLED, UINT64, AVERAGE),113COUNTABLE(PERF_PAPC_CLPRIM_IDLE, UINT64, AVERAGE),114COUNTABLE(PERF_PAPC_CLPRIM_BUSY, UINT64, AVERAGE),115COUNTABLE(PERF_PAPC_CLPRIM_STALLED, UINT64, AVERAGE),116COUNTABLE(PERF_PAPC_CLPRIM_STARVED_CCGSM, UINT64, AVERAGE),117COUNTABLE(PERF_PAPC_CLIPSM_IDLE, UINT64, AVERAGE),118COUNTABLE(PERF_PAPC_CLIPSM_BUSY, UINT64, AVERAGE),119COUNTABLE(PERF_PAPC_CLIPSM_WAIT_CLIP_VERT_ENGH, UINT64, AVERAGE),120COUNTABLE(PERF_PAPC_CLIPSM_WAIT_HIGH_PRI_SEQ, UINT64, AVERAGE),121COUNTABLE(PERF_PAPC_CLIPSM_WAIT_CLIPGA, UINT64, AVERAGE),122COUNTABLE(PERF_PAPC_CLIPSM_WAIT_AVAIL_VTE_CLIP, UINT64, AVERAGE),123COUNTABLE(PERF_PAPC_CLIPSM_WAIT_CLIP_OUTSM, UINT64, AVERAGE),124COUNTABLE(PERF_PAPC_CLIPGA_IDLE, UINT64, AVERAGE),125COUNTABLE(PERF_PAPC_CLIPGA_BUSY, UINT64, AVERAGE),126COUNTABLE(PERF_PAPC_CLIPGA_STARVED_VTE_CLIP, UINT64, AVERAGE),127COUNTABLE(PERF_PAPC_CLIPGA_STALLED, UINT64, AVERAGE),128COUNTABLE(PERF_PAPC_CLIP_IDLE, UINT64, AVERAGE),129COUNTABLE(PERF_PAPC_CLIP_BUSY, UINT64, AVERAGE),130COUNTABLE(PERF_PAPC_SU_IDLE, UINT64, AVERAGE),131COUNTABLE(PERF_PAPC_SU_BUSY, UINT64, AVERAGE),132COUNTABLE(PERF_PAPC_SU_STARVED_CLIP, UINT64, AVERAGE),133COUNTABLE(PERF_PAPC_SU_STALLED_SC, UINT64, AVERAGE),134COUNTABLE(PERF_PAPC_SU_FACENESS_CULL, UINT64, AVERAGE),135};136137static const struct fd_perfcntr_countable pa_sc_countables[] = {138COUNTABLE(SC_SR_WINDOW_VALID, UINT64, AVERAGE),139COUNTABLE(SC_CW_WINDOW_VALID, UINT64, AVERAGE),140COUNTABLE(SC_QM_WINDOW_VALID, UINT64, AVERAGE),141COUNTABLE(SC_FW_WINDOW_VALID, UINT64, AVERAGE),142COUNTABLE(SC_EZ_WINDOW_VALID, UINT64, AVERAGE),143COUNTABLE(SC_IT_WINDOW_VALID, UINT64, AVERAGE),144COUNTABLE(SC_STARVED_BY_PA, UINT64, AVERAGE),145COUNTABLE(SC_STALLED_BY_RB_TILE, UINT64, AVERAGE),146COUNTABLE(SC_STALLED_BY_RB_SAMP, UINT64, AVERAGE),147COUNTABLE(SC_STARVED_BY_RB_EZ, UINT64, AVERAGE),148COUNTABLE(SC_STALLED_BY_SAMPLE_FF, UINT64, AVERAGE),149COUNTABLE(SC_STALLED_BY_SQ, UINT64, AVERAGE),150COUNTABLE(SC_STALLED_BY_SP, UINT64, AVERAGE),151COUNTABLE(SC_TOTAL_NO_PRIMS, UINT64, AVERAGE),152COUNTABLE(SC_NON_EMPTY_PRIMS, UINT64, AVERAGE),153COUNTABLE(SC_NO_TILES_PASSING_QM, UINT64, AVERAGE),154COUNTABLE(SC_NO_PIXELS_PRE_EZ, UINT64, AVERAGE),155COUNTABLE(SC_NO_PIXELS_POST_EZ, UINT64, AVERAGE),156};157158static const struct fd_perfcntr_countable vgt_countables[] = {159COUNTABLE(VGT_SQ_EVENT_WINDOW_ACTIVE, UINT64, AVERAGE),160COUNTABLE(VGT_SQ_SEND, UINT64, AVERAGE),161COUNTABLE(VGT_SQ_STALLED, UINT64, AVERAGE),162COUNTABLE(VGT_SQ_STARVED_BUSY, UINT64, AVERAGE),163COUNTABLE(VGT_SQ_STARVED_IDLE, UINT64, AVERAGE),164COUNTABLE(VGT_SQ_STATIC, UINT64, AVERAGE),165COUNTABLE(VGT_PA_EVENT_WINDOW_ACTIVE, UINT64, AVERAGE),166COUNTABLE(VGT_PA_CLIP_V_SEND, UINT64, AVERAGE),167COUNTABLE(VGT_PA_CLIP_V_STALLED, UINT64, AVERAGE),168COUNTABLE(VGT_PA_CLIP_V_STARVED_BUSY, UINT64, AVERAGE),169COUNTABLE(VGT_PA_CLIP_V_STARVED_IDLE, UINT64, AVERAGE),170COUNTABLE(VGT_PA_CLIP_V_STATIC, UINT64, AVERAGE),171COUNTABLE(VGT_PA_CLIP_P_SEND, UINT64, AVERAGE),172COUNTABLE(VGT_PA_CLIP_P_STALLED, UINT64, AVERAGE),173COUNTABLE(VGT_PA_CLIP_P_STARVED_BUSY, UINT64, AVERAGE),174COUNTABLE(VGT_PA_CLIP_P_STARVED_IDLE, UINT64, AVERAGE),175COUNTABLE(VGT_PA_CLIP_P_STATIC, UINT64, AVERAGE),176COUNTABLE(VGT_PA_CLIP_S_SEND, UINT64, AVERAGE),177COUNTABLE(VGT_PA_CLIP_S_STALLED, UINT64, AVERAGE),178COUNTABLE(VGT_PA_CLIP_S_STARVED_BUSY, UINT64, AVERAGE),179COUNTABLE(VGT_PA_CLIP_S_STARVED_IDLE, UINT64, AVERAGE),180COUNTABLE(VGT_PA_CLIP_S_STATIC, UINT64, AVERAGE),181COUNTABLE(RBIU_FIFOS_EVENT_WINDOW_ACTIVE, UINT64, AVERAGE),182COUNTABLE(RBIU_IMMED_DATA_FIFO_STARVED, UINT64, AVERAGE),183COUNTABLE(RBIU_IMMED_DATA_FIFO_STALLED, UINT64, AVERAGE),184COUNTABLE(RBIU_DMA_REQUEST_FIFO_STARVED, UINT64, AVERAGE),185COUNTABLE(RBIU_DMA_REQUEST_FIFO_STALLED, UINT64, AVERAGE),186COUNTABLE(RBIU_DRAW_INITIATOR_FIFO_STARVED, UINT64, AVERAGE),187COUNTABLE(RBIU_DRAW_INITIATOR_FIFO_STALLED, UINT64, AVERAGE),188COUNTABLE(BIN_PRIM_NEAR_CULL, UINT64, AVERAGE),189COUNTABLE(BIN_PRIM_ZERO_CULL, UINT64, AVERAGE),190COUNTABLE(BIN_PRIM_FAR_CULL, UINT64, AVERAGE),191COUNTABLE(BIN_PRIM_BIN_CULL, UINT64, AVERAGE),192COUNTABLE(BIN_PRIM_FACE_CULL, UINT64, AVERAGE),193COUNTABLE(SPARE34, UINT64, AVERAGE),194COUNTABLE(SPARE35, UINT64, AVERAGE),195COUNTABLE(SPARE36, UINT64, AVERAGE),196COUNTABLE(SPARE37, UINT64, AVERAGE),197COUNTABLE(SPARE38, UINT64, AVERAGE),198COUNTABLE(SPARE39, UINT64, AVERAGE),199COUNTABLE(TE_SU_IN_VALID, UINT64, AVERAGE),200COUNTABLE(TE_SU_IN_READ, UINT64, AVERAGE),201COUNTABLE(TE_SU_IN_PRIM, UINT64, AVERAGE),202COUNTABLE(TE_SU_IN_EOP, UINT64, AVERAGE),203COUNTABLE(TE_SU_IN_NULL_PRIM, UINT64, AVERAGE),204COUNTABLE(TE_WK_IN_VALID, UINT64, AVERAGE),205COUNTABLE(TE_WK_IN_READ, UINT64, AVERAGE),206COUNTABLE(TE_OUT_PRIM_VALID, UINT64, AVERAGE),207COUNTABLE(TE_OUT_PRIM_READ, UINT64, AVERAGE),208};209210static const struct fd_perfcntr_countable tcr_countables[] = {211COUNTABLE(DGMMPD_IPMUX0_STALL, UINT64, AVERAGE),212COUNTABLE(DGMMPD_IPMUX_ALL_STALL, UINT64, AVERAGE),213COUNTABLE(OPMUX0_L2_WRITES, UINT64, AVERAGE),214};215216static const struct fd_perfcntr_countable tp0_countables[] = {217COUNTABLE(POINT_QUADS, UINT64, AVERAGE),218COUNTABLE(BILIN_QUADS, UINT64, AVERAGE),219COUNTABLE(ANISO_QUADS, UINT64, AVERAGE),220COUNTABLE(MIP_QUADS, UINT64, AVERAGE),221COUNTABLE(VOL_QUADS, UINT64, AVERAGE),222COUNTABLE(MIP_VOL_QUADS, UINT64, AVERAGE),223COUNTABLE(MIP_ANISO_QUADS, UINT64, AVERAGE),224COUNTABLE(VOL_ANISO_QUADS, UINT64, AVERAGE),225COUNTABLE(ANISO_2_1_QUADS, UINT64, AVERAGE),226COUNTABLE(ANISO_4_1_QUADS, UINT64, AVERAGE),227COUNTABLE(ANISO_6_1_QUADS, UINT64, AVERAGE),228COUNTABLE(ANISO_8_1_QUADS, UINT64, AVERAGE),229COUNTABLE(ANISO_10_1_QUADS, UINT64, AVERAGE),230COUNTABLE(ANISO_12_1_QUADS, UINT64, AVERAGE),231COUNTABLE(ANISO_14_1_QUADS, UINT64, AVERAGE),232COUNTABLE(ANISO_16_1_QUADS, UINT64, AVERAGE),233COUNTABLE(MIP_VOL_ANISO_QUADS, UINT64, AVERAGE),234COUNTABLE(ALIGN_2_QUADS, UINT64, AVERAGE),235COUNTABLE(ALIGN_4_QUADS, UINT64, AVERAGE),236COUNTABLE(PIX_0_QUAD, UINT64, AVERAGE),237COUNTABLE(PIX_1_QUAD, UINT64, AVERAGE),238COUNTABLE(PIX_2_QUAD, UINT64, AVERAGE),239COUNTABLE(PIX_3_QUAD, UINT64, AVERAGE),240COUNTABLE(PIX_4_QUAD, UINT64, AVERAGE),241COUNTABLE(TP_MIPMAP_LOD0, UINT64, AVERAGE),242COUNTABLE(TP_MIPMAP_LOD1, UINT64, AVERAGE),243COUNTABLE(TP_MIPMAP_LOD2, UINT64, AVERAGE),244COUNTABLE(TP_MIPMAP_LOD3, UINT64, AVERAGE),245COUNTABLE(TP_MIPMAP_LOD4, UINT64, AVERAGE),246COUNTABLE(TP_MIPMAP_LOD5, UINT64, AVERAGE),247COUNTABLE(TP_MIPMAP_LOD6, UINT64, AVERAGE),248COUNTABLE(TP_MIPMAP_LOD7, UINT64, AVERAGE),249COUNTABLE(TP_MIPMAP_LOD8, UINT64, AVERAGE),250COUNTABLE(TP_MIPMAP_LOD9, UINT64, AVERAGE),251COUNTABLE(TP_MIPMAP_LOD10, UINT64, AVERAGE),252COUNTABLE(TP_MIPMAP_LOD11, UINT64, AVERAGE),253COUNTABLE(TP_MIPMAP_LOD12, UINT64, AVERAGE),254COUNTABLE(TP_MIPMAP_LOD13, UINT64, AVERAGE),255COUNTABLE(TP_MIPMAP_LOD14, UINT64, AVERAGE),256};257258static const struct fd_perfcntr_countable tcm_countables[] = {259COUNTABLE(QUAD0_RD_LAT_FIFO_EMPTY, UINT64, AVERAGE),260COUNTABLE(QUAD0_RD_LAT_FIFO_4TH_FULL, UINT64, AVERAGE),261COUNTABLE(QUAD0_RD_LAT_FIFO_HALF_FULL, UINT64, AVERAGE),262COUNTABLE(QUAD0_RD_LAT_FIFO_FULL, UINT64, AVERAGE),263COUNTABLE(QUAD0_RD_LAT_FIFO_LT_4TH_FULL, UINT64, AVERAGE),264COUNTABLE(READ_STARVED_QUAD0, UINT64, AVERAGE),265COUNTABLE(READ_STARVED, UINT64, AVERAGE),266COUNTABLE(READ_STALLED_QUAD0, UINT64, AVERAGE),267COUNTABLE(READ_STALLED, UINT64, AVERAGE),268COUNTABLE(VALID_READ_QUAD0, UINT64, AVERAGE),269COUNTABLE(TC_TP_STARVED_QUAD0, UINT64, AVERAGE),270COUNTABLE(TC_TP_STARVED, UINT64, AVERAGE),271};272273static const struct fd_perfcntr_countable tcf_countables[] = {274COUNTABLE(VALID_CYCLES, UINT64, AVERAGE),275COUNTABLE(SINGLE_PHASES, UINT64, AVERAGE),276COUNTABLE(ANISO_PHASES, UINT64, AVERAGE),277COUNTABLE(MIP_PHASES, UINT64, AVERAGE),278COUNTABLE(VOL_PHASES, UINT64, AVERAGE),279COUNTABLE(MIP_VOL_PHASES, UINT64, AVERAGE),280COUNTABLE(MIP_ANISO_PHASES, UINT64, AVERAGE),281COUNTABLE(VOL_ANISO_PHASES, UINT64, AVERAGE),282COUNTABLE(ANISO_2_1_PHASES, UINT64, AVERAGE),283COUNTABLE(ANISO_4_1_PHASES, UINT64, AVERAGE),284COUNTABLE(ANISO_6_1_PHASES, UINT64, AVERAGE),285COUNTABLE(ANISO_8_1_PHASES, UINT64, AVERAGE),286COUNTABLE(ANISO_10_1_PHASES, UINT64, AVERAGE),287COUNTABLE(ANISO_12_1_PHASES, UINT64, AVERAGE),288COUNTABLE(ANISO_14_1_PHASES, UINT64, AVERAGE),289COUNTABLE(ANISO_16_1_PHASES, UINT64, AVERAGE),290COUNTABLE(MIP_VOL_ANISO_PHASES, UINT64, AVERAGE),291COUNTABLE(ALIGN_2_PHASES, UINT64, AVERAGE),292COUNTABLE(ALIGN_4_PHASES, UINT64, AVERAGE),293COUNTABLE(TPC_BUSY, UINT64, AVERAGE),294COUNTABLE(TPC_STALLED, UINT64, AVERAGE),295COUNTABLE(TPC_STARVED, UINT64, AVERAGE),296COUNTABLE(TPC_WORKING, UINT64, AVERAGE),297COUNTABLE(TPC_WALKER_BUSY, UINT64, AVERAGE),298COUNTABLE(TPC_WALKER_STALLED, UINT64, AVERAGE),299COUNTABLE(TPC_WALKER_WORKING, UINT64, AVERAGE),300COUNTABLE(TPC_ALIGNER_BUSY, UINT64, AVERAGE),301COUNTABLE(TPC_ALIGNER_STALLED, UINT64, AVERAGE),302COUNTABLE(TPC_ALIGNER_STALLED_BY_BLEND, UINT64, AVERAGE),303COUNTABLE(TPC_ALIGNER_STALLED_BY_CACHE, UINT64, AVERAGE),304COUNTABLE(TPC_ALIGNER_WORKING, UINT64, AVERAGE),305COUNTABLE(TPC_BLEND_BUSY, UINT64, AVERAGE),306COUNTABLE(TPC_BLEND_SYNC, UINT64, AVERAGE),307COUNTABLE(TPC_BLEND_STARVED, UINT64, AVERAGE),308COUNTABLE(TPC_BLEND_WORKING, UINT64, AVERAGE),309COUNTABLE(OPCODE_0x00, UINT64, AVERAGE),310COUNTABLE(OPCODE_0x01, UINT64, AVERAGE),311COUNTABLE(OPCODE_0x04, UINT64, AVERAGE),312COUNTABLE(OPCODE_0x10, UINT64, AVERAGE),313COUNTABLE(OPCODE_0x11, UINT64, AVERAGE),314COUNTABLE(OPCODE_0x12, UINT64, AVERAGE),315COUNTABLE(OPCODE_0x13, UINT64, AVERAGE),316COUNTABLE(OPCODE_0x18, UINT64, AVERAGE),317COUNTABLE(OPCODE_0x19, UINT64, AVERAGE),318COUNTABLE(OPCODE_0x1A, UINT64, AVERAGE),319COUNTABLE(OPCODE_OTHER, UINT64, AVERAGE),320COUNTABLE(IN_FIFO_0_EMPTY, UINT64, AVERAGE),321COUNTABLE(IN_FIFO_0_LT_HALF_FULL, UINT64, AVERAGE),322COUNTABLE(IN_FIFO_0_HALF_FULL, UINT64, AVERAGE),323COUNTABLE(IN_FIFO_0_FULL, UINT64, AVERAGE),324COUNTABLE(IN_FIFO_TPC_EMPTY, UINT64, AVERAGE),325COUNTABLE(IN_FIFO_TPC_LT_HALF_FULL, UINT64, AVERAGE),326COUNTABLE(IN_FIFO_TPC_HALF_FULL, UINT64, AVERAGE),327COUNTABLE(IN_FIFO_TPC_FULL, UINT64, AVERAGE),328COUNTABLE(TPC_TC_XFC, UINT64, AVERAGE),329COUNTABLE(TPC_TC_STATE, UINT64, AVERAGE),330COUNTABLE(TC_STALL, UINT64, AVERAGE),331COUNTABLE(QUAD0_TAPS, UINT64, AVERAGE),332COUNTABLE(QUADS, UINT64, AVERAGE),333COUNTABLE(TCA_SYNC_STALL, UINT64, AVERAGE),334COUNTABLE(TAG_STALL, UINT64, AVERAGE),335COUNTABLE(TCB_SYNC_STALL, UINT64, AVERAGE),336COUNTABLE(TCA_VALID, UINT64, AVERAGE),337COUNTABLE(PROBES_VALID, UINT64, AVERAGE),338COUNTABLE(MISS_STALL, UINT64, AVERAGE),339COUNTABLE(FETCH_FIFO_STALL, UINT64, AVERAGE),340COUNTABLE(TCO_STALL, UINT64, AVERAGE),341COUNTABLE(ANY_STALL, UINT64, AVERAGE),342COUNTABLE(TAG_MISSES, UINT64, AVERAGE),343COUNTABLE(TAG_HITS, UINT64, AVERAGE),344COUNTABLE(SUB_TAG_MISSES, UINT64, AVERAGE),345COUNTABLE(SET0_INVALIDATES, UINT64, AVERAGE),346COUNTABLE(SET1_INVALIDATES, UINT64, AVERAGE),347COUNTABLE(SET2_INVALIDATES, UINT64, AVERAGE),348COUNTABLE(SET3_INVALIDATES, UINT64, AVERAGE),349COUNTABLE(SET0_TAG_MISSES, UINT64, AVERAGE),350COUNTABLE(SET1_TAG_MISSES, UINT64, AVERAGE),351COUNTABLE(SET2_TAG_MISSES, UINT64, AVERAGE),352COUNTABLE(SET3_TAG_MISSES, UINT64, AVERAGE),353COUNTABLE(SET0_TAG_HITS, UINT64, AVERAGE),354COUNTABLE(SET1_TAG_HITS, UINT64, AVERAGE),355COUNTABLE(SET2_TAG_HITS, UINT64, AVERAGE),356COUNTABLE(SET3_TAG_HITS, UINT64, AVERAGE),357COUNTABLE(SET0_SUB_TAG_MISSES, UINT64, AVERAGE),358COUNTABLE(SET1_SUB_TAG_MISSES, UINT64, AVERAGE),359COUNTABLE(SET2_SUB_TAG_MISSES, UINT64, AVERAGE),360COUNTABLE(SET3_SUB_TAG_MISSES, UINT64, AVERAGE),361COUNTABLE(SET0_EVICT1, UINT64, AVERAGE),362COUNTABLE(SET0_EVICT2, UINT64, AVERAGE),363COUNTABLE(SET0_EVICT3, UINT64, AVERAGE),364COUNTABLE(SET0_EVICT4, UINT64, AVERAGE),365COUNTABLE(SET0_EVICT5, UINT64, AVERAGE),366COUNTABLE(SET0_EVICT6, UINT64, AVERAGE),367COUNTABLE(SET0_EVICT7, UINT64, AVERAGE),368COUNTABLE(SET0_EVICT8, UINT64, AVERAGE),369COUNTABLE(SET1_EVICT1, UINT64, AVERAGE),370COUNTABLE(SET1_EVICT2, UINT64, AVERAGE),371COUNTABLE(SET1_EVICT3, UINT64, AVERAGE),372COUNTABLE(SET1_EVICT4, UINT64, AVERAGE),373COUNTABLE(SET1_EVICT5, UINT64, AVERAGE),374COUNTABLE(SET1_EVICT6, UINT64, AVERAGE),375COUNTABLE(SET1_EVICT7, UINT64, AVERAGE),376COUNTABLE(SET1_EVICT8, UINT64, AVERAGE),377COUNTABLE(SET2_EVICT1, UINT64, AVERAGE),378COUNTABLE(SET2_EVICT2, UINT64, AVERAGE),379COUNTABLE(SET2_EVICT3, UINT64, AVERAGE),380COUNTABLE(SET2_EVICT4, UINT64, AVERAGE),381COUNTABLE(SET2_EVICT5, UINT64, AVERAGE),382COUNTABLE(SET2_EVICT6, UINT64, AVERAGE),383COUNTABLE(SET2_EVICT7, UINT64, AVERAGE),384COUNTABLE(SET2_EVICT8, UINT64, AVERAGE),385COUNTABLE(SET3_EVICT1, UINT64, AVERAGE),386COUNTABLE(SET3_EVICT2, UINT64, AVERAGE),387COUNTABLE(SET3_EVICT3, UINT64, AVERAGE),388COUNTABLE(SET3_EVICT4, UINT64, AVERAGE),389COUNTABLE(SET3_EVICT5, UINT64, AVERAGE),390COUNTABLE(SET3_EVICT6, UINT64, AVERAGE),391COUNTABLE(SET3_EVICT7, UINT64, AVERAGE),392COUNTABLE(SET3_EVICT8, UINT64, AVERAGE),393COUNTABLE(FF_EMPTY, UINT64, AVERAGE),394COUNTABLE(FF_LT_HALF_FULL, UINT64, AVERAGE),395COUNTABLE(FF_HALF_FULL, UINT64, AVERAGE),396COUNTABLE(FF_FULL, UINT64, AVERAGE),397COUNTABLE(FF_XFC, UINT64, AVERAGE),398COUNTABLE(FF_STALLED, UINT64, AVERAGE),399COUNTABLE(FG_MASKS, UINT64, AVERAGE),400COUNTABLE(FG_LEFT_MASKS, UINT64, AVERAGE),401COUNTABLE(FG_LEFT_MASK_STALLED, UINT64, AVERAGE),402COUNTABLE(FG_LEFT_NOT_DONE_STALL, UINT64, AVERAGE),403COUNTABLE(FG_LEFT_FG_STALL, UINT64, AVERAGE),404COUNTABLE(FG_LEFT_SECTORS, UINT64, AVERAGE),405COUNTABLE(FG0_REQUESTS, UINT64, AVERAGE),406COUNTABLE(FG0_STALLED, UINT64, AVERAGE),407COUNTABLE(MEM_REQ512, UINT64, AVERAGE),408COUNTABLE(MEM_REQ_SENT, UINT64, AVERAGE),409COUNTABLE(MEM_LOCAL_READ_REQ, UINT64, AVERAGE),410COUNTABLE(TC0_MH_STALLED, UINT64, AVERAGE),411};412413static const struct fd_perfcntr_countable sq_countables[] = {414COUNTABLE(SQ_PIXEL_VECTORS_SUB, UINT64, AVERAGE),415COUNTABLE(SQ_VERTEX_VECTORS_SUB, UINT64, AVERAGE),416COUNTABLE(SQ_ALU0_ACTIVE_VTX_SIMD0, UINT64, AVERAGE),417COUNTABLE(SQ_ALU1_ACTIVE_VTX_SIMD0, UINT64, AVERAGE),418COUNTABLE(SQ_ALU0_ACTIVE_PIX_SIMD0, UINT64, AVERAGE),419COUNTABLE(SQ_ALU1_ACTIVE_PIX_SIMD0, UINT64, AVERAGE),420COUNTABLE(SQ_ALU0_ACTIVE_VTX_SIMD1, UINT64, AVERAGE),421COUNTABLE(SQ_ALU1_ACTIVE_VTX_SIMD1, UINT64, AVERAGE),422COUNTABLE(SQ_ALU0_ACTIVE_PIX_SIMD1, UINT64, AVERAGE),423COUNTABLE(SQ_ALU1_ACTIVE_PIX_SIMD1, UINT64, AVERAGE),424COUNTABLE(SQ_EXPORT_CYCLES, UINT64, AVERAGE),425COUNTABLE(SQ_ALU_CST_WRITTEN, UINT64, AVERAGE),426COUNTABLE(SQ_TEX_CST_WRITTEN, UINT64, AVERAGE),427COUNTABLE(SQ_ALU_CST_STALL, UINT64, AVERAGE),428COUNTABLE(SQ_ALU_TEX_STALL, UINT64, AVERAGE),429COUNTABLE(SQ_INST_WRITTEN, UINT64, AVERAGE),430COUNTABLE(SQ_BOOLEAN_WRITTEN, UINT64, AVERAGE),431COUNTABLE(SQ_LOOPS_WRITTEN, UINT64, AVERAGE),432COUNTABLE(SQ_PIXEL_SWAP_IN, UINT64, AVERAGE),433COUNTABLE(SQ_PIXEL_SWAP_OUT, UINT64, AVERAGE),434COUNTABLE(SQ_VERTEX_SWAP_IN, UINT64, AVERAGE),435COUNTABLE(SQ_VERTEX_SWAP_OUT, UINT64, AVERAGE),436COUNTABLE(SQ_ALU_VTX_INST_ISSUED, UINT64, AVERAGE),437COUNTABLE(SQ_TEX_VTX_INST_ISSUED, UINT64, AVERAGE),438COUNTABLE(SQ_VC_VTX_INST_ISSUED, UINT64, AVERAGE),439COUNTABLE(SQ_CF_VTX_INST_ISSUED, UINT64, AVERAGE),440COUNTABLE(SQ_ALU_PIX_INST_ISSUED, UINT64, AVERAGE),441COUNTABLE(SQ_TEX_PIX_INST_ISSUED, UINT64, AVERAGE),442COUNTABLE(SQ_VC_PIX_INST_ISSUED, UINT64, AVERAGE),443COUNTABLE(SQ_CF_PIX_INST_ISSUED, UINT64, AVERAGE),444COUNTABLE(SQ_ALU0_FIFO_EMPTY_SIMD0, UINT64, AVERAGE),445COUNTABLE(SQ_ALU1_FIFO_EMPTY_SIMD0, UINT64, AVERAGE),446COUNTABLE(SQ_ALU0_FIFO_EMPTY_SIMD1, UINT64, AVERAGE),447COUNTABLE(SQ_ALU1_FIFO_EMPTY_SIMD1, UINT64, AVERAGE),448COUNTABLE(SQ_ALU_NOPS, UINT64, AVERAGE),449COUNTABLE(SQ_PRED_SKIP, UINT64, AVERAGE),450COUNTABLE(SQ_SYNC_ALU_STALL_SIMD0_VTX, UINT64, AVERAGE),451COUNTABLE(SQ_SYNC_ALU_STALL_SIMD1_VTX, UINT64, AVERAGE),452COUNTABLE(SQ_SYNC_TEX_STALL_VTX, UINT64, AVERAGE),453COUNTABLE(SQ_SYNC_VC_STALL_VTX, UINT64, AVERAGE),454COUNTABLE(SQ_CONSTANTS_USED_SIMD0, UINT64, AVERAGE),455COUNTABLE(SQ_CONSTANTS_SENT_SP_SIMD0, UINT64, AVERAGE),456COUNTABLE(SQ_GPR_STALL_VTX, UINT64, AVERAGE),457COUNTABLE(SQ_GPR_STALL_PIX, UINT64, AVERAGE),458COUNTABLE(SQ_VTX_RS_STALL, UINT64, AVERAGE),459COUNTABLE(SQ_PIX_RS_STALL, UINT64, AVERAGE),460COUNTABLE(SQ_SX_PC_FULL, UINT64, AVERAGE),461COUNTABLE(SQ_SX_EXP_BUFF_FULL, UINT64, AVERAGE),462COUNTABLE(SQ_SX_POS_BUFF_FULL, UINT64, AVERAGE),463COUNTABLE(SQ_INTERP_QUADS, UINT64, AVERAGE),464COUNTABLE(SQ_INTERP_ACTIVE, UINT64, AVERAGE),465COUNTABLE(SQ_IN_PIXEL_STALL, UINT64, AVERAGE),466COUNTABLE(SQ_IN_VTX_STALL, UINT64, AVERAGE),467COUNTABLE(SQ_VTX_CNT, UINT64, AVERAGE),468COUNTABLE(SQ_VTX_VECTOR2, UINT64, AVERAGE),469COUNTABLE(SQ_VTX_VECTOR3, UINT64, AVERAGE),470COUNTABLE(SQ_VTX_VECTOR4, UINT64, AVERAGE),471COUNTABLE(SQ_PIXEL_VECTOR1, UINT64, AVERAGE),472COUNTABLE(SQ_PIXEL_VECTOR23, UINT64, AVERAGE),473COUNTABLE(SQ_PIXEL_VECTOR4, UINT64, AVERAGE),474COUNTABLE(SQ_CONSTANTS_USED_SIMD1, UINT64, AVERAGE),475COUNTABLE(SQ_CONSTANTS_SENT_SP_SIMD1, UINT64, AVERAGE),476COUNTABLE(SQ_SX_MEM_EXP_FULL, UINT64, AVERAGE),477COUNTABLE(SQ_ALU0_ACTIVE_VTX_SIMD2, UINT64, AVERAGE),478COUNTABLE(SQ_ALU1_ACTIVE_VTX_SIMD2, UINT64, AVERAGE),479COUNTABLE(SQ_ALU0_ACTIVE_PIX_SIMD2, UINT64, AVERAGE),480COUNTABLE(SQ_ALU1_ACTIVE_PIX_SIMD2, UINT64, AVERAGE),481COUNTABLE(SQ_ALU0_ACTIVE_VTX_SIMD3, UINT64, AVERAGE),482COUNTABLE(SQ_PERFCOUNT_VTX_QUAL_TP_DONE, UINT64, AVERAGE),483COUNTABLE(SQ_ALU0_ACTIVE_PIX_SIMD3, UINT64, AVERAGE),484COUNTABLE(SQ_PERFCOUNT_PIX_QUAL_TP_DONE, UINT64, AVERAGE),485COUNTABLE(SQ_ALU0_FIFO_EMPTY_SIMD2, UINT64, AVERAGE),486COUNTABLE(SQ_ALU1_FIFO_EMPTY_SIMD2, UINT64, AVERAGE),487COUNTABLE(SQ_ALU0_FIFO_EMPTY_SIMD3, UINT64, AVERAGE),488COUNTABLE(SQ_ALU1_FIFO_EMPTY_SIMD3, UINT64, AVERAGE),489COUNTABLE(SQ_SYNC_ALU_STALL_SIMD2_VTX, UINT64, AVERAGE),490COUNTABLE(SQ_PERFCOUNT_VTX_POP_THREAD, UINT64, AVERAGE),491COUNTABLE(SQ_SYNC_ALU_STALL_SIMD0_PIX, UINT64, AVERAGE),492COUNTABLE(SQ_SYNC_ALU_STALL_SIMD1_PIX, UINT64, AVERAGE),493COUNTABLE(SQ_SYNC_ALU_STALL_SIMD2_PIX, UINT64, AVERAGE),494COUNTABLE(SQ_PERFCOUNT_PIX_POP_THREAD, UINT64, AVERAGE),495COUNTABLE(SQ_SYNC_TEX_STALL_PIX, UINT64, AVERAGE),496COUNTABLE(SQ_SYNC_VC_STALL_PIX, UINT64, AVERAGE),497COUNTABLE(SQ_CONSTANTS_USED_SIMD2, UINT64, AVERAGE),498COUNTABLE(SQ_CONSTANTS_SENT_SP_SIMD2, UINT64, AVERAGE),499COUNTABLE(SQ_PERFCOUNT_VTX_DEALLOC_ACK, UINT64, AVERAGE),500COUNTABLE(SQ_PERFCOUNT_PIX_DEALLOC_ACK, UINT64, AVERAGE),501COUNTABLE(SQ_ALU0_FIFO_FULL_SIMD0, UINT64, AVERAGE),502COUNTABLE(SQ_ALU1_FIFO_FULL_SIMD0, UINT64, AVERAGE),503COUNTABLE(SQ_ALU0_FIFO_FULL_SIMD1, UINT64, AVERAGE),504COUNTABLE(SQ_ALU1_FIFO_FULL_SIMD1, UINT64, AVERAGE),505COUNTABLE(SQ_ALU0_FIFO_FULL_SIMD2, UINT64, AVERAGE),506COUNTABLE(SQ_ALU1_FIFO_FULL_SIMD2, UINT64, AVERAGE),507COUNTABLE(SQ_ALU0_FIFO_FULL_SIMD3, UINT64, AVERAGE),508COUNTABLE(SQ_ALU1_FIFO_FULL_SIMD3, UINT64, AVERAGE),509COUNTABLE(VC_PERF_STATIC, UINT64, AVERAGE),510COUNTABLE(VC_PERF_STALLED, UINT64, AVERAGE),511COUNTABLE(VC_PERF_STARVED, UINT64, AVERAGE),512COUNTABLE(VC_PERF_SEND, UINT64, AVERAGE),513COUNTABLE(VC_PERF_ACTUAL_STARVED, UINT64, AVERAGE),514COUNTABLE(PIXEL_THREAD_0_ACTIVE, UINT64, AVERAGE),515COUNTABLE(VERTEX_THREAD_0_ACTIVE, UINT64, AVERAGE),516COUNTABLE(PIXEL_THREAD_0_NUMBER, UINT64, AVERAGE),517COUNTABLE(VERTEX_THREAD_0_NUMBER, UINT64, AVERAGE),518COUNTABLE(VERTEX_EVENT_NUMBER, UINT64, AVERAGE),519COUNTABLE(PIXEL_EVENT_NUMBER, UINT64, AVERAGE),520COUNTABLE(PTRBUFF_EF_PUSH, UINT64, AVERAGE),521COUNTABLE(PTRBUFF_EF_POP_EVENT, UINT64, AVERAGE),522COUNTABLE(PTRBUFF_EF_POP_NEW_VTX, UINT64, AVERAGE),523COUNTABLE(PTRBUFF_EF_POP_DEALLOC, UINT64, AVERAGE),524COUNTABLE(PTRBUFF_EF_POP_PVECTOR, UINT64, AVERAGE),525COUNTABLE(PTRBUFF_EF_POP_PVECTOR_X, UINT64, AVERAGE),526COUNTABLE(PTRBUFF_EF_POP_PVECTOR_VNZ, UINT64, AVERAGE),527COUNTABLE(PTRBUFF_PB_DEALLOC, UINT64, AVERAGE),528COUNTABLE(PTRBUFF_PI_STATE_PPB_POP, UINT64, AVERAGE),529COUNTABLE(PTRBUFF_PI_RTR, UINT64, AVERAGE),530COUNTABLE(PTRBUFF_PI_READ_EN, UINT64, AVERAGE),531COUNTABLE(PTRBUFF_PI_BUFF_SWAP, UINT64, AVERAGE),532COUNTABLE(PTRBUFF_SQ_FREE_BUFF, UINT64, AVERAGE),533COUNTABLE(PTRBUFF_SQ_DEC, UINT64, AVERAGE),534COUNTABLE(PTRBUFF_SC_VALID_CNTL_EVENT, UINT64, AVERAGE),535COUNTABLE(PTRBUFF_SC_VALID_IJ_XFER, UINT64, AVERAGE),536COUNTABLE(PTRBUFF_SC_NEW_VECTOR_1_Q, UINT64, AVERAGE),537COUNTABLE(PTRBUFF_QUAL_NEW_VECTOR, UINT64, AVERAGE),538COUNTABLE(PTRBUFF_QUAL_EVENT, UINT64, AVERAGE),539COUNTABLE(PTRBUFF_END_BUFFER, UINT64, AVERAGE),540COUNTABLE(PTRBUFF_FILL_QUAD, UINT64, AVERAGE),541COUNTABLE(VERTS_WRITTEN_SPI, UINT64, AVERAGE),542COUNTABLE(TP_FETCH_INSTR_EXEC, UINT64, AVERAGE),543COUNTABLE(TP_FETCH_INSTR_REQ, UINT64, AVERAGE),544COUNTABLE(TP_DATA_RETURN, UINT64, AVERAGE),545COUNTABLE(SPI_WRITE_CYCLES_SP, UINT64, AVERAGE),546COUNTABLE(SPI_WRITES_SP, UINT64, AVERAGE),547COUNTABLE(SP_ALU_INSTR_EXEC, UINT64, AVERAGE),548COUNTABLE(SP_CONST_ADDR_TO_SQ, UINT64, AVERAGE),549COUNTABLE(SP_PRED_KILLS_TO_SQ, UINT64, AVERAGE),550COUNTABLE(SP_EXPORT_CYCLES_TO_SX, UINT64, AVERAGE),551COUNTABLE(SP_EXPORTS_TO_SX, UINT64, AVERAGE),552COUNTABLE(SQ_CYCLES_ELAPSED, UINT64, AVERAGE),553COUNTABLE(SQ_TCFS_OPT_ALLOC_EXEC, UINT64, AVERAGE),554COUNTABLE(SQ_TCFS_NO_OPT_ALLOC, UINT64, AVERAGE),555COUNTABLE(SQ_ALU0_NO_OPT_ALLOC, UINT64, AVERAGE),556COUNTABLE(SQ_ALU1_NO_OPT_ALLOC, UINT64, AVERAGE),557COUNTABLE(SQ_TCFS_ARB_XFC_CNT, UINT64, AVERAGE),558COUNTABLE(SQ_ALU0_ARB_XFC_CNT, UINT64, AVERAGE),559COUNTABLE(SQ_ALU1_ARB_XFC_CNT, UINT64, AVERAGE),560COUNTABLE(SQ_TCFS_CFS_UPDATE_CNT, UINT64, AVERAGE),561COUNTABLE(SQ_ALU0_CFS_UPDATE_CNT, UINT64, AVERAGE),562COUNTABLE(SQ_ALU1_CFS_UPDATE_CNT, UINT64, AVERAGE),563COUNTABLE(SQ_VTX_PUSH_THREAD_CNT, UINT64, AVERAGE),564COUNTABLE(SQ_VTX_POP_THREAD_CNT, UINT64, AVERAGE),565COUNTABLE(SQ_PIX_PUSH_THREAD_CNT, UINT64, AVERAGE),566COUNTABLE(SQ_PIX_POP_THREAD_CNT, UINT64, AVERAGE),567COUNTABLE(SQ_PIX_TOTAL, UINT64, AVERAGE),568COUNTABLE(SQ_PIX_KILLED, UINT64, AVERAGE),569};570571static const struct fd_perfcntr_countable sx_countables[] = {572COUNTABLE(SX_EXPORT_VECTORS, UINT64, AVERAGE),573COUNTABLE(SX_DUMMY_QUADS, UINT64, AVERAGE),574COUNTABLE(SX_ALPHA_FAIL, UINT64, AVERAGE),575COUNTABLE(SX_RB_QUAD_BUSY, UINT64, AVERAGE),576COUNTABLE(SX_RB_COLOR_BUSY, UINT64, AVERAGE),577COUNTABLE(SX_RB_QUAD_STALL, UINT64, AVERAGE),578COUNTABLE(SX_RB_COLOR_STALL, UINT64, AVERAGE),579};580581static const struct fd_perfcntr_countable mh_countables[] = {582COUNTABLE(CP_R0_REQUESTS, UINT64, AVERAGE),583COUNTABLE(CP_R1_REQUESTS, UINT64, AVERAGE),584COUNTABLE(CP_R2_REQUESTS, UINT64, AVERAGE),585COUNTABLE(CP_R3_REQUESTS, UINT64, AVERAGE),586COUNTABLE(CP_R4_REQUESTS, UINT64, AVERAGE),587COUNTABLE(CP_TOTAL_READ_REQUESTS, UINT64, AVERAGE),588COUNTABLE(CP_TOTAL_WRITE_REQUESTS, UINT64, AVERAGE),589COUNTABLE(CP_TOTAL_REQUESTS, UINT64, AVERAGE),590COUNTABLE(CP_DATA_BYTES_WRITTEN, UINT64, AVERAGE),591COUNTABLE(CP_WRITE_CLEAN_RESPONSES, UINT64, AVERAGE),592COUNTABLE(CP_R0_READ_BURSTS_RECEIVED, UINT64, AVERAGE),593COUNTABLE(CP_R1_READ_BURSTS_RECEIVED, UINT64, AVERAGE),594COUNTABLE(CP_R2_READ_BURSTS_RECEIVED, UINT64, AVERAGE),595COUNTABLE(CP_R3_READ_BURSTS_RECEIVED, UINT64, AVERAGE),596COUNTABLE(CP_R4_READ_BURSTS_RECEIVED, UINT64, AVERAGE),597COUNTABLE(CP_TOTAL_READ_BURSTS_RECEIVED, UINT64, AVERAGE),598COUNTABLE(CP_R0_DATA_BEATS_READ, UINT64, AVERAGE),599COUNTABLE(CP_R1_DATA_BEATS_READ, UINT64, AVERAGE),600COUNTABLE(CP_R2_DATA_BEATS_READ, UINT64, AVERAGE),601COUNTABLE(CP_R3_DATA_BEATS_READ, UINT64, AVERAGE),602COUNTABLE(CP_R4_DATA_BEATS_READ, UINT64, AVERAGE),603COUNTABLE(CP_TOTAL_DATA_BEATS_READ, UINT64, AVERAGE),604COUNTABLE(VGT_R0_REQUESTS, UINT64, AVERAGE),605COUNTABLE(VGT_R1_REQUESTS, UINT64, AVERAGE),606COUNTABLE(VGT_TOTAL_REQUESTS, UINT64, AVERAGE),607COUNTABLE(VGT_R0_READ_BURSTS_RECEIVED, UINT64, AVERAGE),608COUNTABLE(VGT_R1_READ_BURSTS_RECEIVED, UINT64, AVERAGE),609COUNTABLE(VGT_TOTAL_READ_BURSTS_RECEIVED, UINT64, AVERAGE),610COUNTABLE(VGT_R0_DATA_BEATS_READ, UINT64, AVERAGE),611COUNTABLE(VGT_R1_DATA_BEATS_READ, UINT64, AVERAGE),612COUNTABLE(VGT_TOTAL_DATA_BEATS_READ, UINT64, AVERAGE),613COUNTABLE(TC_TOTAL_REQUESTS, UINT64, AVERAGE),614COUNTABLE(TC_ROQ_REQUESTS, UINT64, AVERAGE),615COUNTABLE(TC_INFO_SENT, UINT64, AVERAGE),616COUNTABLE(TC_READ_BURSTS_RECEIVED, UINT64, AVERAGE),617COUNTABLE(TC_DATA_BEATS_READ, UINT64, AVERAGE),618COUNTABLE(TCD_BURSTS_READ, UINT64, AVERAGE),619COUNTABLE(RB_REQUESTS, UINT64, AVERAGE),620COUNTABLE(RB_DATA_BYTES_WRITTEN, UINT64, AVERAGE),621COUNTABLE(RB_WRITE_CLEAN_RESPONSES, UINT64, AVERAGE),622COUNTABLE(AXI_READ_REQUESTS_ID_0, UINT64, AVERAGE),623COUNTABLE(AXI_READ_REQUESTS_ID_1, UINT64, AVERAGE),624COUNTABLE(AXI_READ_REQUESTS_ID_2, UINT64, AVERAGE),625COUNTABLE(AXI_READ_REQUESTS_ID_3, UINT64, AVERAGE),626COUNTABLE(AXI_READ_REQUESTS_ID_4, UINT64, AVERAGE),627COUNTABLE(AXI_READ_REQUESTS_ID_5, UINT64, AVERAGE),628COUNTABLE(AXI_READ_REQUESTS_ID_6, UINT64, AVERAGE),629COUNTABLE(AXI_READ_REQUESTS_ID_7, UINT64, AVERAGE),630COUNTABLE(AXI_TOTAL_READ_REQUESTS, UINT64, AVERAGE),631COUNTABLE(AXI_WRITE_REQUESTS_ID_0, UINT64, AVERAGE),632COUNTABLE(AXI_WRITE_REQUESTS_ID_1, UINT64, AVERAGE),633COUNTABLE(AXI_WRITE_REQUESTS_ID_2, UINT64, AVERAGE),634COUNTABLE(AXI_WRITE_REQUESTS_ID_3, UINT64, AVERAGE),635COUNTABLE(AXI_WRITE_REQUESTS_ID_4, UINT64, AVERAGE),636COUNTABLE(AXI_WRITE_REQUESTS_ID_5, UINT64, AVERAGE),637COUNTABLE(AXI_WRITE_REQUESTS_ID_6, UINT64, AVERAGE),638COUNTABLE(AXI_WRITE_REQUESTS_ID_7, UINT64, AVERAGE),639COUNTABLE(AXI_TOTAL_WRITE_REQUESTS, UINT64, AVERAGE),640COUNTABLE(AXI_TOTAL_REQUESTS_ID_0, UINT64, AVERAGE),641COUNTABLE(AXI_TOTAL_REQUESTS_ID_1, UINT64, AVERAGE),642COUNTABLE(AXI_TOTAL_REQUESTS_ID_2, UINT64, AVERAGE),643COUNTABLE(AXI_TOTAL_REQUESTS_ID_3, UINT64, AVERAGE),644COUNTABLE(AXI_TOTAL_REQUESTS_ID_4, UINT64, AVERAGE),645COUNTABLE(AXI_TOTAL_REQUESTS_ID_5, UINT64, AVERAGE),646COUNTABLE(AXI_TOTAL_REQUESTS_ID_6, UINT64, AVERAGE),647COUNTABLE(AXI_TOTAL_REQUESTS_ID_7, UINT64, AVERAGE),648COUNTABLE(AXI_TOTAL_REQUESTS, UINT64, AVERAGE),649COUNTABLE(AXI_READ_CHANNEL_BURSTS_ID_0, UINT64, AVERAGE),650COUNTABLE(AXI_READ_CHANNEL_BURSTS_ID_1, UINT64, AVERAGE),651COUNTABLE(AXI_READ_CHANNEL_BURSTS_ID_2, UINT64, AVERAGE),652COUNTABLE(AXI_READ_CHANNEL_BURSTS_ID_3, UINT64, AVERAGE),653COUNTABLE(AXI_READ_CHANNEL_BURSTS_ID_4, UINT64, AVERAGE),654COUNTABLE(AXI_READ_CHANNEL_BURSTS_ID_5, UINT64, AVERAGE),655COUNTABLE(AXI_READ_CHANNEL_BURSTS_ID_6, UINT64, AVERAGE),656COUNTABLE(AXI_READ_CHANNEL_BURSTS_ID_7, UINT64, AVERAGE),657COUNTABLE(AXI_READ_CHANNEL_TOTAL_BURSTS, UINT64, AVERAGE),658COUNTABLE(AXI_READ_CHANNEL_DATA_BEATS_READ_ID_0, UINT64, AVERAGE),659COUNTABLE(AXI_READ_CHANNEL_DATA_BEATS_READ_ID_1, UINT64, AVERAGE),660COUNTABLE(AXI_READ_CHANNEL_DATA_BEATS_READ_ID_2, UINT64, AVERAGE),661COUNTABLE(AXI_READ_CHANNEL_DATA_BEATS_READ_ID_3, UINT64, AVERAGE),662COUNTABLE(AXI_READ_CHANNEL_DATA_BEATS_READ_ID_4, UINT64, AVERAGE),663COUNTABLE(AXI_READ_CHANNEL_DATA_BEATS_READ_ID_5, UINT64, AVERAGE),664COUNTABLE(AXI_READ_CHANNEL_DATA_BEATS_READ_ID_6, UINT64, AVERAGE),665COUNTABLE(AXI_READ_CHANNEL_DATA_BEATS_READ_ID_7, UINT64, AVERAGE),666COUNTABLE(AXI_READ_CHANNEL_TOTAL_DATA_BEATS_READ, UINT64, AVERAGE),667COUNTABLE(AXI_WRITE_CHANNEL_BURSTS_ID_0, UINT64, AVERAGE),668COUNTABLE(AXI_WRITE_CHANNEL_BURSTS_ID_1, UINT64, AVERAGE),669COUNTABLE(AXI_WRITE_CHANNEL_BURSTS_ID_2, UINT64, AVERAGE),670COUNTABLE(AXI_WRITE_CHANNEL_BURSTS_ID_3, UINT64, AVERAGE),671COUNTABLE(AXI_WRITE_CHANNEL_BURSTS_ID_4, UINT64, AVERAGE),672COUNTABLE(AXI_WRITE_CHANNEL_BURSTS_ID_5, UINT64, AVERAGE),673COUNTABLE(AXI_WRITE_CHANNEL_BURSTS_ID_6, UINT64, AVERAGE),674COUNTABLE(AXI_WRITE_CHANNEL_BURSTS_ID_7, UINT64, AVERAGE),675COUNTABLE(AXI_WRITE_CHANNEL_TOTAL_BURSTS, UINT64, AVERAGE),676COUNTABLE(AXI_WRITE_CHANNEL_DATA_BYTES_WRITTEN_ID_0, UINT64, AVERAGE),677COUNTABLE(AXI_WRITE_CHANNEL_DATA_BYTES_WRITTEN_ID_1, UINT64, AVERAGE),678COUNTABLE(AXI_WRITE_CHANNEL_DATA_BYTES_WRITTEN_ID_2, UINT64, AVERAGE),679COUNTABLE(AXI_WRITE_CHANNEL_DATA_BYTES_WRITTEN_ID_3, UINT64, AVERAGE),680COUNTABLE(AXI_WRITE_CHANNEL_DATA_BYTES_WRITTEN_ID_4, UINT64, AVERAGE),681COUNTABLE(AXI_WRITE_CHANNEL_DATA_BYTES_WRITTEN_ID_5, UINT64, AVERAGE),682COUNTABLE(AXI_WRITE_CHANNEL_DATA_BYTES_WRITTEN_ID_6, UINT64, AVERAGE),683COUNTABLE(AXI_WRITE_CHANNEL_DATA_BYTES_WRITTEN_ID_7, UINT64, AVERAGE),684COUNTABLE(AXI_WRITE_CHANNEL_TOTAL_DATA_BYTES_WRITTEN, UINT64, AVERAGE),685COUNTABLE(AXI_WRITE_RESPONSE_CHANNEL_RESPONSES_ID_0, UINT64, AVERAGE),686COUNTABLE(AXI_WRITE_RESPONSE_CHANNEL_RESPONSES_ID_1, UINT64, AVERAGE),687COUNTABLE(AXI_WRITE_RESPONSE_CHANNEL_RESPONSES_ID_2, UINT64, AVERAGE),688COUNTABLE(AXI_WRITE_RESPONSE_CHANNEL_RESPONSES_ID_3, UINT64, AVERAGE),689COUNTABLE(AXI_WRITE_RESPONSE_CHANNEL_RESPONSES_ID_4, UINT64, AVERAGE),690COUNTABLE(AXI_WRITE_RESPONSE_CHANNEL_RESPONSES_ID_5, UINT64, AVERAGE),691COUNTABLE(AXI_WRITE_RESPONSE_CHANNEL_RESPONSES_ID_6, UINT64, AVERAGE),692COUNTABLE(AXI_WRITE_RESPONSE_CHANNEL_RESPONSES_ID_7, UINT64, AVERAGE),693COUNTABLE(AXI_WRITE_RESPONSE_CHANNEL_TOTAL_RESPONSES, UINT64, AVERAGE),694COUNTABLE(TOTAL_MMU_MISSES, UINT64, AVERAGE),695COUNTABLE(MMU_READ_MISSES, UINT64, AVERAGE),696COUNTABLE(MMU_WRITE_MISSES, UINT64, AVERAGE),697COUNTABLE(TOTAL_MMU_HITS, UINT64, AVERAGE),698COUNTABLE(MMU_READ_HITS, UINT64, AVERAGE),699COUNTABLE(MMU_WRITE_HITS, UINT64, AVERAGE),700COUNTABLE(SPLIT_MODE_TC_HITS, UINT64, AVERAGE),701COUNTABLE(SPLIT_MODE_TC_MISSES, UINT64, AVERAGE),702COUNTABLE(SPLIT_MODE_NON_TC_HITS, UINT64, AVERAGE),703COUNTABLE(SPLIT_MODE_NON_TC_MISSES, UINT64, AVERAGE),704COUNTABLE(STALL_AWAITING_TLB_MISS_FETCH, UINT64, AVERAGE),705COUNTABLE(MMU_TLB_MISS_READ_BURSTS_RECEIVED, UINT64, AVERAGE),706COUNTABLE(MMU_TLB_MISS_DATA_BEATS_READ, UINT64, AVERAGE),707COUNTABLE(CP_CYCLES_HELD_OFF, UINT64, AVERAGE),708COUNTABLE(VGT_CYCLES_HELD_OFF, UINT64, AVERAGE),709COUNTABLE(TC_CYCLES_HELD_OFF, UINT64, AVERAGE),710COUNTABLE(TC_ROQ_CYCLES_HELD_OFF, UINT64, AVERAGE),711COUNTABLE(TC_CYCLES_HELD_OFF_TCD_FULL, UINT64, AVERAGE),712COUNTABLE(RB_CYCLES_HELD_OFF, UINT64, AVERAGE),713COUNTABLE(TOTAL_CYCLES_ANY_CLNT_HELD_OFF, UINT64, AVERAGE),714COUNTABLE(TLB_MISS_CYCLES_HELD_OFF, UINT64, AVERAGE),715COUNTABLE(AXI_READ_REQUEST_HELD_OFF, UINT64, AVERAGE),716COUNTABLE(AXI_WRITE_REQUEST_HELD_OFF, UINT64, AVERAGE),717COUNTABLE(AXI_REQUEST_HELD_OFF, UINT64, AVERAGE),718COUNTABLE(AXI_REQUEST_HELD_OFF_INFLIGHT_LIMIT, UINT64, AVERAGE),719COUNTABLE(AXI_WRITE_DATA_HELD_OFF, UINT64, AVERAGE),720COUNTABLE(CP_SAME_PAGE_BANK_REQUESTS, UINT64, AVERAGE),721COUNTABLE(VGT_SAME_PAGE_BANK_REQUESTS, UINT64, AVERAGE),722COUNTABLE(TC_SAME_PAGE_BANK_REQUESTS, UINT64, AVERAGE),723COUNTABLE(TC_ARB_HOLD_SAME_PAGE_BANK_REQUESTS, UINT64, AVERAGE),724COUNTABLE(RB_SAME_PAGE_BANK_REQUESTS, UINT64, AVERAGE),725COUNTABLE(TOTAL_SAME_PAGE_BANK_REQUESTS, UINT64, AVERAGE),726COUNTABLE(CP_SAME_PAGE_BANK_REQUESTS_KILLED_FAIRNESS_LIMIT, UINT64, AVERAGE),727COUNTABLE(VGT_SAME_PAGE_BANK_REQUESTS_KILLED_FAIRNESS_LIMIT, UINT64, AVERAGE),728COUNTABLE(TC_SAME_PAGE_BANK_REQUESTS_KILLED_FAIRNESS_LIMIT, UINT64, AVERAGE),729COUNTABLE(RB_SAME_PAGE_BANK_REQUESTS_KILLED_FAIRNESS_LIMIT, UINT64, AVERAGE),730COUNTABLE(TOTAL_SAME_PAGE_BANK_KILLED_FAIRNESS_LIMIT, UINT64, AVERAGE),731COUNTABLE(TOTAL_MH_READ_REQUESTS, UINT64, AVERAGE),732COUNTABLE(TOTAL_MH_WRITE_REQUESTS, UINT64, AVERAGE),733COUNTABLE(TOTAL_MH_REQUESTS, UINT64, AVERAGE),734COUNTABLE(MH_BUSY, UINT64, AVERAGE),735COUNTABLE(CP_NTH_ACCESS_SAME_PAGE_BANK_SEQUENCE, UINT64, AVERAGE),736COUNTABLE(VGT_NTH_ACCESS_SAME_PAGE_BANK_SEQUENCE, UINT64, AVERAGE),737COUNTABLE(TC_NTH_ACCESS_SAME_PAGE_BANK_SEQUENCE, UINT64, AVERAGE),738COUNTABLE(RB_NTH_ACCESS_SAME_PAGE_BANK_SEQUENCE, UINT64, AVERAGE),739COUNTABLE(TC_ROQ_N_VALID_ENTRIES, UINT64, AVERAGE),740COUNTABLE(ARQ_N_ENTRIES, UINT64, AVERAGE),741COUNTABLE(WDB_N_ENTRIES, UINT64, AVERAGE),742COUNTABLE(MH_READ_LATENCY_OUTST_REQ_SUM, UINT64, AVERAGE),743COUNTABLE(MC_READ_LATENCY_OUTST_REQ_SUM, UINT64, AVERAGE),744COUNTABLE(MC_TOTAL_READ_REQUESTS, UINT64, AVERAGE),745COUNTABLE(ELAPSED_CYCLES_MH_GATED_CLK, UINT64, AVERAGE),746COUNTABLE(ELAPSED_CLK_CYCLES, UINT64, AVERAGE),747COUNTABLE(CP_W_16B_REQUESTS, UINT64, AVERAGE),748COUNTABLE(CP_W_32B_REQUESTS, UINT64, AVERAGE),749COUNTABLE(TC_16B_REQUESTS, UINT64, AVERAGE),750COUNTABLE(TC_32B_REQUESTS, UINT64, AVERAGE),751COUNTABLE(PA_REQUESTS, UINT64, AVERAGE),752COUNTABLE(PA_DATA_BYTES_WRITTEN, UINT64, AVERAGE),753COUNTABLE(PA_WRITE_CLEAN_RESPONSES, UINT64, AVERAGE),754COUNTABLE(PA_CYCLES_HELD_OFF, UINT64, AVERAGE),755COUNTABLE(AXI_READ_REQUEST_DATA_BEATS_ID_0, UINT64, AVERAGE),756COUNTABLE(AXI_READ_REQUEST_DATA_BEATS_ID_1, UINT64, AVERAGE),757COUNTABLE(AXI_READ_REQUEST_DATA_BEATS_ID_2, UINT64, AVERAGE),758COUNTABLE(AXI_READ_REQUEST_DATA_BEATS_ID_3, UINT64, AVERAGE),759COUNTABLE(AXI_READ_REQUEST_DATA_BEATS_ID_4, UINT64, AVERAGE),760COUNTABLE(AXI_READ_REQUEST_DATA_BEATS_ID_5, UINT64, AVERAGE),761COUNTABLE(AXI_READ_REQUEST_DATA_BEATS_ID_6, UINT64, AVERAGE),762COUNTABLE(AXI_READ_REQUEST_DATA_BEATS_ID_7, UINT64, AVERAGE),763COUNTABLE(AXI_TOTAL_READ_REQUEST_DATA_BEATS, UINT64, AVERAGE),764};765766static const struct fd_perfcntr_countable rb_countables[] = {767COUNTABLE(RBPERF_CNTX_BUSY, UINT64, AVERAGE),768COUNTABLE(RBPERF_CNTX_BUSY_MAX, UINT64, AVERAGE),769COUNTABLE(RBPERF_SX_QUAD_STARVED, UINT64, AVERAGE),770COUNTABLE(RBPERF_SX_QUAD_STARVED_MAX, UINT64, AVERAGE),771COUNTABLE(RBPERF_GA_GC_CH0_SYS_REQ, UINT64, AVERAGE),772COUNTABLE(RBPERF_GA_GC_CH0_SYS_REQ_MAX, UINT64, AVERAGE),773COUNTABLE(RBPERF_GA_GC_CH1_SYS_REQ, UINT64, AVERAGE),774COUNTABLE(RBPERF_GA_GC_CH1_SYS_REQ_MAX, UINT64, AVERAGE),775COUNTABLE(RBPERF_MH_STARVED, UINT64, AVERAGE),776COUNTABLE(RBPERF_MH_STARVED_MAX, UINT64, AVERAGE),777COUNTABLE(RBPERF_AZ_BC_COLOR_BUSY, UINT64, AVERAGE),778COUNTABLE(RBPERF_AZ_BC_COLOR_BUSY_MAX, UINT64, AVERAGE),779COUNTABLE(RBPERF_AZ_BC_Z_BUSY, UINT64, AVERAGE),780COUNTABLE(RBPERF_AZ_BC_Z_BUSY_MAX, UINT64, AVERAGE),781COUNTABLE(RBPERF_RB_SC_TILE_RTR_N, UINT64, AVERAGE),782COUNTABLE(RBPERF_RB_SC_TILE_RTR_N_MAX, UINT64, AVERAGE),783COUNTABLE(RBPERF_RB_SC_SAMP_RTR_N, UINT64, AVERAGE),784COUNTABLE(RBPERF_RB_SC_SAMP_RTR_N_MAX, UINT64, AVERAGE),785COUNTABLE(RBPERF_RB_SX_QUAD_RTR_N, UINT64, AVERAGE),786COUNTABLE(RBPERF_RB_SX_QUAD_RTR_N_MAX, UINT64, AVERAGE),787COUNTABLE(RBPERF_RB_SX_COLOR_RTR_N, UINT64, AVERAGE),788COUNTABLE(RBPERF_RB_SX_COLOR_RTR_N_MAX, UINT64, AVERAGE),789COUNTABLE(RBPERF_RB_SC_SAMP_LZ_BUSY, UINT64, AVERAGE),790COUNTABLE(RBPERF_RB_SC_SAMP_LZ_BUSY_MAX, UINT64, AVERAGE),791COUNTABLE(RBPERF_ZXP_STALL, UINT64, AVERAGE),792COUNTABLE(RBPERF_ZXP_STALL_MAX, UINT64, AVERAGE),793COUNTABLE(RBPERF_EVENT_PENDING, UINT64, AVERAGE),794COUNTABLE(RBPERF_EVENT_PENDING_MAX, UINT64, AVERAGE),795COUNTABLE(RBPERF_RB_MH_VALID, UINT64, AVERAGE),796COUNTABLE(RBPERF_RB_MH_VALID_MAX, UINT64, AVERAGE),797COUNTABLE(RBPERF_SX_RB_QUAD_SEND, UINT64, AVERAGE),798COUNTABLE(RBPERF_SX_RB_COLOR_SEND, UINT64, AVERAGE),799COUNTABLE(RBPERF_SC_RB_TILE_SEND, UINT64, AVERAGE),800COUNTABLE(RBPERF_SC_RB_SAMPLE_SEND, UINT64, AVERAGE),801COUNTABLE(RBPERF_SX_RB_MEM_EXPORT, UINT64, AVERAGE),802COUNTABLE(RBPERF_SX_RB_QUAD_EVENT, UINT64, AVERAGE),803COUNTABLE(RBPERF_SC_RB_TILE_EVENT_FILTERED, UINT64, AVERAGE),804COUNTABLE(RBPERF_SC_RB_TILE_EVENT_ALL, UINT64, AVERAGE),805COUNTABLE(RBPERF_RB_SC_EZ_SEND, UINT64, AVERAGE),806COUNTABLE(RBPERF_RB_SX_INDEX_SEND, UINT64, AVERAGE),807COUNTABLE(RBPERF_GMEM_INTFO_RD, UINT64, AVERAGE),808COUNTABLE(RBPERF_GMEM_INTF1_RD, UINT64, AVERAGE),809COUNTABLE(RBPERF_GMEM_INTFO_WR, UINT64, AVERAGE),810COUNTABLE(RBPERF_GMEM_INTF1_WR, UINT64, AVERAGE),811COUNTABLE(RBPERF_RB_CP_CONTEXT_DONE, UINT64, AVERAGE),812COUNTABLE(RBPERF_RB_CP_CACHE_FLUSH, UINT64, AVERAGE),813COUNTABLE(RBPERF_ZPASS_DONE, UINT64, AVERAGE),814COUNTABLE(RBPERF_ZCMD_VALID, UINT64, AVERAGE),815COUNTABLE(RBPERF_CCMD_VALID, UINT64, AVERAGE),816COUNTABLE(RBPERF_ACCUM_GRANT, UINT64, AVERAGE),817COUNTABLE(RBPERF_ACCUM_C0_GRANT, UINT64, AVERAGE),818COUNTABLE(RBPERF_ACCUM_C1_GRANT, UINT64, AVERAGE),819COUNTABLE(RBPERF_ACCUM_FULL_BE_WR, UINT64, AVERAGE),820COUNTABLE(RBPERF_ACCUM_REQUEST_NO_GRANT, UINT64, AVERAGE),821COUNTABLE(RBPERF_ACCUM_TIMEOUT_PULSE, UINT64, AVERAGE),822COUNTABLE(RBPERF_ACCUM_LIN_TIMEOUT_PULSE, UINT64, AVERAGE),823COUNTABLE(RBPERF_ACCUM_CAM_HIT_FLUSHING, UINT64, AVERAGE),824};825826static const struct fd_perfcntr_counter pa_su_counters[] = {827COUNTER(PA_SU_PERFCOUNTER0_SELECT, PA_SU_PERFCOUNTER0_LOW, PA_SU_PERFCOUNTER0_HI),828COUNTER(PA_SU_PERFCOUNTER1_SELECT, PA_SU_PERFCOUNTER1_LOW, PA_SU_PERFCOUNTER1_HI),829COUNTER(PA_SU_PERFCOUNTER2_SELECT, PA_SU_PERFCOUNTER2_LOW, PA_SU_PERFCOUNTER2_HI),830COUNTER(PA_SU_PERFCOUNTER3_SELECT, PA_SU_PERFCOUNTER3_LOW, PA_SU_PERFCOUNTER3_HI),831};832833static const struct fd_perfcntr_counter pa_sc_counters[] = {834COUNTER(PA_SC_PERFCOUNTER0_SELECT, PA_SC_PERFCOUNTER0_LOW, PA_SC_PERFCOUNTER0_HI),835};836837static const struct fd_perfcntr_counter vgt_counters[] = {838COUNTER(VGT_PERFCOUNTER0_SELECT, VGT_PERFCOUNTER0_LOW, VGT_PERFCOUNTER0_HI),839COUNTER(VGT_PERFCOUNTER1_SELECT, VGT_PERFCOUNTER1_LOW, VGT_PERFCOUNTER1_HI),840COUNTER(VGT_PERFCOUNTER2_SELECT, VGT_PERFCOUNTER2_LOW, VGT_PERFCOUNTER2_HI),841COUNTER(VGT_PERFCOUNTER3_SELECT, VGT_PERFCOUNTER3_LOW, VGT_PERFCOUNTER3_HI),842};843844static const struct fd_perfcntr_counter tcr_counters[] = {845COUNTER(TCR_PERFCOUNTER0_SELECT, TCR_PERFCOUNTER0_LOW, TCR_PERFCOUNTER0_HI),846COUNTER(TCR_PERFCOUNTER1_SELECT, TCR_PERFCOUNTER1_LOW, TCR_PERFCOUNTER1_HI),847};848849static const struct fd_perfcntr_counter tp0_counters[] = {850COUNTER(TP0_PERFCOUNTER0_SELECT, TP0_PERFCOUNTER0_LOW, TP0_PERFCOUNTER0_HI),851COUNTER(TP0_PERFCOUNTER1_SELECT, TP0_PERFCOUNTER1_LOW, TP0_PERFCOUNTER1_HI),852};853854static const struct fd_perfcntr_counter tcm_counters[] = {855COUNTER(TCM_PERFCOUNTER0_SELECT, TCM_PERFCOUNTER0_LOW, TCM_PERFCOUNTER0_HI),856COUNTER(TCM_PERFCOUNTER1_SELECT, TCM_PERFCOUNTER1_LOW, TCM_PERFCOUNTER1_HI),857};858859static const struct fd_perfcntr_counter tcf_counters[] = {860COUNTER(TCF_PERFCOUNTER0_SELECT, TCF_PERFCOUNTER0_LOW, TCF_PERFCOUNTER0_HI),861COUNTER(TCF_PERFCOUNTER1_SELECT, TCF_PERFCOUNTER1_LOW, TCF_PERFCOUNTER1_HI),862COUNTER(TCF_PERFCOUNTER2_SELECT, TCF_PERFCOUNTER2_LOW, TCF_PERFCOUNTER2_HI),863COUNTER(TCF_PERFCOUNTER3_SELECT, TCF_PERFCOUNTER3_LOW, TCF_PERFCOUNTER3_HI),864COUNTER(TCF_PERFCOUNTER4_SELECT, TCF_PERFCOUNTER4_LOW, TCF_PERFCOUNTER4_HI),865COUNTER(TCF_PERFCOUNTER5_SELECT, TCF_PERFCOUNTER5_LOW, TCF_PERFCOUNTER5_HI),866COUNTER(TCF_PERFCOUNTER6_SELECT, TCF_PERFCOUNTER6_LOW, TCF_PERFCOUNTER6_HI),867COUNTER(TCF_PERFCOUNTER7_SELECT, TCF_PERFCOUNTER7_LOW, TCF_PERFCOUNTER7_HI),868COUNTER(TCF_PERFCOUNTER8_SELECT, TCF_PERFCOUNTER8_LOW, TCF_PERFCOUNTER8_HI),869COUNTER(TCF_PERFCOUNTER9_SELECT, TCF_PERFCOUNTER9_LOW, TCF_PERFCOUNTER9_HI),870COUNTER(TCF_PERFCOUNTER10_SELECT, TCF_PERFCOUNTER10_LOW, TCF_PERFCOUNTER10_HI),871COUNTER(TCF_PERFCOUNTER11_SELECT, TCF_PERFCOUNTER11_LOW, TCF_PERFCOUNTER11_HI),872};873874static const struct fd_perfcntr_counter sq_counters[] = {875COUNTER(SQ_PERFCOUNTER0_SELECT, SQ_PERFCOUNTER0_LOW, SQ_PERFCOUNTER0_HI),876COUNTER(SQ_PERFCOUNTER1_SELECT, SQ_PERFCOUNTER1_LOW, SQ_PERFCOUNTER1_HI),877COUNTER(SQ_PERFCOUNTER2_SELECT, SQ_PERFCOUNTER2_LOW, SQ_PERFCOUNTER2_HI),878COUNTER(SQ_PERFCOUNTER3_SELECT, SQ_PERFCOUNTER3_LOW, SQ_PERFCOUNTER3_HI),879};880881static const struct fd_perfcntr_countable rbbm_countables[] = {882COUNTABLE(RBBM1_COUNT, UINT64, AVERAGE),883COUNTABLE(RBBM1_NRT_BUSY, UINT64, AVERAGE),884COUNTABLE(RBBM1_RB_BUSY, UINT64, AVERAGE),885COUNTABLE(RBBM1_SQ_CNTX0_BUSY, UINT64, AVERAGE),886COUNTABLE(RBBM1_SQ_CNTX17_BUSY, UINT64, AVERAGE),887COUNTABLE(RBBM1_VGT_BUSY, UINT64, AVERAGE),888COUNTABLE(RBBM1_VGT_NODMA_BUSY, UINT64, AVERAGE),889COUNTABLE(RBBM1_PA_BUSY, UINT64, AVERAGE),890COUNTABLE(RBBM1_SC_CNTX_BUSY, UINT64, AVERAGE),891COUNTABLE(RBBM1_TPC_BUSY, UINT64, AVERAGE),892COUNTABLE(RBBM1_TC_BUSY, UINT64, AVERAGE),893COUNTABLE(RBBM1_SX_BUSY, UINT64, AVERAGE),894COUNTABLE(RBBM1_CP_COHER_BUSY, UINT64, AVERAGE),895COUNTABLE(RBBM1_CP_NRT_BUSY, UINT64, AVERAGE),896COUNTABLE(RBBM1_GFX_IDLE_STALL, UINT64, AVERAGE),897COUNTABLE(RBBM1_INTERRUPT, UINT64, AVERAGE),898};899900static const struct fd_perfcntr_countable cp_countables[] = {901COUNTABLE(ALWAYS_COUNT, UINT64, AVERAGE),902COUNTABLE(TRANS_FIFO_FULL, UINT64, AVERAGE),903COUNTABLE(TRANS_FIFO_AF, UINT64, AVERAGE),904COUNTABLE(RCIU_PFPTRANS_WAIT, UINT64, AVERAGE),905COUNTABLE(RCIU_NRTTRANS_WAIT, UINT64, AVERAGE),906COUNTABLE(CSF_NRT_READ_WAIT, UINT64, AVERAGE),907COUNTABLE(CSF_I1_FIFO_FULL, UINT64, AVERAGE),908COUNTABLE(CSF_I2_FIFO_FULL, UINT64, AVERAGE),909COUNTABLE(CSF_ST_FIFO_FULL, UINT64, AVERAGE),910COUNTABLE(CSF_RING_ROQ_FULL, UINT64, AVERAGE),911COUNTABLE(CSF_I1_ROQ_FULL, UINT64, AVERAGE),912COUNTABLE(CSF_I2_ROQ_FULL, UINT64, AVERAGE),913COUNTABLE(CSF_ST_ROQ_FULL, UINT64, AVERAGE),914COUNTABLE(MIU_TAG_MEM_FULL, UINT64, AVERAGE),915COUNTABLE(MIU_WRITECLEAN, UINT64, AVERAGE),916COUNTABLE(MIU_NRT_WRITE_STALLED, UINT64, AVERAGE),917COUNTABLE(MIU_NRT_READ_STALLED, UINT64, AVERAGE),918COUNTABLE(ME_WRITE_CONFIRM_FIFO_FULL, UINT64, AVERAGE),919COUNTABLE(ME_VS_DEALLOC_FIFO_FULL, UINT64, AVERAGE),920COUNTABLE(ME_PS_DEALLOC_FIFO_FULL, UINT64, AVERAGE),921COUNTABLE(ME_REGS_VS_EVENT_FIFO_FULL, UINT64, AVERAGE),922COUNTABLE(ME_REGS_PS_EVENT_FIFO_FULL, UINT64, AVERAGE),923COUNTABLE(ME_REGS_CF_EVENT_FIFO_FULL, UINT64, AVERAGE),924COUNTABLE(ME_MICRO_RB_STARVED, UINT64, AVERAGE),925COUNTABLE(ME_MICRO_I1_STARVED, UINT64, AVERAGE),926COUNTABLE(ME_MICRO_I2_STARVED, UINT64, AVERAGE),927COUNTABLE(ME_MICRO_ST_STARVED, UINT64, AVERAGE),928COUNTABLE(RCIU_RBBM_DWORD_SENT, UINT64, AVERAGE),929COUNTABLE(ME_BUSY_CLOCKS, UINT64, AVERAGE),930COUNTABLE(ME_WAIT_CONTEXT_AVAIL, UINT64, AVERAGE),931COUNTABLE(PFP_TYPE0_PACKET, UINT64, AVERAGE),932COUNTABLE(PFP_TYPE3_PACKET, UINT64, AVERAGE),933COUNTABLE(CSF_RB_WPTR_NEQ_RPTR, UINT64, AVERAGE),934COUNTABLE(CSF_I1_SIZE_NEQ_ZERO, UINT64, AVERAGE),935COUNTABLE(CSF_I2_SIZE_NEQ_ZERO, UINT64, AVERAGE),936COUNTABLE(CSF_RBI1I2_FETCHING, UINT64, AVERAGE),937};938939static const struct fd_perfcntr_counter sx_counters[] = {940COUNTER(SX_PERFCOUNTER0_SELECT, SX_PERFCOUNTER0_LOW, SX_PERFCOUNTER0_HI),941};942943static const struct fd_perfcntr_counter mh_counters[] = {944COUNTER(MH_PERFCOUNTER0_SELECT, MH_PERFCOUNTER0_LOW, MH_PERFCOUNTER0_HI),945COUNTER(MH_PERFCOUNTER1_SELECT, MH_PERFCOUNTER1_LOW, MH_PERFCOUNTER1_HI),946};947948static const struct fd_perfcntr_counter rbbm_counters[] = {949COUNTER(RBBM_PERFCOUNTER0_SELECT, RBBM_PERFCOUNTER0_LO, RBBM_PERFCOUNTER0_HI),950COUNTER(RBBM_PERFCOUNTER1_SELECT, RBBM_PERFCOUNTER1_LO, RBBM_PERFCOUNTER1_HI),951};952953static const struct fd_perfcntr_counter cp_counters[] = {954COUNTER(CP_PERFCOUNTER_SELECT, CP_PERFCOUNTER_LO, CP_PERFCOUNTER_HI),955};956957static const struct fd_perfcntr_counter rb_counters[] = {958COUNTER(RB_PERFCOUNTER0_SELECT, RB_PERFCOUNTER0_LOW, RB_PERFCOUNTER0_HI),959COUNTER(RB_PERFCOUNTER1_SELECT, RB_PERFCOUNTER1_LOW, RB_PERFCOUNTER1_HI),960COUNTER(RB_PERFCOUNTER2_SELECT, RB_PERFCOUNTER2_LOW, RB_PERFCOUNTER2_HI),961COUNTER(RB_PERFCOUNTER3_SELECT, RB_PERFCOUNTER3_LOW, RB_PERFCOUNTER3_HI),962};963964const struct fd_perfcntr_group a2xx_perfcntr_groups[] = {965GROUP("CP", cp_counters, cp_countables),966GROUP("PA_SU", pa_su_counters, pa_su_countables),967GROUP("PA_SC", pa_sc_counters, pa_sc_countables),968GROUP("VGT", vgt_counters, vgt_countables),969GROUP("TCR", tcr_counters, tcr_countables),970GROUP("TP0", tp0_counters, tp0_countables),971GROUP("TCM", tcm_counters, tcm_countables),972GROUP("TCF", tcf_counters, tcf_countables),973GROUP("SQ", sq_counters, sq_countables),974GROUP("SX", sx_counters, sx_countables),975GROUP("MH", mh_counters, mh_countables),976GROUP("RBBM", rbbm_counters, rbbm_countables),977GROUP("RB", rb_counters, rb_countables),978};979980const unsigned a2xx_num_perfcntr_groups = ARRAY_SIZE(a2xx_perfcntr_groups);981982983