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
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-dev