diff options
author | Matt Turner <mattst88@gmail.com> | 2015-10-26 04:35:14 -0700 |
---|---|---|
committer | Matt Turner <mattst88@gmail.com> | 2015-11-13 11:27:50 -0800 |
commit | 7638e75cf99263c1ee8e31c6cc5a319feec2c943 (patch) | |
tree | bc5f731f804f538b54d1a5fe92dfe0c47032062c /src/mesa/drivers/dri/i965/brw_reg.h | |
parent | 3048053908310eaf082058e5be34ae902e1fc02c (diff) | |
download | external_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.h | 10 |
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 |