diff options
author | Ian Romanick <[email protected]> | 2019-05-21 12:09:42 -0700 |
---|---|---|
committer | Ian Romanick <[email protected]> | 2019-06-05 17:04:08 -0700 |
commit | a288708506d2206945d13ccf6b2abb80f2a6305b (patch) | |
tree | 209566a7ae6f1e59cb0812d561bcbd58ce3bb0aa /src/intel/compiler/brw_fs.h | |
parent | e13a5c7d676021b2d1030e3644db95eb1803e767 (diff) |
intel/fs: Add need_dest parameter to fs_visitor::nir_emit_alu
This is the same as the need_dest parameter to
prepare_alu_destination_and_sources. This allows us to not change the
register that is expected to hold an result if an instruction is
re-emitted. This is particularly a problem if the re-emitted
instruction is a partial write. A later patch will use this feature.
No shader-db changes on any Intel platform.
v2: Don't do the Boolean resolve when there is no destination. If the
ALU instruction didn't write a register, there's nothing to resolve.
This replaces an earlier patch "intel/fs: Allocate dummy destination
register when need_dest is false".
Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]>
Reviewed-by: Matt Turner <[email protected]>
Diffstat (limited to 'src/intel/compiler/brw_fs.h')
-rw-r--r-- | src/intel/compiler/brw_fs.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/intel/compiler/brw_fs.h b/src/intel/compiler/brw_fs.h index 7db486688af..230f9abbe04 100644 --- a/src/intel/compiler/brw_fs.h +++ b/src/intel/compiler/brw_fs.h @@ -206,7 +206,8 @@ public: void nir_emit_loop(nir_loop *loop); 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_alu(const brw::fs_builder &bld, nir_alu_instr *instr, + bool need_dest); bool try_emit_b2fi_of_inot(const brw::fs_builder &bld, fs_reg result, nir_alu_instr *instr); void nir_emit_load_const(const brw::fs_builder &bld, |