diff options
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp b/src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp index 2c41d02..390448a 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp @@ -249,12 +249,9 @@ try_copy_propagate(struct brw_context *brw, vec4_instruction *inst, value.file != ATTR) return false; - if (brw->gen >= 8) { - if (value.negate) { - if (is_logic_op(inst->opcode)) { - return false; - } - } + if (brw->gen >= 8 && (value.negate || value.abs) && + is_logic_op(inst->opcode)) { + return false; } if (inst->src[arg].abs) { |