Mesa (master): glsl: handle format layout qualifiers for struct with array of images

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


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

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Thu May 25 16:26:42 2017 +0200

glsl: handle format layout qualifiers for struct with array of images

This handles a situation like:

struct {
   layout (r32f) image2D imgs[6];
} s;

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>

---

 src/compiler/glsl/ast_to_hir.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp
index 65b6262f34..e451bda801 100644
--- a/src/compiler/glsl/ast_to_hir.cpp
+++ b/src/compiler/glsl/ast_to_hir.cpp
@@ -7434,7 +7434,8 @@ ast_process_struct_or_iface_block_members(exec_list *instructions,
 
             if (field_type->without_array()->is_image()) {
                if (qual->flags.q.explicit_image_format) {
-                  if (qual->image_base_type != field_type->sampled_type) {
+                  if (qual->image_base_type !=
+                      field_type->without_array()->sampled_type) {
                      _mesa_glsl_error(&loc, state, "format qualifier doesn't "
                                       "match the base data type of the image");
                   }




More information about the mesa-commit mailing list