aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
diff options
context:
space:
mode:
authorMatt Turner <[email protected]>2015-10-26 17:52:57 -0700
committerMatt Turner <[email protected]>2015-11-13 11:27:51 -0800
commitb3315a6f56fb93f2884168cbf9358b2606641db5 (patch)
tree293de5d4f7a27381b8fc220f35be1862749a18a3 /src/mesa/drivers/dri/i965/brw_fs_generator.cpp
parent4b0fbebf024e564c195f3ce94e1ce43a3d6442ea (diff)
i965: Replace HW_REG with ARF/FIXED_GRF.
HW_REGs are (were!) kind of awful. If the file was HW_REG, you had to look at different fields for type, abs, negate, writemask, swizzle, and a second file. They also caused annoying problems like immediate sources being considered scheduling barriers (commit 6148e94e2) and other such nonsense. Instead use ARF/FIXED_GRF/MRF for fixed registers in those files. After a sufficient amount of time has passed since "GRF" was used, we can rename FIXED_GRF -> GRF, but doing so now would make rebasing awful. Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_fs_generator.cpp')
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs_generator.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
index 6e17f23f759..fa1e83497cc 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
@@ -37,6 +37,9 @@ static enum brw_reg_file
brw_file_from_reg(fs_reg *reg)
{
switch (reg->file) {
+ case ARF:
+ return BRW_ARCHITECTURE_REGISTER_FILE;
+ case FIXED_GRF:
case VGRF:
return BRW_GENERAL_REGISTER_FILE;
case MRF:
@@ -44,7 +47,6 @@ brw_file_from_reg(fs_reg *reg)
case IMM:
return BRW_IMMEDIATE_VALUE;
case BAD_FILE:
- case HW_REG:
case ATTR:
case UNIFORM:
unreachable("not reached");
@@ -118,7 +120,8 @@ brw_reg_from_fs_reg(fs_inst *inst, fs_reg *reg, unsigned gen)
unreachable("not reached");
}
break;
- case HW_REG:
+ case ARF:
+ case FIXED_GRF:
brw_reg = *static_cast<struct brw_reg *>(reg);
break;
case BAD_FILE: