Mesa (master): glsl: fix isinf() for doubles

Iago Toral Quiroga itoral at kemper.freedesktop.org
Thu Nov 19 08:18:34 UTC 2015


Module: Mesa
Branch: master
Commit: 84ed3819a42042757a32cae4260c26c4fb3b673c
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=84ed3819a42042757a32cae4260c26c4fb3b673c

Author: Connor Abbott <connor.w.abbott at intel.com>
Date:   Fri Aug 14 11:58:07 2015 -0700

glsl: fix isinf() for doubles

Reviewed-by: Timothy Arceri <t_arceri at yahoo.com.au>
Reviewed-by: Edward O'Callaghan <eocallaghan at alterapraxis.com>

---

 src/glsl/builtin_functions.cpp |   11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/src/glsl/builtin_functions.cpp b/src/glsl/builtin_functions.cpp
index eb438d9..1824b83 100644
--- a/src/glsl/builtin_functions.cpp
+++ b/src/glsl/builtin_functions.cpp
@@ -3573,7 +3573,16 @@ builtin_builder::_isinf(builtin_available_predicate avail, const glsl_type *type
 
    ir_constant_data infinities;
    for (int i = 0; i < type->vector_elements; i++) {
-      infinities.f[i] = INFINITY;
+      switch (type->base_type) {
+      case GLSL_TYPE_FLOAT:
+         infinities.f[i] = INFINITY;
+         break;
+      case GLSL_TYPE_DOUBLE:
+         infinities.d[i] = INFINITY;
+         break;
+      default:
+         unreachable("unknown type");
+      }
    }
 
    body.emit(ret(equal(abs(x), imm(type, infinities))));




More information about the mesa-commit mailing list