[Mesa-dev] [PATCH] glsl: Correctly validate fma()'s types.
Matt Turner
mattst88 at gmail.com
Mon Sep 9 11:23:57 PDT 2013
lrp() can take a scalar as a third argument, and fma() cannot.
---
src/glsl/ir_validate.cpp | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/glsl/ir_validate.cpp b/src/glsl/ir_validate.cpp
index 105f615..4898211 100644
--- a/src/glsl/ir_validate.cpp
+++ b/src/glsl/ir_validate.cpp
@@ -531,6 +531,12 @@ ir_validate::visit_leave(ir_expression *ir)
break;
case ir_triop_fma:
+ assert(ir->type->base_type == GLSL_TYPE_FLOAT);
+ assert(ir->type == ir->operands[0]->type);
+ assert(ir->type == ir->operands[1]->type);
+ assert(ir->type == ir->operands[2]->type);
+ break;
+
case ir_triop_lrp:
assert(ir->operands[0]->type->base_type == GLSL_TYPE_FLOAT);
assert(ir->operands[0]->type == ir->operands[1]->type);
--
1.8.3.2
More information about the mesa-dev
mailing list