summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/brw_fs.h
diff options
context:
space:
mode:
authorConnor Abbott <cwabbott0@gmail.com>2015-06-24 12:28:47 -0700
committerConnor Abbott <cwabbott0@gmail.com>2015-06-30 11:18:27 -0700
commit864907e2f14523c130e6ff24c081789bb079bae1 (patch)
tree3cbda9a797b787a3ba37c1f62904011a65a108be /src/mesa/drivers/dri/i965/brw_fs.h
parent2b1a1d8b1294f91b7ac563da1f395deba4384765 (diff)
downloadexternal_mesa3d-864907e2f14523c130e6ff24c081789bb079bae1.zip
external_mesa3d-864907e2f14523c130e6ff24c081789bb079bae1.tar.gz
external_mesa3d-864907e2f14523c130e6ff24c081789bb079bae1.tar.bz2
i965/fs: use SSA values directly
Before, we would use registers, but set a magical "parent_instr" field to indicate that it was actually purely an SSA value (i.e., it wasn't involved in any phi nodes). Instead, just use SSA values directly, which lets us get rid of the hack and reduces memory usage since we're not allocating a nir_register for every value. It also makes our handling of load_const more consistent compared to the other instructions. Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_fs.h')
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs.h b/src/mesa/drivers/dri/i965/brw_fs.h
index d08d438..8170f2a 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.h
+++ b/src/mesa/drivers/dri/i965/brw_fs.h
@@ -249,6 +249,8 @@ public:
void nir_emit_block(nir_block *block);
void nir_emit_instr(nir_instr *instr);
void nir_emit_alu(const brw::fs_builder &bld, nir_alu_instr *instr);
+ void nir_emit_undef(const brw::fs_builder &bld,
+ nir_ssa_undef_instr *instr);
void nir_emit_intrinsic(const brw::fs_builder &bld,
nir_intrinsic_instr *instr);
void nir_emit_texture(const brw::fs_builder &bld,
@@ -345,6 +347,7 @@ public:
unsigned max_grf;
fs_reg *nir_locals;
+ fs_reg *nir_ssa_values;
fs_reg *nir_globals;
fs_reg nir_inputs;
fs_reg nir_outputs;