[Mesa-dev] [PATCH 03/18] glsl: Add ir_unop_saturate

Abdiel Janulgue abdiel.janulgue at linux.intel.com
Fri Aug 29 09:41:11 PDT 2014


Signed-off-by: Abdiel Janulgue <abdiel.janulgue at linux.intel.com>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
---
 src/glsl/ir.cpp          | 2 ++
 src/glsl/ir.h            | 1 +
 src/glsl/ir_validate.cpp | 1 +
 3 files changed, 4 insertions(+)

diff --git a/src/glsl/ir.cpp b/src/glsl/ir.cpp
index 4a4d304..ef04ed0 100644
--- a/src/glsl/ir.cpp
+++ b/src/glsl/ir.cpp
@@ -255,6 +255,7 @@ ir_expression::ir_expression(int op, ir_rvalue *op0)
    case ir_unop_dFdy_fine:
    case ir_unop_bitfield_reverse:
    case ir_unop_interpolate_at_centroid:
+   case ir_unop_saturate:
       this->type = op0->type;
       break;
 
@@ -534,6 +535,7 @@ static const char *const operator_strs[] = {
    "bit_count",
    "find_msb",
    "find_lsb",
+   "sat",
    "noise",
    "interpolate_at_centroid",
    "+",
diff --git a/src/glsl/ir.h b/src/glsl/ir.h
index 18623b9..96c8b0e 100644
--- a/src/glsl/ir.h
+++ b/src/glsl/ir.h
@@ -1248,6 +1248,7 @@ enum ir_expression_operation {
    ir_unop_find_lsb,
    /*@}*/
 
+   ir_unop_saturate,
    ir_unop_noise,
 
    /**
diff --git a/src/glsl/ir_validate.cpp b/src/glsl/ir_validate.cpp
index 5b20677..97a581d 100644
--- a/src/glsl/ir_validate.cpp
+++ b/src/glsl/ir_validate.cpp
@@ -241,6 +241,7 @@ ir_validate::visit_leave(ir_expression *ir)
    case ir_unop_log:
    case ir_unop_exp2:
    case ir_unop_log2:
+   case ir_unop_saturate:
       assert(ir->operands[0]->type->base_type == GLSL_TYPE_FLOAT);
       assert(ir->type == ir->operands[0]->type);
       break;
-- 
1.9.1



More information about the mesa-dev mailing list