diff options
author | Connor Abbott <cwabbott0@gmail.com> | 2015-06-24 12:28:47 -0700 |
---|---|---|
committer | Connor Abbott <cwabbott0@gmail.com> | 2015-06-30 11:18:27 -0700 |
commit | 864907e2f14523c130e6ff24c081789bb079bae1 (patch) | |
tree | 3cbda9a797b787a3ba37c1f62904011a65a108be /src/mesa/drivers/dri/i965/brw_fs.h | |
parent | 2b1a1d8b1294f91b7ac563da1f395deba4384765 (diff) | |
download | external_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.h | 3 |
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; |