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

Reply via email to