Mesa (master): glsl: allow ?: operator with images and samplers when bindless is enabled
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Aug 1 04:10:23 UTC 2018
Module: Mesa
Branch: master
Commit: ea2a3f52b4acee0378e02414b9c39e3f0c66cbf1
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ea2a3f52b4acee0378e02414b9c39e3f0c66cbf1
Author: Rhys Perry <pendingchaos02 at gmail.com>
Date: Wed Jun 6 20:55:06 2018 +0100
glsl: allow ?: operator with images and samplers when bindless is enabled
Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
Signed-off-by: Marek Olšák <marek.olsak at amd.com>
---
src/compiler/glsl/ast_to_hir.cpp | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp
index dd60a2a87f..74160ec142 100644
--- a/src/compiler/glsl/ast_to_hir.cpp
+++ b/src/compiler/glsl/ast_to_hir.cpp
@@ -1850,9 +1850,11 @@ ast_expression::do_hir(exec_list *instructions,
* expressions; such use results in a compile-time error."
*/
if (type->contains_opaque()) {
- _mesa_glsl_error(&loc, state, "opaque variables cannot be operands "
- "of the ?: operator");
- error_emitted = true;
+ if (!(state->has_bindless() && (type->is_image() || type->is_sampler()))) {
+ _mesa_glsl_error(&loc, state, "variables of type %s cannot be "
+ "operands of the ?: operator", type->name);
+ error_emitted = true;
+ }
}
ir_constant *cond_val = op[0]->constant_expression_value(ctx);
More information about the mesa-commit
mailing list