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 use that.
Gen6 only supports a single stream, so the single #define should be
fine. However, SO_NUM_PRIM_STORAGE_NEEDED was a poor name. For one,
the word "NUM" doesn't appear in the actual name of the register.
It's also 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>
#define PS_INVOCATION_COUNT 0x2348
#define PS_DEPTH_COUNT 0x2350
-#define SO_NUM_PRIM_STORAGE_NEEDED 0x2280
-#define SO_PRIM_STORAGE_NEEDED0_IVB 0x5240
-#define SO_PRIM_STORAGE_NEEDED1_IVB 0x5248
-#define SO_PRIM_STORAGE_NEEDED2_IVB 0x5250
-#define SO_PRIM_STORAGE_NEEDED3_IVB 0x5258
+#define GEN6_SO_PRIM_STORAGE_NEEDED 0x2280
+#define GEN7_SO_PRIM_STORAGE_NEEDED(n) (0x5240 + (n) * 8)
#define GEN6_SO_NUM_PRIMS_WRITTEN 0x2288
#define GEN7_SO_NUM_PRIMS_WRITTEN(n) (0x5200 + (n) * 8)