Add functions for is_greater_than_one and is_less_than_zero Signed-off-by: Thomas Helland <thomashellan...@gmail.com> --- src/glsl/ir_constant_util.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+)
diff --git a/src/glsl/ir_constant_util.h b/src/glsl/ir_constant_util.h index b3b9a19..9dae974 100644 --- a/src/glsl/ir_constant_util.h +++ b/src/glsl/ir_constant_util.h @@ -86,6 +86,21 @@ is_less_than_one(ir_constant *ir) } static inline bool +is_greater_than_one(ir_constant *ir) +{ + if (!is_valid_vec_const(ir)) + return false; + + unsigned component = 0; + for (int c = 0; c < ir->type->vector_elements; c++) { + if (ir->get_float_component(c) > 1.0f) + component++; + } + + return (component == ir->type->vector_elements); +} + +static inline bool is_greater_than_zero(ir_constant *ir) { if (!is_valid_vec_const(ir)) @@ -100,4 +115,20 @@ is_greater_than_zero(ir_constant *ir) return (component == ir->type->vector_elements); } +static inline bool +is_less_than_zero(ir_constant *ir) +{ + if (!is_valid_vec_const(ir)) + return false; + + unsigned component = 0; + for (int c = 0; c < ir->type->vector_elements; c++) { + if (ir->get_float_component(c) < 0.0f) + component++; + } + + return (component == ir->type->vector_elements); +} + + #endif /* IR_CONSTANT_UTIL_H_ */ -- 2.0.3 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev