i965: Tidy preprocessor macros for SO_NUM_PRIMS_WRITTEN registers.

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>
This commit is contained in:
Kenneth Graunke 2013-08-01 15:11:37 -07:00
parent 2daf974cfe
commit 8c27f13cd9
2 changed files with 4 additions and 7 deletions

View 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);
}
}

View File

@ -115,11 +115,8 @@
#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)