From 89e37f9703d4c4d7d383cf1ec112d65d87f1ba11 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Mon, 3 Apr 2017 16:06:40 +0200 Subject: [PATCH] glsl: allow input memory qualifiers for images MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit ARB_bindless_texture spec allows images to be declared as shader inputs. v2: - put the */ on the following line (Timothy Arceri) Signed-off-by: Samuel Pitoiset Reviewed-by: Timothy Arceri Reviewed-by: Nicolai Hähnle --- src/compiler/glsl/ast_type.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/compiler/glsl/ast_type.cpp b/src/compiler/glsl/ast_type.cpp index 9e3e10f33c0..63c026ad06d 100644 --- a/src/compiler/glsl/ast_type.cpp +++ b/src/compiler/glsl/ast_type.cpp @@ -274,6 +274,16 @@ ast_type_qualifier::merge_qualifier(YYLTYPE *loc, input_layout_mask.flags.q.sample = 1; input_layout_mask.flags.q.smooth = 1; + if (state->has_bindless()) { + /* Allow to use image qualifiers with shader inputs/outputs. */ + input_layout_mask.flags.q.coherent = 1; + input_layout_mask.flags.q._volatile = 1; + input_layout_mask.flags.q.restrict_flag = 1; + input_layout_mask.flags.q.read_only = 1; + input_layout_mask.flags.q.write_only = 1; + input_layout_mask.flags.q.explicit_image_format = 1; + } + /* Uniform block layout qualifiers get to overwrite each * other (rightmost having priority), while all other * qualifiers currently don't allow duplicates. -- 2.30.2