tgsi/scan: fix images_buffers regression
authorMarek Olšák <marek.olsak@amd.com>
Sat, 5 Nov 2016 17:16:16 +0000 (18:16 +0100)
committerMarek Olšák <marek.olsak@amd.com>
Tue, 8 Nov 2016 16:56:42 +0000 (17:56 +0100)
The first IF statement disabled the second one.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98599

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
src/gallium/auxiliary/tgsi/tgsi_scan.c

index aeb326a..26cb2be 100644 (file)
@@ -472,6 +472,8 @@ scan_declaration(struct tgsi_shader_info *info,
          info->const_buffers_declared |= 1u << buffer;
       } else if (file == TGSI_FILE_IMAGE) {
          info->images_declared |= 1u << reg;
+         if (fulldecl->Image.Resource == TGSI_TEXTURE_BUFFER)
+            info->images_buffers |= 1 << reg;
       } else if (file == TGSI_FILE_BUFFER) {
          info->shader_buffers_declared |= 1u << reg;
       } else if (file == TGSI_FILE_INPUT) {
@@ -593,9 +595,6 @@ scan_declaration(struct tgsi_shader_info *info,
             assert(info->sampler_targets[reg] == target);
             assert(info->sampler_type[reg] == type);
          }
-      } else if (file == TGSI_FILE_IMAGE) {
-         if (fulldecl->Image.Resource == TGSI_TEXTURE_BUFFER)
-            info->images_buffers |= 1 << reg;
       }
    }
 }