summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/brw_fs.h
diff options
context:
space:
mode:
authorKenneth Graunke <kenneth@whitecape.org>2015-03-05 20:39:49 -0800
committerKenneth Graunke <kenneth@whitecape.org>2015-03-08 20:03:35 -0700
commita84f66a9b6cf46bb19ca71faca5b1d6d81209caf (patch)
tree3890ac2e6205b02391ed18fbf452d972ecf51f0d /src/mesa/drivers/dri/i965/brw_fs.h
parent7c25a4a84d01557945ff0273fb481c24cf509837 (diff)
downloadexternal_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.h1
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);