[Mesa-dev] [PATCH v2 14/31] glsl: allow input memory qualifiers for images

Samuel Pitoiset samuel.pitoiset at gmail.com
Mon Apr 24 10:35:45 UTC 2017


The GL_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 <samuel.pitoiset at gmail.com>
Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>
---
 src/compiler/glsl/ast_type.cpp | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/src/compiler/glsl/ast_type.cpp b/src/compiler/glsl/ast_type.cpp
index af43eb1a35..f649a0095e 100644
--- a/src/compiler/glsl/ast_type.cpp
+++ b/src/compiler/glsl/ast_type.cpp
@@ -274,6 +274,18 @@ 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 qualifiers for images declared as shader inputs/outputs
+       * as specified by GL_ARB_bindless_texture.
+       */
+      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.12.2



More information about the mesa-dev mailing list