Mesa (master): glsl: handle conversions to double when comparing param matches

Ilia Mirkin imirkin at kemper.freedesktop.org
Thu Jun 18 17:23:01 UTC 2015


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

Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Wed Jun 17 15:07:14 2015 -0400

glsl: handle conversions to double when comparing param matches

This allows mod(int, int) to become selected as float mod when doubles
are supported.

Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>
Cc: "10.6" <mesa-stable at lists.freedesktop.org>

---

 src/glsl/ir_function.cpp |    8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/glsl/ir_function.cpp b/src/glsl/ir_function.cpp
index 2b2643c..1319443 100644
--- a/src/glsl/ir_function.cpp
+++ b/src/glsl/ir_function.cpp
@@ -148,9 +148,11 @@ get_parameter_match_type(const ir_variable *param,
    if (from_type == to_type)
       return PARAMETER_EXACT_MATCH;
 
-   /* XXX: When ARB_gpu_shader_fp64 support is added, check for float->double,
-    * and int/uint->double conversions
-    */
+   if (to_type->base_type == GLSL_TYPE_DOUBLE) {
+      if (from_type->base_type == GLSL_TYPE_FLOAT)
+         return PARAMETER_FLOAT_TO_DOUBLE;
+      return PARAMETER_INT_TO_DOUBLE;
+   }
 
    if (to_type->base_type == GLSL_TYPE_FLOAT)
       return PARAMETER_INT_TO_FLOAT;




More information about the mesa-commit mailing list