From: Rhys Perry Date: Wed, 6 Jun 2018 19:55:06 +0000 (+0100) Subject: glsl: allow ?: operator with images and samplers when bindless is enabled X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ea2a3f52b4acee0378e02414b9c39e3f0c66cbf1;p=mesa.git glsl: allow ?: operator with images and samplers when bindless is enabled Signed-off-by: Rhys Perry Signed-off-by: Marek Olšák --- diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp index dd60a2a87fd..74160ec142b 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);