On 05/06/2015 03:53 AM, Robert Bragg wrote:
+static struct brw_perf_query_counter gen7_pipeline_statistics[] = { + + STAT(IA_VERTICES_COUNT, "N vertices submitted"), + STAT(IA_PRIMITIVES_COUNT, "N primitives submitted"), + STAT(VS_INVOCATION_COUNT, "N vertex shader invocations"), + STAT(HS_INVOCATION_COUNT, "N hull shader invocations"), + STAT(DS_INVOCATION_COUNT, "N domain shader invocations"), + STAT(GS_INVOCATION_COUNT, "N geometry shader invocations"), + STAT(GS_PRIMITIVES_COUNT, "N geometry shader primitives emitted"), + STAT(CL_INVOCATION_COUNT, "N primitives entering clipping"), + STAT(CL_PRIMITIVES_COUNT, "N primitives leaving clipping"), + + /* Implement the "WaDividePSInvocationCountBy4:HSW,BDW" workaround: + * "Invocation counter is 4 times actual. WA: SW to divide HW reported + * PS Invocations value by 4." + * + * Prior to Haswell, invocation count was counted by the WM, and it + * buggily counted invocations in units of subspans (2x2 unit). To get the + * correct value, the CS multiplied this by 4. With HSW the logic moved, + * and correctly emitted the number of pixel shader invocations, but, + * whomever forgot to undo the multiply by 4. + */ + SCALED_STAT(PS_INVOCATION_COUNT, 1, 4, "N fragment shader invocations"), + + STAT(PS_DEPTH_COUNT, "N z-pass fragments"), + + NAMED_STAT(GEN7_SO_PRIM_STORAGE_NEEDED(0), "SO_NUM_PRIMS_WRITTEN (Stream 0)", + "N stream-out (stream 0) primitives (total)"), + NAMED_STAT(GEN7_SO_PRIM_STORAGE_NEEDED(1), "SO_NUM_PRIMS_WRITTEN (Stream 1)", + "N stream-out (stream 1) primitives (total)"), + NAMED_STAT(GEN7_SO_PRIM_STORAGE_NEEDED(2), "SO_NUM_PRIMS_WRITTEN (Stream 2)", + "N stream-out (stream 2) primitives (total)"), + NAMED_STAT(GEN7_SO_PRIM_STORAGE_NEEDED(3), "SO_NUM_PRIMS_WRITTEN (Stream 3)", + "N stream-out (stream 3) primitives (total)"), + NAMED_STAT(GEN7_SO_NUM_PRIMS_WRITTEN(0), "SO_NUM_PRIMS_WRITTEN (Stream 0)", + "N stream-out (stream 0) primitives (written)"), + NAMED_STAT(GEN7_SO_NUM_PRIMS_WRITTEN(1), "SO_NUM_PRIMS_WRITTEN (Stream 1)", + "N stream-out (stream 1) primitives (written)"), + NAMED_STAT(GEN7_SO_NUM_PRIMS_WRITTEN(2), "SO_NUM_PRIMS_WRITTEN (Stream 2)", + "N stream-out (stream 2) primitives (written)"), + NAMED_STAT(GEN7_SO_NUM_PRIMS_WRITTEN(3), "SO_NUM_PRIMS_WRITTEN (Stream 3)", + "N stream-out (stream 3) primitives (written)"), +}; +
Copy-paste error? SO_PRIM_STORAGE_NEEDED gets reported as SO_NUM_PRIMS_WRITTEN.
-- Petri Latvala _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev