i965: Tidy preprocessor macros for SO_NUM_PRIMS_WRITTEN registers.
authorKenneth Graunke <kenneth@whitecape.org>
Thu, 1 Aug 2013 22:11:37 +0000 (15:11 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Tue, 6 Aug 2013 21:41:37 +0000 (14:41 -0700)
Gen7+ supports four transform feedback streams.  Using a function-like
macro makes it easy to access them by stream number or loop over them.
"GEN7_" prefixes are more common than "_IVB" suffixes, so we use that.

Gen6 only supports a single stream, so the single #define should be
fine.  However, SO_NUM_PRIMS_WRITTEN was confusingly generic, as it
doesn't exist on Gen7+.  Add a "GEN6_" prefix for clarity.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Paul Berry <stereotype441@gmail.com>
src/mesa/drivers/dri/i965/gen6_queryobj.c
src/mesa/drivers/dri/i965/intel_reg.h

index 6f4f6f5de8c12f2476ba529b4193a4e19fcc93ab..498b1877b6d5abf8952d1fa9ba6c0d3ddc387d17 100644 (file)
@@ -139,9 +139,9 @@ write_xfb_primitives_written(struct brw_context *brw,
                              drm_intel_bo *query_bo, int idx)
 {
    if (brw->gen >= 7) {
-      write_reg(brw, query_bo, SO_NUM_PRIMS_WRITTEN0_IVB, idx);
+      write_reg(brw, query_bo, GEN7_SO_NUM_PRIMS_WRITTEN(0), idx);
    } else {
-      write_reg(brw, query_bo, SO_NUM_PRIMS_WRITTEN, idx);
+      write_reg(brw, query_bo, GEN6_SO_NUM_PRIMS_WRITTEN, idx);
    }
 }
 
index f45a8f3bd60f2fc09ca9fc85c79096a8252d0d89..470f61c41c1a8fd76d2ad955d2557d5672c36cf8 100644 (file)
 #define SO_PRIM_STORAGE_NEEDED2_IVB    0x5250
 #define SO_PRIM_STORAGE_NEEDED3_IVB    0x5258
 
-#define SO_NUM_PRIMS_WRITTEN           0x2288
-#define SO_NUM_PRIMS_WRITTEN0_IVB      0x5200
-#define SO_NUM_PRIMS_WRITTEN1_IVB      0x5208
-#define SO_NUM_PRIMS_WRITTEN2_IVB      0x5210
-#define SO_NUM_PRIMS_WRITTEN3_IVB      0x5218
+#define GEN6_SO_NUM_PRIMS_WRITTEN       0x2288
+#define GEN7_SO_NUM_PRIMS_WRITTEN(n)    (0x5200 + (n) * 8)
 
 #define GEN7_SO_WRITE_OFFSET(n)         (0x5280 + (n) * 4)