summaryrefslogtreecommitdiff
path: root/src/glsl/ir.cpp
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2010-08-23 12:21:33 -0700
committerEric Anholt <eric@anholt.net>2010-08-23 13:05:53 -0700
commit5e9ac94cc44ef4f97063d7b696411b2a4be16f36 (patch)
tree0efbbc6d6f05a37a380bc380d6f3139580e7b1b8 /src/glsl/ir.cpp
parent47003a8f653db881fbafc96fca93aba38ea3ebc2 (diff)
mesa: Add new ir_unop_any() expression operation.
The previous any() implementation would generate arg0.x || arg0.y || arg0.z. Having an expression operation for this makes it easy for the backend to generate something easier (DPn + SNE for 915 FS, .any predication on 965 VS)
Diffstat (limited to 'src/glsl/ir.cpp')
-rw-r--r--src/glsl/ir.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/glsl/ir.cpp b/src/glsl/ir.cpp
index ebb592792b..4622a1f939 100644
--- a/src/glsl/ir.cpp
+++ b/src/glsl/ir.cpp
@@ -184,6 +184,7 @@ ir_expression::get_num_operands(ir_expression_operation op)
1, /* ir_unop_i2b */
1, /* ir_unop_b2i */
1, /* ir_unop_u2f */
+ 1, /* ir_unop_any */
1, /* ir_unop_trunc */
1, /* ir_unop_ceil */
@@ -252,6 +253,7 @@ static const char *const operator_strs[] = {
"i2b",
"b2i",
"u2f",
+ "any",
"trunc",
"ceil",
"floor",