Performance counter 0 is used to measure attributes dealing with geometry and primitives, such as triangle counts and clipping ratios.
- Note
GX_PERF0_XF_*
measure how many GP cycles are spent in each stage of the XF.
-
The triangle metrics (
GX_PERF0_TRIANGLES_*
) allow counting triangles under specific conditions or with specific attributes.
-
GX_PERF0_TRIANGLES_*TEX
count triangles based on the number of texture coordinates supplied; GX_PERF0_TRIANGLES_*CLR
count triangles based on the number of colors supplied.
-
The quad metrics allow you to count the number of quads (2x2 pixels) the GP processes. The term coverage is used to indicate how many pixels in the quad are actually part of the triangle being rasterized. For example, a coverage of 4 means all pixels in the quad intersect the triangle. A coverage of 1 indicates that only 1 pixel in the quad intersected the triangle.
◆ GX_PERF0_AVG_QUAD_CNT
#define GX_PERF0_AVG_QUAD_CNT 33 |
Average quad count; average based on what is unknown
◆ GX_PERF0_CLIP_CLKS
#define GX_PERF0_CLIP_CLKS 2 |
Number of GP clocks spent clipping.
◆ GX_PERF0_CLIP_RATIO
#define GX_PERF0_CLIP_RATIO 10 |
◆ GX_PERF0_CLIP_VTX
#define GX_PERF0_CLIP_VTX 1 |
Number of vertices that were clipped by the GP.
◆ GX_PERF0_CLOCKS
#define GX_PERF0_CLOCKS 34 |
Number of GP clocks that have elapsed since the previous call to GX_ReadGP0Metric().
◆ GX_PERF0_NONE
Disables performance measurement for perf0 and resets the counter.
◆ GX_PERF0_QUAD_0CVG
#define GX_PERF0_QUAD_0CVG 27 |
Number of quads having zero coverage.
◆ GX_PERF0_QUAD_1CVG
#define GX_PERF0_QUAD_1CVG 29 |
Number of quads with 1 pixel coverage.
◆ GX_PERF0_QUAD_2CVG
#define GX_PERF0_QUAD_2CVG 30 |
Number of quads with 2 pixel coverage.
◆ GX_PERF0_QUAD_3CVG
#define GX_PERF0_QUAD_3CVG 31 |
Number of quads with 3 pixel coverage.
◆ GX_PERF0_QUAD_4CVG
#define GX_PERF0_QUAD_4CVG 32 |
Number of quads with 4 pixel coverage.
◆ GX_PERF0_QUAD_NON0CVG
#define GX_PERF0_QUAD_NON0CVG 28 |
Number of quads having coverage greater than zero.
◆ GX_PERF0_TRIANGLES
#define GX_PERF0_TRIANGLES 11 |
◆ GX_PERF0_TRIANGLES_0CLR
#define GX_PERF0_TRIANGLES_0CLR 24 |
◆ GX_PERF0_TRIANGLES_0TEX
#define GX_PERF0_TRIANGLES_0TEX 15 |
◆ GX_PERF0_TRIANGLES_1CLR
#define GX_PERF0_TRIANGLES_1CLR 25 |
◆ GX_PERF0_TRIANGLES_1TEX
#define GX_PERF0_TRIANGLES_1TEX 16 |
◆ GX_PERF0_TRIANGLES_2CLR
#define GX_PERF0_TRIANGLES_2CLR 26 |
◆ GX_PERF0_TRIANGLES_2TEX
#define GX_PERF0_TRIANGLES_2TEX 17 |
◆ GX_PERF0_TRIANGLES_3TEX
#define GX_PERF0_TRIANGLES_3TEX 18 |
◆ GX_PERF0_TRIANGLES_4TEX
#define GX_PERF0_TRIANGLES_4TEX 19 |
◆ GX_PERF0_TRIANGLES_5TEX
#define GX_PERF0_TRIANGLES_5TEX 20 |
◆ GX_PERF0_TRIANGLES_6TEX
#define GX_PERF0_TRIANGLES_6TEX 21 |
◆ GX_PERF0_TRIANGLES_7TEX
#define GX_PERF0_TRIANGLES_7TEX 22 |
◆ GX_PERF0_TRIANGLES_8TEX
#define GX_PERF0_TRIANGLES_8TEX 23 |
◆ GX_PERF0_TRIANGLES_CULLED
#define GX_PERF0_TRIANGLES_CULLED 12 |
Number of triangles that failed the front-face/back-face culling test.
◆ GX_PERF0_TRIANGLES_PASSED
#define GX_PERF0_TRIANGLES_PASSED 13 |
Number of triangles that passed the front-face/back-face culling test.
◆ GX_PERF0_TRIANGLES_SCISSORED
#define GX_PERF0_TRIANGLES_SCISSORED 14 |
Number of triangles that are scissored.
◆ GX_PERF0_VERTICES
#define GX_PERF0_VERTICES 0 |
Number of vertices processed by the GP.
◆ GX_PERF0_XF_BOT_CLKS
#define GX_PERF0_XF_BOT_CLKS 7 |
Number of cycles the bottom of the pipe (result combiner) is busy.
◆ GX_PERF0_XF_LIT_CLKS
#define GX_PERF0_XF_LIT_CLKS 6 |
Number of cycles the lighting engine is busy.
◆ GX_PERF0_XF_REGLD_CLKS
#define GX_PERF0_XF_REGLD_CLKS 8 |
Number of cycles are spent loading XF state registers.
◆ GX_PERF0_XF_REGRD_CLKS
#define GX_PERF0_XF_REGRD_CLKS 9 |
Number of cycles the XF reads the state registers.
◆ GX_PERF0_XF_WAIT_IN
#define GX_PERF0_XF_WAIT_IN 3 |
Number of cycles the XF is waiting on input. If the XF is waiting a large percentage of the total time, it may indicate that the CPU is not supplying data fast enough to keep the GP busy.
◆ GX_PERF0_XF_WAIT_OUT
#define GX_PERF0_XF_WAIT_OUT 4 |
Number of cycles the XF waits to send its output to the rest of the GP pipeline. If the XF cannot output, it may indicate that the GP is currently fill-rate limited.
◆ GX_PERF0_XF_XFRM_CLKS
#define GX_PERF0_XF_XFRM_CLKS 5 |
Number of cycles the transform engine is busy.