[Mesa-dev] [PATCH 09/51] glsl: Allow 16-bit neg() and dot()

Topi Pohjolainen topi.pohjolainen at gmail.com
Fri Nov 24 12:26:36 UTC 2017


Signed-off-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
---
 src/compiler/glsl/ir_validate.cpp | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/compiler/glsl/ir_validate.cpp b/src/compiler/glsl/ir_validate.cpp
index a20f52e527..735e862141 100644
--- a/src/compiler/glsl/ir_validate.cpp
+++ b/src/compiler/glsl/ir_validate.cpp
@@ -263,7 +263,8 @@ ir_validate::visit_leave(ir_expression *ir)
       assert(ir->operands[0]->type->base_type == GLSL_TYPE_INT ||
              ir->operands[0]->type->is_float() ||
              ir->operands[0]->type->is_double() ||
-             ir->operands[0]->type->base_type == GLSL_TYPE_INT64);
+             ir->operands[0]->type->base_type == GLSL_TYPE_INT64 ||
+             ir->operands[0]->type->base_type == GLSL_TYPE_FLOAT16);
       assert(ir->type == ir->operands[0]->type);
       break;
 
@@ -742,9 +743,11 @@ ir_validate::visit_leave(ir_expression *ir)
 
    case ir_binop_dot:
       assert(ir->type == glsl_type::float_type ||
-             ir->type == glsl_type::double_type);
+             ir->type == glsl_type::double_type ||
+             ir->type->base_type == GLSL_TYPE_FLOAT16);
       assert(ir->operands[0]->type->is_float() ||
-             ir->operands[0]->type->is_double());
+             ir->operands[0]->type->is_double() ||
+             ir->operands[0]->type->base_type == GLSL_TYPE_FLOAT16);
       assert(ir->operands[0]->type->is_vector());
       assert(ir->operands[0]->type == ir->operands[1]->type);
       break;
-- 
2.11.0



More information about the mesa-dev mailing list