diff options
author | Kenneth Graunke <kenneth@whitecape.org> | 2015-03-05 20:39:49 -0800 |
---|---|---|
committer | Kenneth Graunke <kenneth@whitecape.org> | 2015-03-08 20:03:35 -0700 |
commit | a84f66a9b6cf46bb19ca71faca5b1d6d81209caf (patch) | |
tree | 3890ac2e6205b02391ed18fbf452d972ecf51f0d /src/mesa/drivers/dri/i965/brw_fs.h | |
parent | 7c25a4a84d01557945ff0273fb481c24cf509837 (diff) | |
download | external_mesa3d-a84f66a9b6cf46bb19ca71faca5b1d6d81209caf.zip external_mesa3d-a84f66a9b6cf46bb19ca71faca5b1d6d81209caf.tar.gz external_mesa3d-a84f66a9b6cf46bb19ca71faca5b1d6d81209caf.tar.bz2 |
i965/nir: Resolve source modifiers on Gen8+ logic operations.
On Gen8+, AND/OR/XOR/NOT don't support the abs() source modifier, and
negate changes meaning to bitwise-not (~, not -). This isn't what NIR
expects, so we should resolve the source modifers via a MOV.
+30 Piglits (fs-op-bit{and,or,xor}-not-abs-*).
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_fs.h')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs.h b/src/mesa/drivers/dri/i965/brw_fs.h index 70098d8..ec77962 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.h +++ b/src/mesa/drivers/dri/i965/brw_fs.h @@ -299,6 +299,7 @@ public: int texunit); fs_reg emit_mcs_fetch(fs_reg coordinate, int components, fs_reg sampler); void emit_gen6_gather_wa(uint8_t wa, fs_reg dst); + void resolve_source_modifiers(fs_reg *src); fs_reg fix_math_operand(fs_reg src); fs_inst *emit_math(enum opcode op, fs_reg dst, fs_reg src0); fs_inst *emit_math(enum opcode op, fs_reg dst, fs_reg src0, fs_reg src1); |