summaryrefslogtreecommitdiffstats
path: root/src/glsl/ir_builder.cpp
diff options
context:
space:
mode:
authorAbdiel Janulgue <[email protected]>2014-06-20 16:55:03 -0700
committerAbdiel Janulgue <[email protected]>2014-08-31 21:04:08 +0300
commitcbd0d643a30901dabc5b3cc84121bafe16f8fc6f (patch)
treea8216d67c54323e73ad8ac0bf1868a5322236451 /src/glsl/ir_builder.cpp
parentcb621166dca23f223139797dd5fd476cdfd01c22 (diff)
glsl: Implement saturate as ir_unop_saturate
Now that we have the ir_unop_saturate implemented as a single instruction, generate the correct simplified expression. Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Signed-off-by: Abdiel Janulgue <[email protected]>
Diffstat (limited to 'src/glsl/ir_builder.cpp')
-rw-r--r--src/glsl/ir_builder.cpp6
1 files changed, 1 insertions, 5 deletions
diff --git a/src/glsl/ir_builder.cpp b/src/glsl/ir_builder.cpp
index f03941443e0..a2f6f2967d1 100644
--- a/src/glsl/ir_builder.cpp
+++ b/src/glsl/ir_builder.cpp
@@ -271,11 +271,7 @@ clamp(operand a, operand b, operand c)
ir_expression *
saturate(operand a)
{
- void *mem_ctx = ralloc_parent(a.val);
-
- return expr(ir_binop_max,
- expr(ir_binop_min, a, new(mem_ctx) ir_constant(1.0f)),
- new(mem_ctx) ir_constant(0.0f));
+ return expr(ir_unop_saturate, a);
}
ir_expression *