[Mesa-dev] [PATCH 06/12] glsl: fix ir_constant::equals() for doubles

Connor Abbott cwabbott0 at gmail.com
Fri Aug 14 15:30:15 PDT 2015


Signed-off-by: Connor Abbott <connor.w.abbott at intel.com>
---
 src/glsl/ir_equals.cpp | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/glsl/ir_equals.cpp b/src/glsl/ir_equals.cpp
index cc1964e..c6446f7 100644
--- a/src/glsl/ir_equals.cpp
+++ b/src/glsl/ir_equals.cpp
@@ -58,8 +58,13 @@ ir_constant::equals(const ir_instruction *ir, enum ir_node_type) const
       return false;
 
    for (unsigned i = 0; i < type->components(); i++) {
-      if (value.u[i] != other->value.u[i])
-         return false;
+      if (type->base_type == GLSL_TYPE_DOUBLE) {
+         if (value.d[i] != other->value.d[i])
+            return false;
+      } else {
+         if (value.u[i] != other->value.u[i])
+            return false;
+      }
    }
 
    return true;
-- 
2.4.3



More information about the mesa-dev mailing list