summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAntia Puentes <[email protected]>2015-06-17 09:07:20 +0200
committerJason Ekstrand <[email protected]>2015-08-03 09:40:49 -0700
commitf14199a8fb802f6672d559fa958a5ee84e3e13f1 (patch)
tree6f4cbe7eab6ccd04ed95741ef859d839cbfcbf70 /src
parent51aeafaf96b3b349e007ad05738bc1e05663fedf (diff)
i965/nir/vec4: Implement logical operators
Adds NIR ALU operations: * nir_op_inot * nir_op_ixor * nir_op_ior * nir_op_iand Reviewed-by: Jason Ekstrand <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/mesa/drivers/dri/i965/brw_vec4_nir.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_nir.cpp b/src/mesa/drivers/dri/i965/brw_vec4_nir.cpp
index 3ee7ac29333..549ed1ba5dc 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4_nir.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4_nir.cpp
@@ -989,6 +989,22 @@ vec4_visitor::nir_emit_alu(nir_alu_instr *instr)
break;
}
+ case nir_op_inot:
+ emit(NOT(dst, op[0]));
+ break;
+
+ case nir_op_ixor:
+ emit(XOR(dst, op[0], op[1]));
+ break;
+
+ case nir_op_ior:
+ emit(OR(dst, op[0], op[1]));
+ break;
+
+ case nir_op_iand:
+ emit(AND(dst, op[0], op[1]));
+ break;
+
default:
unreachable("Unimplemented ALU operation");
}