summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/brw_reg.h
diff options
context:
space:
mode:
authorMatt Turner <mattst88@gmail.com>2015-10-26 04:35:14 -0700
committerMatt Turner <mattst88@gmail.com>2015-11-13 11:27:50 -0800
commit7638e75cf99263c1ee8e31c6cc5a319feec2c943 (patch)
treebc5f731f804f538b54d1a5fe92dfe0c47032062c /src/mesa/drivers/dri/i965/brw_reg.h
parent3048053908310eaf082058e5be34ae902e1fc02c (diff)
downloadexternal_mesa3d-7638e75cf99263c1ee8e31c6cc5a319feec2c943.zip
external_mesa3d-7638e75cf99263c1ee8e31c6cc5a319feec2c943.tar.gz
external_mesa3d-7638e75cf99263c1ee8e31c6cc5a319feec2c943.tar.bz2
i965: Use brw_reg's nr field to store register number.
In addition to combining another field, we get replace silliness like "reg.reg" with something that actually makes sense, "reg.nr"; and no one will ever wonder again why dst.reg isn't a dst_reg. Moving the now 16-bit nr field to a 16-bit boundary decreases code size by about 3k. Reviewed-by: Emil Velikov <emil.velikov@collabora.co.uk> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_reg.h')
-rw-r--r--src/mesa/drivers/dri/i965/brw_reg.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_reg.h b/src/mesa/drivers/dri/i965/brw_reg.h
index 8fc2fee..a2f4155 100644
--- a/src/mesa/drivers/dri/i965/brw_reg.h
+++ b/src/mesa/drivers/dri/i965/brw_reg.h
@@ -233,12 +233,12 @@ const char *brw_reg_type_letters(unsigned brw_reg_type);
struct brw_reg {
enum brw_reg_type type:4;
enum brw_reg_file file:2;
- unsigned nr:8;
- unsigned subnr:5; /* :1 in align16 */
unsigned negate:1; /* source only */
unsigned abs:1; /* source only */
unsigned address_mode:1; /* relative addressing, hopefully! */
- unsigned pad0:10;
+ unsigned pad0:2;
+ unsigned subnr:5; /* :1 in align16 */
+ unsigned nr:16;
union {
struct {
@@ -353,12 +353,12 @@ brw_reg(enum brw_reg_file file,
reg.type = type;
reg.file = file;
- reg.nr = nr;
- reg.subnr = subnr * type_sz(type);
reg.negate = negate;
reg.abs = abs;
reg.address_mode = BRW_ADDRESS_DIRECT;
reg.pad0 = 0;
+ reg.subnr = subnr * type_sz(type);
+ reg.nr = nr;
/* Could do better: If the reg is r5.3<0;1,0>, we probably want to
* set swizzle and writemask to W, as the lower bits of subnr will