freedreno/pps: Expose same counters as blob
Expose most of the counters exposed by blob. By faking the value of counters returned from kgsl I found the exact underlying counters and constant coefficients being used.
Note, coefficients for counters that depend on time are NOT verified.
p.s. these are the counters used by blob:
(click me)
count: 43
group[0].groupid: 27 KGSL_PERFCOUNTER_GROUP_ALWAYSON
group[0].countable: 0
group[0].value: 8833188550096397963
group[1].groupid: 0 KGSL_PERFCOUNTER_GROUP_CP
group[1].countable: 0 PERF_CP_ALWAYS_COUNT
group[1].value: 4990975998021
group[2].groupid: 1 KGSL_PERFCOUNTER_GROUP_RBBM
group[2].countable: 6 PERF_RBBM_STATUS_MASKED
group[2].value: 1126557591332144
group[3].groupid: 8 KGSL_PERFCOUNTER_GROUP_UCHE
group[3].countable: 1 PERF_UCHE_STALL_CYCLES_ARBITER
group[3].value: 703700326663425
group[4].groupid: 13 KGSL_PERFCOUNTER_GROUP_VBIF
group[4].countable: 85
group[4].value: 4751807528
group[5].groupid: 2 KGSL_PERFCOUNTER_GROUP_PC
group[5].countable: 2 PERF_PC_STALL_CYCLES_VFD
group[5].value: 4611967732571928836
group[6].groupid: 10 KGSL_PERFCOUNTER_GROUP_SP
group[6].countable: 4 PERF_SP_STALL_CYCLES_TP
group[6].value: 36029544746035088
group[7].groupid: 4 KGSL_PERFCOUNTER_GROUP_HLSQ
group[7].countable: 8 PERF_HLSQ_QUADS
group[7].value: 72198494085062431
group[8].groupid: 9 KGSL_PERFCOUNTER_GROUP_TP
group[8].countable: 7 PERF_TP_L1_CACHELINE_MISSES
group[8].value: 18015693954184628
group[9].groupid: 9 KGSL_PERFCOUNTER_GROUP_TP
group[9].countable: 6 PERF_TP_L1_CACHELINE_REQUESTS
group[9].value: 18020749701535499
group[10].groupid: 8 KGSL_PERFCOUNTER_GROUP_UCHE
group[10].countable: 4 PERF_UCHE_VBIF_READ_BEATS_TP
group[10].value: 18014415525840052
group[11].groupid: 8 KGSL_PERFCOUNTER_GROUP_UCHE
group[11].countable: 9 PERF_UCHE_READ_REQUESTS_TP
group[11].value: 4612813967296467561
group[12].groupid: 6 KGSL_PERFCOUNTER_GROUP_TSE
group[12].countable: 6 PERF_TSE_INPUT_PRIM
group[12].value: 4616189650310387182
group[13].groupid: 6 KGSL_PERFCOUNTER_GROUP_TSE
group[13].countable: 8 PERF_TSE_TRIVAL_REJ_PRIM
group[13].value: 172514244730
group[14].groupid: 6 KGSL_PERFCOUNTER_GROUP_TSE
group[14].countable: 9 PERF_TSE_CLIPPED_PRIM
group[14].value: 76565866690371576
group[15].groupid: 2 KGSL_PERFCOUNTER_GROUP_PC
group[15].countable: 26 PERF_PC_VS_INVOCATIONS
group[15].value: 18018823544966933
group[16].groupid: 2 KGSL_PERFCOUNTER_GROUP_PC
group[16].countable: 20 PERF_PC_VERTEX_HITS
group[16].value: 35761503912056
group[17].groupid: 6 KGSL_PERFCOUNTER_GROUP_TSE
group[17].countable: 14 PERF_TSE_OUTPUT_VISIBLE_PRIM
group[17].value: 36169547618359930
group[18].groupid: 10 KGSL_PERFCOUNTER_GROUP_SP
group[18].countable: 0 PERF_SP_BUSY_CYCLES
group[18].value: 1450723045725359318
group[19].groupid: 9 KGSL_PERFCOUNTER_GROUP_TP
group[19].countable: 0 PERF_TP_BUSY_CYCLES
group[19].value: 2646672453246
group[20].groupid: 10 KGSL_PERFCOUNTER_GROUP_SP
group[20].countable: 34 PERF_SP_VS_STAGE_EFU_INSTRUCTIONS
group[20].value: 235247962
group[21].groupid: 10 KGSL_PERFCOUNTER_GROUP_SP
group[21].countable: 35 PERF_SP_VS_STAGE_FULL_ALU_INSTRUCTIONS
group[21].value: 45072240595108483
group[22].groupid: 10 KGSL_PERFCOUNTER_GROUP_SP
group[22].countable: 39 PERF_SP_FS_STAGE_EFU_INSTRUCTIONS
group[22].value: 688702377978
group[23].groupid: 10 KGSL_PERFCOUNTER_GROUP_SP
group[23].countable: 40 PERF_SP_FS_STAGE_FULL_ALU_INSTRUCTIONS
group[23].value: 574697552362324
group[24].groupid: 10 KGSL_PERFCOUNTER_GROUP_SP
group[24].countable: 41 PERF_SP_FS_STAGE_HALF_ALU_INSTRUCTIONS
group[24].value: 18049807458014524
group[25].groupid: 10 KGSL_PERFCOUNTER_GROUP_SP
group[25].countable: 33 PERF_SP_VS_STAGE_TEX_INSTRUCTIONS
group[25].value: 222665930
group[26].groupid: 9 KGSL_PERFCOUNTER_GROUP_TP
group[26].countable: 10 PERF_TP_OUTPUT_PIXELS
group[26].value: 980222796150
group[27].groupid: 10 KGSL_PERFCOUNTER_GROUP_SP
group[27].countable: 74 PERF_SP_ANY_EU_WORKING_FS_STAGE
group[27].value: 36029928075896519
group[28].groupid: 10 KGSL_PERFCOUNTER_GROUP_SP
group[28].countable: 76 PERF_SP_ANY_EU_WORKING_VS_STAGE
group[28].value: 655344181186988819
group[29].groupid: 10 KGSL_PERFCOUNTER_GROUP_SP
group[29].countable: 78 PERF_SP_ANY_EU_WORKING_CS_STAGE
group[29].value: 9433810102258858
group[30].groupid: 10 KGSL_PERFCOUNTER_GROUP_SP
group[30].countable: 1 PERF_SP_ALU_WORKING_CYCLES
group[30].value: 18015081463954270
group[31].groupid: 10 KGSL_PERFCOUNTER_GROUP_SP
group[31].countable: 2 PERF_SP_EFU_WORKING_CYCLES
group[31].value: 36116946543382392
group[32].groupid: 9 KGSL_PERFCOUNTER_GROUP_TP
group[32].countable: 25 PERF_TP_OUTPUT_PIXELS_POINT
group[32].value: 72057597895800304
group[33].groupid: 9 KGSL_PERFCOUNTER_GROUP_TP
group[33].countable: 26 PERF_TP_OUTPUT_PIXELS_BILINEAR
group[33].value: 281684414080789
group[34].groupid: 9 KGSL_PERFCOUNTER_GROUP_TP
group[34].countable: 28 PERF_TP_OUTPUT_PIXELS_ANISO
group[34].value: 763088520163
group[35].groupid: 9 KGSL_PERFCOUNTER_GROUP_TP
group[35].countable: 29 PERF_TP_OUTPUT_PIXELS_ZERO_LOD
group[35].value: 664319281782
group[36].groupid: 13 KGSL_PERFCOUNTER_GROUP_VBIF
group[36].countable: 63
group[36].value: 4425179800
group[37].groupid: 13 KGSL_PERFCOUNTER_GROUP_VBIF
group[37].countable: 84
group[37].value: 326684236
group[38].groupid: 26 KGSL_PERFCOUNTER_GROUP_CMP
group[38].countable: 7 PERF_CMPDECMP_VBIF_READ_DATA
group[38].value: 9223372460183244933
group[39].groupid: 8 KGSL_PERFCOUNTER_GROUP_UCHE
group[39].countable: 5 PERF_UCHE_VBIF_READ_BEATS_VFD
group[39].value: 48852408968
group[40].groupid: 8 KGSL_PERFCOUNTER_GROUP_UCHE
group[40].countable: 8 PERF_UCHE_VBIF_READ_BEATS_SP
group[40].value: 4503601922468045
group[41].groupid: 0 KGSL_PERFCOUNTER_GROUP_CP
group[41].countable: 3 PERF_CP_NUM_PREEMPTIONS
group[41].value: 2305878202419131291
group[42].groupid: 0 KGSL_PERFCOUNTER_GROUP_CP
group[42].countable: 4 PERF_CP_PREEMPTION_REACTION_DELAY
group[42].value: 58056780299
Edited by Danylo Piliaiev