Mesa (master): glsl: fix a crash in ir_print_visitor() for bindless samplers/images

Samuel Pitoiset hakzsam at kemper.freedesktop.org
Thu Jun 1 09:55:03 UTC 2017


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

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Thu May 25 19:12:12 2017 +0200

glsl: fix a crash in ir_print_visitor() for bindless samplers/images

Bindless samplers/images are represented with 64-bit unsigned
integers and they can be assigned with explicit constructors.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

---

 src/compiler/glsl/ir_print_visitor.cpp | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/compiler/glsl/ir_print_visitor.cpp b/src/compiler/glsl/ir_print_visitor.cpp
index 43be940a2f..ba3c1e243f 100644
--- a/src/compiler/glsl/ir_print_visitor.cpp
+++ b/src/compiler/glsl/ir_print_visitor.cpp
@@ -492,7 +492,11 @@ void ir_print_visitor::visit(ir_constant *ir)
             else
                fprintf(f, "%f", ir->value.f[i]);
             break;
-	 case GLSL_TYPE_UINT64:fprintf(f, "%" PRIu64, ir->value.u64[i]); break;
+	 case GLSL_TYPE_SAMPLER:
+	 case GLSL_TYPE_IMAGE:
+	 case GLSL_TYPE_UINT64:
+            fprintf(f, "%" PRIu64, ir->value.u64[i]);
+            break;
 	 case GLSL_TYPE_INT64: fprintf(f, "%" PRIi64, ir->value.i64[i]); break;
 	 case GLSL_TYPE_BOOL:  fprintf(f, "%d", ir->value.b[i]); break;
 	 case GLSL_TYPE_DOUBLE:




More information about the mesa-commit mailing list