WIP: HLSL: force uncombined flag off for Buffer<>
authorsteve-lunarg <steve_gh@khasekhemwy.net>
Fri, 31 Mar 2017 23:40:09 +0000 (17:40 -0600)
committersteve-lunarg <steve_gh@khasekhemwy.net>
Fri, 31 Mar 2017 23:40:09 +0000 (17:40 -0600)
Test/baseResults/hlsl.intrinsics.promote.frag.out
Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out
Test/baseResults/hlsl.load.buffer.dx10.frag.out
Test/baseResults/hlsl.load.buffer.float.dx10.frag.out
Test/baseResults/hlsl.multiEntry.vert.out
hlsl/hlslGrammar.cpp

index 57b0410..4cdf62b 100644 (file)
@@ -342,7 +342,7 @@ gl_FragCoord origin is upper left
 0:51          'r50' ( temp float)
 0:51          Construct float ( temp float)
 0:?             textureFetch ( temp 4-component vector of float)
-0:51              'g_tTexbfs' (layout( r32f) uniform samplerBuffer)
+0:51              'g_tTexbfs' (layout( r32f) uniform textureBuffer)
 0:51              Convert uint to int ( temp int)
 0:51                upos: direct index for structure ( uniform uint)
 0:51                  'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
@@ -353,7 +353,7 @@ gl_FragCoord origin is upper left
 0:52          'r51' ( temp float)
 0:52          Construct float ( temp float)
 0:?             textureFetch ( temp 4-component vector of float)
-0:52              'g_tTexbfs' (layout( r32f) uniform samplerBuffer)
+0:52              'g_tTexbfs' (layout( r32f) uniform textureBuffer)
 0:52              Convert float to int ( temp int)
 0:52                fpos: direct index for structure ( uniform float)
 0:52                  'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
@@ -437,7 +437,7 @@ gl_FragCoord origin is upper left
 0:20              0 (const int)
 0:?   Linker Objects
 0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
-0:?     'g_tTexbfs' (layout( r32f) uniform samplerBuffer)
+0:?     'g_tTexbfs' (layout( r32f) uniform textureBuffer)
 0:?     'g_tTex1df4' ( uniform texture1D)
 0:?     'color' (layout( location=0) out 4-component vector of float)
 
@@ -788,7 +788,7 @@ gl_FragCoord origin is upper left
 0:51          'r50' ( temp float)
 0:51          Construct float ( temp float)
 0:?             textureFetch ( temp 4-component vector of float)
-0:51              'g_tTexbfs' (layout( r32f) uniform samplerBuffer)
+0:51              'g_tTexbfs' (layout( r32f) uniform textureBuffer)
 0:51              Convert uint to int ( temp int)
 0:51                upos: direct index for structure ( uniform uint)
 0:51                  'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
@@ -799,7 +799,7 @@ gl_FragCoord origin is upper left
 0:52          'r51' ( temp float)
 0:52          Construct float ( temp float)
 0:?             textureFetch ( temp 4-component vector of float)
-0:52              'g_tTexbfs' (layout( r32f) uniform samplerBuffer)
+0:52              'g_tTexbfs' (layout( r32f) uniform textureBuffer)
 0:52              Convert float to int ( temp int)
 0:52                fpos: direct index for structure ( uniform float)
 0:52                  'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
@@ -883,13 +883,13 @@ gl_FragCoord origin is upper left
 0:20              0 (const int)
 0:?   Linker Objects
 0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
-0:?     'g_tTexbfs' (layout( r32f) uniform samplerBuffer)
+0:?     'g_tTexbfs' (layout( r32f) uniform textureBuffer)
 0:?     'g_tTex1df4' ( uniform texture1D)
 0:?     'color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
 // Generated by (magic number): 80001
-// Id's are bound by 325
+// Id's are bound by 322
 
                               Capability Shader
                               Capability Sampled1D
@@ -897,7 +897,7 @@ gl_FragCoord origin is upper left
                               Capability ImageQuery
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 322
+                              EntryPoint Fragment 4  "main" 319
                               ExecutionMode 4 OriginUpperLeft
                               Name 4  "main"
                               Name 8  "PS_OUTPUT"
@@ -938,19 +938,19 @@ gl_FragCoord origin is upper left
                               Name 229  "r42"
                               Name 243  "r43"
                               Name 255  "r50"
-                              Name 259  "g_tTexbfs"
-                              Name 268  "r51"
-                              Name 277  "sizeQueryTemp"
-                              Name 280  "g_tTex1df4"
-                              Name 283  "WidthI"
-                              Name 286  "sizeQueryTemp"
-                              Name 292  "NumberOfLevelsU"
-                              Name 295  "sizeQueryTemp"
-                              Name 298  "WidthU"
-                              Name 300  "NumberOfLevelsI"
-                              Name 304  "sizeQueryTemp"
-                              Name 313  "ps_output"
-                              Name 322  "color"
+                              Name 258  "g_tTexbfs"
+                              Name 266  "r51"
+                              Name 274  "sizeQueryTemp"
+                              Name 277  "g_tTex1df4"
+                              Name 280  "WidthI"
+                              Name 283  "sizeQueryTemp"
+                              Name 289  "NumberOfLevelsU"
+                              Name 292  "sizeQueryTemp"
+                              Name 295  "WidthU"
+                              Name 297  "NumberOfLevelsI"
+                              Name 301  "sizeQueryTemp"
+                              Name 310  "ps_output"
+                              Name 319  "color"
                               MemberDecorate 19($Global) 0 Offset 0
                               MemberDecorate 19($Global) 1 Offset 4
                               MemberDecorate 19($Global) 2 Offset 8
@@ -963,9 +963,9 @@ gl_FragCoord origin is upper left
                               MemberDecorate 19($Global) 9 Offset 52
                               Decorate 19($Global) Block
                               Decorate 21 DescriptorSet 0
-                              Decorate 259(g_tTexbfs) DescriptorSet 0
-                              Decorate 280(g_tTex1df4) DescriptorSet 0
-                              Decorate 322(color) Location 0
+                              Decorate 258(g_tTexbfs) DescriptorSet 0
+                              Decorate 277(g_tTex1df4) DescriptorSet 0
+                              Decorate 319(color) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -1013,24 +1013,23 @@ gl_FragCoord origin is upper left
              109:     14(int) Constant 4
              110:             TypePointer Uniform 16(ivec2)
              256:             TypeImage 6(float) Buffer sampled format:R32f
-             257:             TypeSampledImage 256
-             258:             TypePointer UniformConstant 257
-  259(g_tTexbfs):    258(ptr) Variable UniformConstant
-             261:     14(int) Constant 8
-             270:     14(int) Constant 9
-             278:             TypeImage 6(float) 1D sampled format:Unknown
-             279:             TypePointer UniformConstant 278
- 280(g_tTex1df4):    279(ptr) Variable UniformConstant
-             288:     15(int) Constant 6
-             312:             TypePointer Function 8(PS_OUTPUT)
-             316:             TypePointer Function 7(fvec4)
-             321:             TypePointer Output 7(fvec4)
-      322(color):    321(ptr) Variable Output
+             257:             TypePointer UniformConstant 256
+  258(g_tTexbfs):    257(ptr) Variable UniformConstant
+             260:     14(int) Constant 8
+             268:     14(int) Constant 9
+             275:             TypeImage 6(float) 1D sampled format:Unknown
+             276:             TypePointer UniformConstant 275
+ 277(g_tTex1df4):    276(ptr) Variable UniformConstant
+             285:     15(int) Constant 6
+             309:             TypePointer Function 8(PS_OUTPUT)
+             313:             TypePointer Function 7(fvec4)
+             318:             TypePointer Output 7(fvec4)
+      319(color):    318(ptr) Variable Output
          4(main):           2 Function None 3
                5:             Label
-             323:8(PS_OUTPUT) FunctionCall 10(@main()
-             324:    7(fvec4) CompositeExtract 323 0
-                              Store 322(color) 324
+             320:8(PS_OUTPUT) FunctionCall 10(@main()
+             321:    7(fvec4) CompositeExtract 320 0
+                              Store 319(color) 321
                               Return
                               FunctionEnd
       10(@main():8(PS_OUTPUT) Function None 9
@@ -1058,16 +1057,16 @@ gl_FragCoord origin is upper left
         229(r42):     73(ptr) Variable Function
         243(r43):    101(ptr) Variable Function
         255(r50):     12(ptr) Variable Function
-        268(r51):     12(ptr) Variable Function
-277(sizeQueryTemp):     37(ptr) Variable Function
-     283(WidthI):     48(ptr) Variable Function
-286(sizeQueryTemp):     37(ptr) Variable Function
-292(NumberOfLevelsU):     37(ptr) Variable Function
-295(sizeQueryTemp):     37(ptr) Variable Function
-     298(WidthU):     37(ptr) Variable Function
-300(NumberOfLevelsI):     48(ptr) Variable Function
-304(sizeQueryTemp):     37(ptr) Variable Function
-  313(ps_output):    312(ptr) Variable Function
+        266(r51):     12(ptr) Variable Function
+274(sizeQueryTemp):     37(ptr) Variable Function
+     280(WidthI):     48(ptr) Variable Function
+283(sizeQueryTemp):     37(ptr) Variable Function
+289(NumberOfLevelsU):     37(ptr) Variable Function
+292(sizeQueryTemp):     37(ptr) Variable Function
+     295(WidthU):     37(ptr) Variable Function
+297(NumberOfLevelsI):     48(ptr) Variable Function
+301(sizeQueryTemp):     37(ptr) Variable Function
+  310(ps_output):    309(ptr) Variable Function
               24:     23(ptr) AccessChain 21 22
               25:     15(int) Load 24
               28:    26(bool) INotEqual 25 27
@@ -1271,60 +1270,58 @@ gl_FragCoord origin is upper left
              253:   17(ivec2) ExtInst 1(GLSL.std.450) 44(UClamp) 247 250 252
              254:   16(ivec2) Bitcast 253
                               Store 243(r43) 254
-             260:         257 Load 259(g_tTexbfs)
-             262:     23(ptr) AccessChain 21 261
-             263:     15(int) Load 262
-             264:     14(int) Bitcast 263
-             265:         256 Image 260
-             266:    7(fvec4) ImageFetch 265 264
-             267:    6(float) CompositeExtract 266 0
-                              Store 255(r50) 267
-             269:         257 Load 259(g_tTexbfs)
-             271:     33(ptr) AccessChain 21 270
-             272:    6(float) Load 271
-             273:     14(int) ConvertFToS 272
-             274:         256 Image 269
-             275:    7(fvec4) ImageFetch 274 273
-             276:    6(float) CompositeExtract 275 0
-                              Store 268(r51) 276
-             281:         278 Load 280(g_tTex1df4)
-             282:     15(int) ImageQuerySizeLod 281 53
-                              Store 277(sizeQueryTemp) 282
-             284:     15(int) Load 277(sizeQueryTemp)
-             285:     14(int) Bitcast 284
-                              Store 283(WidthI) 285
-             287:         278 Load 280(g_tTex1df4)
-             289:     15(int) ImageQuerySizeLod 287 288
-                              Store 286(sizeQueryTemp) 289
-             290:     15(int) Load 286(sizeQueryTemp)
-             291:     14(int) Bitcast 290
-                              Store 283(WidthI) 291
-             293:         278 Load 280(g_tTex1df4)
-             294:     15(int) ImageQueryLevels 293
-                              Store 292(NumberOfLevelsU) 294
-             296:         278 Load 280(g_tTex1df4)
-             297:     15(int) ImageQuerySizeLod 296 288
-                              Store 295(sizeQueryTemp) 297
-             299:     15(int) Load 295(sizeQueryTemp)
-                              Store 298(WidthU) 299
-             301:         278 Load 280(g_tTex1df4)
-             302:     15(int) ImageQueryLevels 301
-             303:     14(int) Bitcast 302
-                              Store 300(NumberOfLevelsI) 303
-             305:         278 Load 280(g_tTex1df4)
-             306:     15(int) ImageQuerySizeLod 305 288
-                              Store 304(sizeQueryTemp) 306
-             307:     15(int) Load 304(sizeQueryTemp)
+             259:         256 Load 258(g_tTexbfs)
+             261:     23(ptr) AccessChain 21 260
+             262:     15(int) Load 261
+             263:     14(int) Bitcast 262
+             264:    7(fvec4) ImageFetch 259 263
+             265:    6(float) CompositeExtract 264 0
+                              Store 255(r50) 265
+             267:         256 Load 258(g_tTexbfs)
+             269:     33(ptr) AccessChain 21 268
+             270:    6(float) Load 269
+             271:     14(int) ConvertFToS 270
+             272:    7(fvec4) ImageFetch 267 271
+             273:    6(float) CompositeExtract 272 0
+                              Store 266(r51) 273
+             278:         275 Load 277(g_tTex1df4)
+             279:     15(int) ImageQuerySizeLod 278 53
+                              Store 274(sizeQueryTemp) 279
+             281:     15(int) Load 274(sizeQueryTemp)
+             282:     14(int) Bitcast 281
+                              Store 280(WidthI) 282
+             284:         275 Load 277(g_tTex1df4)
+             286:     15(int) ImageQuerySizeLod 284 285
+                              Store 283(sizeQueryTemp) 286
+             287:     15(int) Load 283(sizeQueryTemp)
+             288:     14(int) Bitcast 287
+                              Store 280(WidthI) 288
+             290:         275 Load 277(g_tTex1df4)
+             291:     15(int) ImageQueryLevels 290
+                              Store 289(NumberOfLevelsU) 291
+             293:         275 Load 277(g_tTex1df4)
+             294:     15(int) ImageQuerySizeLod 293 285
+                              Store 292(sizeQueryTemp) 294
+             296:     15(int) Load 292(sizeQueryTemp)
+                              Store 295(WidthU) 296
+             298:         275 Load 277(g_tTex1df4)
+             299:     15(int) ImageQueryLevels 298
+             300:     14(int) Bitcast 299
+                              Store 297(NumberOfLevelsI) 300
+             302:         275 Load 277(g_tTex1df4)
+             303:     15(int) ImageQuerySizeLod 302 285
+                              Store 301(sizeQueryTemp) 303
+             304:     15(int) Load 301(sizeQueryTemp)
+             305:     14(int) Bitcast 304
+                              Store 280(WidthI) 305
+             306:         275 Load 277(g_tTex1df4)
+             307:     15(int) ImageQueryLevels 306
              308:     14(int) Bitcast 307
-                              Store 283(WidthI) 308
-             309:         278 Load 280(g_tTex1df4)
-             310:     15(int) ImageQueryLevels 309
-             311:     14(int) Bitcast 310
-                              Store 300(NumberOfLevelsI) 311
-             314:    6(float) Load 13(r00)
-             315:    7(fvec4) CompositeConstruct 314 314 314 314
-             317:    316(ptr) AccessChain 313(ps_output) 53
-                              Store 317 315
-             318:8(PS_OUTPUT) Load 313(ps_output)
-                              ReturnValue 318
+                              Store 297(NumberOfLevelsI) 308
+             311:    6(float) Load 13(r00)
+             312:    7(fvec4) CompositeConstruct 311 311 311 311
+             314:    313(ptr) AccessChain 310(ps_output) 53
+                              Store 314 312
+             315:8(PS_OUTPUT) Load 310(ps_output)
+                              ReturnValue 315
                               FunctionEnd
index 59d755e..c6e4619 100644 (file)
@@ -95,7 +95,7 @@ gl_FragCoord origin is upper left
 0:20              0 (const int)
 0:?   Linker Objects
 0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
-0:?     'g_tTexbfs' (layout( r32f) uniform samplerBuffer)
+0:?     'g_tTexbfs' (layout( r32f) uniform textureBuffer)
 0:?     'g_tTex1df4' ( uniform texture1D)
 0:?     'color' (layout( location=0) out 4-component vector of float)
 
@@ -199,13 +199,13 @@ gl_FragCoord origin is upper left
 0:20              0 (const int)
 0:?   Linker Objects
 0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
-0:?     'g_tTexbfs' (layout( r32f) uniform samplerBuffer)
+0:?     'g_tTexbfs' (layout( r32f) uniform textureBuffer)
 0:?     'g_tTex1df4' ( uniform texture1D)
 0:?     'color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
 // Generated by (magic number): 80001
-// Id's are bound by 81
+// Id's are bound by 80
 
                               Capability Shader
                               Capability Sampled1D
@@ -242,7 +242,7 @@ gl_FragCoord origin is upper left
                               Name 57  "sizeQueryTemp"
                               Name 66  "ps_output"
                               Name 74  "color"
-                              Name 80  "g_tTexbfs"
+                              Name 79  "g_tTexbfs"
                               MemberDecorate 17($Global) 0 Offset 0
                               MemberDecorate 17($Global) 1 Offset 4
                               MemberDecorate 17($Global) 2 Offset 8
@@ -257,7 +257,7 @@ gl_FragCoord origin is upper left
                               Decorate 19 DescriptorSet 0
                               Decorate 31(g_tTex1df4) DescriptorSet 0
                               Decorate 74(color) Location 0
-                              Decorate 80(g_tTexbfs) DescriptorSet 0
+                              Decorate 79(g_tTexbfs) DescriptorSet 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -289,9 +289,8 @@ gl_FragCoord origin is upper left
               73:             TypePointer Output 7(fvec4)
        74(color):     73(ptr) Variable Output
               77:             TypeImage 6(float) Buffer sampled format:R32f
-              78:             TypeSampledImage 77
-              79:             TypePointer UniformConstant 78
-   80(g_tTexbfs):     79(ptr) Variable UniformConstant
+              78:             TypePointer UniformConstant 77
+   79(g_tTexbfs):     78(ptr) Variable UniformConstant
          4(main):           2 Function None 3
                5:             Label
               75:8(PS_OUTPUT) FunctionCall 10(@main()
index 6a4f175..f111dd5 100644 (file)
@@ -9,7 +9,7 @@ gl_FragCoord origin is upper left
 0:28        move second child to first child ( temp 4-component vector of float)
 0:28          'r00' ( temp 4-component vector of float)
 0:28          textureFetch ( temp 4-component vector of float)
-0:28            'g_tTexbf4' (layout( rgba32f) uniform samplerBuffer)
+0:28            'g_tTexbf4' (layout( rgba32f) uniform textureBuffer)
 0:28            c1: direct index for structure ( uniform int)
 0:28              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:28              Constant:
@@ -18,7 +18,7 @@ gl_FragCoord origin is upper left
 0:29        move second child to first child ( temp 4-component vector of int)
 0:29          'r01' ( temp 4-component vector of int)
 0:29          textureFetch ( temp 4-component vector of int)
-0:29            'g_tTexbi4' (layout( rgba32i) uniform isamplerBuffer)
+0:29            'g_tTexbi4' (layout( rgba32i) uniform itextureBuffer)
 0:29            c1: direct index for structure ( uniform int)
 0:29              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:29              Constant:
@@ -27,7 +27,7 @@ gl_FragCoord origin is upper left
 0:30        move second child to first child ( temp 4-component vector of uint)
 0:30          'r02' ( temp 4-component vector of uint)
 0:30          textureFetch ( temp 4-component vector of uint)
-0:30            'g_tTexbu4' (layout( rgba32ui) uniform usamplerBuffer)
+0:30            'g_tTexbu4' (layout( rgba32ui) uniform utextureBuffer)
 0:30            c1: direct index for structure ( uniform int)
 0:30              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:30              Constant:
@@ -71,10 +71,10 @@ gl_FragCoord origin is upper left
 0:24            Constant:
 0:24              1 (const int)
 0:?   Linker Objects
-0:?     'g_tTexbf4_test' (layout( binding=0 rgba32f) uniform samplerBuffer)
-0:?     'g_tTexbf4' (layout( rgba32f) uniform samplerBuffer)
-0:?     'g_tTexbi4' (layout( rgba32i) uniform isamplerBuffer)
-0:?     'g_tTexbu4' (layout( rgba32ui) uniform usamplerBuffer)
+0:?     'g_tTexbf4_test' (layout( binding=0 rgba32f) uniform textureBuffer)
+0:?     'g_tTexbf4' (layout( rgba32f) uniform textureBuffer)
+0:?     'g_tTexbi4' (layout( rgba32i) uniform itextureBuffer)
+0:?     'g_tTexbu4' (layout( rgba32ui) uniform utextureBuffer)
 0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 0:?     'Depth' ( out float FragDepth)
@@ -93,7 +93,7 @@ gl_FragCoord origin is upper left
 0:28        move second child to first child ( temp 4-component vector of float)
 0:28          'r00' ( temp 4-component vector of float)
 0:28          textureFetch ( temp 4-component vector of float)
-0:28            'g_tTexbf4' (layout( rgba32f) uniform samplerBuffer)
+0:28            'g_tTexbf4' (layout( rgba32f) uniform textureBuffer)
 0:28            c1: direct index for structure ( uniform int)
 0:28              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:28              Constant:
@@ -102,7 +102,7 @@ gl_FragCoord origin is upper left
 0:29        move second child to first child ( temp 4-component vector of int)
 0:29          'r01' ( temp 4-component vector of int)
 0:29          textureFetch ( temp 4-component vector of int)
-0:29            'g_tTexbi4' (layout( rgba32i) uniform isamplerBuffer)
+0:29            'g_tTexbi4' (layout( rgba32i) uniform itextureBuffer)
 0:29            c1: direct index for structure ( uniform int)
 0:29              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:29              Constant:
@@ -111,7 +111,7 @@ gl_FragCoord origin is upper left
 0:30        move second child to first child ( temp 4-component vector of uint)
 0:30          'r02' ( temp 4-component vector of uint)
 0:30          textureFetch ( temp 4-component vector of uint)
-0:30            'g_tTexbu4' (layout( rgba32ui) uniform usamplerBuffer)
+0:30            'g_tTexbu4' (layout( rgba32ui) uniform utextureBuffer)
 0:30            c1: direct index for structure ( uniform int)
 0:30              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:30              Constant:
@@ -155,23 +155,23 @@ gl_FragCoord origin is upper left
 0:24            Constant:
 0:24              1 (const int)
 0:?   Linker Objects
-0:?     'g_tTexbf4_test' (layout( binding=0 rgba32f) uniform samplerBuffer)
-0:?     'g_tTexbf4' (layout( rgba32f) uniform samplerBuffer)
-0:?     'g_tTexbi4' (layout( rgba32i) uniform isamplerBuffer)
-0:?     'g_tTexbu4' (layout( rgba32ui) uniform usamplerBuffer)
+0:?     'g_tTexbf4_test' (layout( binding=0 rgba32f) uniform textureBuffer)
+0:?     'g_tTexbf4' (layout( rgba32f) uniform textureBuffer)
+0:?     'g_tTexbi4' (layout( rgba32i) uniform itextureBuffer)
+0:?     'g_tTexbu4' (layout( rgba32ui) uniform utextureBuffer)
 0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 0:?     'Depth' ( out float FragDepth)
 
 // Module Version 10000
 // Generated by (magic number): 80001
-// Id's are bound by 78
+// Id's are bound by 72
 
                               Capability Shader
                               Capability SampledBuffer
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 70 74
+                              EntryPoint Fragment 4  "main" 64 68
                               ExecutionMode 4 OriginUpperLeft
                               Name 4  "main"
                               Name 8  "PS_OUTPUT"
@@ -179,43 +179,43 @@ gl_FragCoord origin is upper left
                               MemberName 8(PS_OUTPUT) 1  "Depth"
                               Name 10  "@main("
                               Name 13  "r00"
-                              Name 17  "g_tTexbf4"
-                              Name 23  "$Global"
-                              MemberName 23($Global) 0  "c1"
-                              MemberName 23($Global) 1  "c2"
-                              MemberName 23($Global) 2  "c3"
-                              MemberName 23($Global) 3  "c4"
-                              MemberName 23($Global) 4  "o1"
-                              MemberName 23($Global) 5  "o2"
-                              MemberName 23($Global) 6  "o3"
-                              MemberName 23($Global) 7  "o4"
-                              Name 25  ""
-                              Name 33  "r01"
-                              Name 37  "g_tTexbi4"
-                              Name 46  "r02"
-                              Name 50  "g_tTexbu4"
-                              Name 57  "psout"
-                              Name 67  "flattenTemp"
-                              Name 70  "Color"
-                              Name 74  "Depth"
-                              Name 77  "g_tTexbf4_test"
-                              Decorate 17(g_tTexbf4) DescriptorSet 0
-                              MemberDecorate 23($Global) 0 Offset 0
-                              MemberDecorate 23($Global) 1 Offset 8
-                              MemberDecorate 23($Global) 2 Offset 16
-                              MemberDecorate 23($Global) 3 Offset 32
-                              MemberDecorate 23($Global) 4 Offset 48
-                              MemberDecorate 23($Global) 5 Offset 56
-                              MemberDecorate 23($Global) 6 Offset 64
-                              MemberDecorate 23($Global) 7 Offset 80
-                              Decorate 23($Global) Block
-                              Decorate 25 DescriptorSet 0
-                              Decorate 37(g_tTexbi4) DescriptorSet 0
-                              Decorate 50(g_tTexbu4) DescriptorSet 0
-                              Decorate 70(Color) Location 0
-                              Decorate 74(Depth) BuiltIn FragDepth
-                              Decorate 77(g_tTexbf4_test) DescriptorSet 0
-                              Decorate 77(g_tTexbf4_test) Binding 0
+                              Name 16  "g_tTexbf4"
+                              Name 22  "$Global"
+                              MemberName 22($Global) 0  "c1"
+                              MemberName 22($Global) 1  "c2"
+                              MemberName 22($Global) 2  "c3"
+                              MemberName 22($Global) 3  "c4"
+                              MemberName 22($Global) 4  "o1"
+                              MemberName 22($Global) 5  "o2"
+                              MemberName 22($Global) 6  "o3"
+                              MemberName 22($Global) 7  "o4"
+                              Name 24  ""
+                              Name 31  "r01"
+                              Name 34  "g_tTexbi4"
+                              Name 42  "r02"
+                              Name 45  "g_tTexbu4"
+                              Name 51  "psout"
+                              Name 61  "flattenTemp"
+                              Name 64  "Color"
+                              Name 68  "Depth"
+                              Name 71  "g_tTexbf4_test"
+                              Decorate 16(g_tTexbf4) DescriptorSet 0
+                              MemberDecorate 22($Global) 0 Offset 0
+                              MemberDecorate 22($Global) 1 Offset 8
+                              MemberDecorate 22($Global) 2 Offset 16
+                              MemberDecorate 22($Global) 3 Offset 32
+                              MemberDecorate 22($Global) 4 Offset 48
+                              MemberDecorate 22($Global) 5 Offset 56
+                              MemberDecorate 22($Global) 6 Offset 64
+                              MemberDecorate 22($Global) 7 Offset 80
+                              Decorate 22($Global) Block
+                              Decorate 24 DescriptorSet 0
+                              Decorate 34(g_tTexbi4) DescriptorSet 0
+                              Decorate 45(g_tTexbu4) DescriptorSet 0
+                              Decorate 64(Color) Location 0
+                              Decorate 68(Depth) BuiltIn FragDepth
+                              Decorate 71(g_tTexbf4_test) DescriptorSet 0
+                              Decorate 71(g_tTexbf4_test) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -224,81 +224,75 @@ gl_FragCoord origin is upper left
                9:             TypeFunction 8(PS_OUTPUT)
               12:             TypePointer Function 7(fvec4)
               14:             TypeImage 6(float) Buffer sampled format:Rgba32f
-              15:             TypeSampledImage 14
-              16:             TypePointer UniformConstant 15
-   17(g_tTexbf4):     16(ptr) Variable UniformConstant
-              19:             TypeInt 32 1
-              20:             TypeVector 19(int) 2
-              21:             TypeVector 19(int) 3
-              22:             TypeVector 19(int) 4
-     23($Global):             TypeStruct 19(int) 20(ivec2) 21(ivec3) 22(ivec4) 19(int) 20(ivec2) 21(ivec3) 22(ivec4)
-              24:             TypePointer Uniform 23($Global)
-              25:     24(ptr) Variable Uniform
-              26:     19(int) Constant 0
-              27:             TypePointer Uniform 19(int)
-              32:             TypePointer Function 22(ivec4)
-              34:             TypeImage 19(int) Buffer sampled format:Rgba32i
-              35:             TypeSampledImage 34
-              36:             TypePointer UniformConstant 35
-   37(g_tTexbi4):     36(ptr) Variable UniformConstant
-              43:             TypeInt 32 0
-              44:             TypeVector 43(int) 4
-              45:             TypePointer Function 44(ivec4)
-              47:             TypeImage 43(int) Buffer sampled format:Rgba32ui
-              48:             TypeSampledImage 47
-              49:             TypePointer UniformConstant 48
-   50(g_tTexbu4):     49(ptr) Variable UniformConstant
-              56:             TypePointer Function 8(PS_OUTPUT)
-              58:    6(float) Constant 1065353216
-              59:    7(fvec4) ConstantComposite 58 58 58 58
-              61:     19(int) Constant 1
-              62:             TypePointer Function 6(float)
-              69:             TypePointer Output 7(fvec4)
-       70(Color):     69(ptr) Variable Output
-              73:             TypePointer Output 6(float)
-       74(Depth):     73(ptr) Variable Output
-77(g_tTexbf4_test):     16(ptr) Variable UniformConstant
+              15:             TypePointer UniformConstant 14
+   16(g_tTexbf4):     15(ptr) Variable UniformConstant
+              18:             TypeInt 32 1
+              19:             TypeVector 18(int) 2
+              20:             TypeVector 18(int) 3
+              21:             TypeVector 18(int) 4
+     22($Global):             TypeStruct 18(int) 19(ivec2) 20(ivec3) 21(ivec4) 18(int) 19(ivec2) 20(ivec3) 21(ivec4)
+              23:             TypePointer Uniform 22($Global)
+              24:     23(ptr) Variable Uniform
+              25:     18(int) Constant 0
+              26:             TypePointer Uniform 18(int)
+              30:             TypePointer Function 21(ivec4)
+              32:             TypeImage 18(int) Buffer sampled format:Rgba32i
+              33:             TypePointer UniformConstant 32
+   34(g_tTexbi4):     33(ptr) Variable UniformConstant
+              39:             TypeInt 32 0
+              40:             TypeVector 39(int) 4
+              41:             TypePointer Function 40(ivec4)
+              43:             TypeImage 39(int) Buffer sampled format:Rgba32ui
+              44:             TypePointer UniformConstant 43
+   45(g_tTexbu4):     44(ptr) Variable UniformConstant
+              50:             TypePointer Function 8(PS_OUTPUT)
+              52:    6(float) Constant 1065353216
+              53:    7(fvec4) ConstantComposite 52 52 52 52
+              55:     18(int) Constant 1
+              56:             TypePointer Function 6(float)
+              63:             TypePointer Output 7(fvec4)
+       64(Color):     63(ptr) Variable Output
+              67:             TypePointer Output 6(float)
+       68(Depth):     67(ptr) Variable Output
+71(g_tTexbf4_test):     15(ptr) Variable UniformConstant
          4(main):           2 Function None 3
                5:             Label
- 67(flattenTemp):     56(ptr) Variable Function
-              68:8(PS_OUTPUT) FunctionCall 10(@main()
-                              Store 67(flattenTemp) 68
-              71:     12(ptr) AccessChain 67(flattenTemp) 26
-              72:    7(fvec4) Load 71
-                              Store 70(Color) 72
-              75:     62(ptr) AccessChain 67(flattenTemp) 61
-              76:    6(float) Load 75
-                              Store 74(Depth) 76
+ 61(flattenTemp):     50(ptr) Variable Function
+              62:8(PS_OUTPUT) FunctionCall 10(@main()
+                              Store 61(flattenTemp) 62
+              65:     12(ptr) AccessChain 61(flattenTemp) 25
+              66:    7(fvec4) Load 65
+                              Store 64(Color) 66
+              69:     56(ptr) AccessChain 61(flattenTemp) 55
+              70:    6(float) Load 69
+                              Store 68(Depth) 70
                               Return
                               FunctionEnd
       10(@main():8(PS_OUTPUT) Function None 9
               11:             Label
          13(r00):     12(ptr) Variable Function
-         33(r01):     32(ptr) Variable Function
-         46(r02):     45(ptr) Variable Function
-       57(psout):     56(ptr) Variable Function
-              18:          15 Load 17(g_tTexbf4)
-              28:     27(ptr) AccessChain 25 26
-              29:     19(int) Load 28
-              30:          14 Image 18
-              31:    7(fvec4) ImageFetch 30 29
-                              Store 13(r00) 31
-              38:          35 Load 37(g_tTexbi4)
-              39:     27(ptr) AccessChain 25 26
-              40:     19(int) Load 39
-              41:          34 Image 38
-              42:   22(ivec4) ImageFetch 41 40
-                              Store 33(r01) 42
-              51:          48 Load 50(g_tTexbu4)
-              52:     27(ptr) AccessChain 25 26
-              53:     19(int) Load 52
-              54:          47 Image 51
-              55:   44(ivec4) ImageFetch 54 53
-                              Store 46(r02) 55
-              60:     12(ptr) AccessChain 57(psout) 26
-                              Store 60 59
-              63:     62(ptr) AccessChain 57(psout) 61
-                              Store 63 58
-              64:8(PS_OUTPUT) Load 57(psout)
-                              ReturnValue 64
+         31(r01):     30(ptr) Variable Function
+         42(r02):     41(ptr) Variable Function
+       51(psout):     50(ptr) Variable Function
+              17:          14 Load 16(g_tTexbf4)
+              27:     26(ptr) AccessChain 24 25
+              28:     18(int) Load 27
+              29:    7(fvec4) ImageFetch 17 28
+                              Store 13(r00) 29
+              35:          32 Load 34(g_tTexbi4)
+              36:     26(ptr) AccessChain 24 25
+              37:     18(int) Load 36
+              38:   21(ivec4) ImageFetch 35 37
+                              Store 31(r01) 38
+              46:          43 Load 45(g_tTexbu4)
+              47:     26(ptr) AccessChain 24 25
+              48:     18(int) Load 47
+              49:   40(ivec4) ImageFetch 46 48
+                              Store 42(r02) 49
+              54:     12(ptr) AccessChain 51(psout) 25
+                              Store 54 53
+              57:     56(ptr) AccessChain 51(psout) 55
+                              Store 57 52
+              58:8(PS_OUTPUT) Load 51(psout)
+                              ReturnValue 58
                               FunctionEnd
index eecba7d..31e7927 100644 (file)
@@ -10,7 +10,7 @@ gl_FragCoord origin is upper left
 0:28          'r00' ( temp float)
 0:28          Construct float ( temp float)
 0:?             textureFetch ( temp 4-component vector of float)
-0:28              'g_tTexbfs' (layout( r32f) uniform samplerBuffer)
+0:28              'g_tTexbfs' (layout( r32f) uniform textureBuffer)
 0:28              c1: direct index for structure ( uniform int)
 0:28                'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:28                Constant:
@@ -20,7 +20,7 @@ gl_FragCoord origin is upper left
 0:29          'r01' ( temp int)
 0:29          Construct int ( temp int)
 0:?             textureFetch ( temp 4-component vector of int)
-0:29              'g_tTexbis' (layout( r32i) uniform isamplerBuffer)
+0:29              'g_tTexbis' (layout( r32i) uniform itextureBuffer)
 0:29              c1: direct index for structure ( uniform int)
 0:29                'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:29                Constant:
@@ -30,7 +30,7 @@ gl_FragCoord origin is upper left
 0:30          'r02' ( temp uint)
 0:30          Construct uint ( temp uint)
 0:?             textureFetch ( temp 4-component vector of uint)
-0:30              'g_tTexbus' (layout( r32ui) uniform usamplerBuffer)
+0:30              'g_tTexbus' (layout( r32ui) uniform utextureBuffer)
 0:30              c1: direct index for structure ( uniform int)
 0:30                'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:30                Constant:
@@ -74,10 +74,10 @@ gl_FragCoord origin is upper left
 0:24            Constant:
 0:24              1 (const int)
 0:?   Linker Objects
-0:?     'g_tTexbfs_test' (layout( binding=0 r32f) uniform samplerBuffer)
-0:?     'g_tTexbfs' (layout( r32f) uniform samplerBuffer)
-0:?     'g_tTexbis' (layout( r32i) uniform isamplerBuffer)
-0:?     'g_tTexbus' (layout( r32ui) uniform usamplerBuffer)
+0:?     'g_tTexbfs_test' (layout( binding=0 r32f) uniform textureBuffer)
+0:?     'g_tTexbfs' (layout( r32f) uniform textureBuffer)
+0:?     'g_tTexbis' (layout( r32i) uniform itextureBuffer)
+0:?     'g_tTexbus' (layout( r32ui) uniform utextureBuffer)
 0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 0:?     'Depth' ( out float FragDepth)
@@ -97,7 +97,7 @@ gl_FragCoord origin is upper left
 0:28          'r00' ( temp float)
 0:28          Construct float ( temp float)
 0:?             textureFetch ( temp 4-component vector of float)
-0:28              'g_tTexbfs' (layout( r32f) uniform samplerBuffer)
+0:28              'g_tTexbfs' (layout( r32f) uniform textureBuffer)
 0:28              c1: direct index for structure ( uniform int)
 0:28                'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:28                Constant:
@@ -107,7 +107,7 @@ gl_FragCoord origin is upper left
 0:29          'r01' ( temp int)
 0:29          Construct int ( temp int)
 0:?             textureFetch ( temp 4-component vector of int)
-0:29              'g_tTexbis' (layout( r32i) uniform isamplerBuffer)
+0:29              'g_tTexbis' (layout( r32i) uniform itextureBuffer)
 0:29              c1: direct index for structure ( uniform int)
 0:29                'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:29                Constant:
@@ -117,7 +117,7 @@ gl_FragCoord origin is upper left
 0:30          'r02' ( temp uint)
 0:30          Construct uint ( temp uint)
 0:?             textureFetch ( temp 4-component vector of uint)
-0:30              'g_tTexbus' (layout( r32ui) uniform usamplerBuffer)
+0:30              'g_tTexbus' (layout( r32ui) uniform utextureBuffer)
 0:30              c1: direct index for structure ( uniform int)
 0:30                'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:30                Constant:
@@ -161,23 +161,23 @@ gl_FragCoord origin is upper left
 0:24            Constant:
 0:24              1 (const int)
 0:?   Linker Objects
-0:?     'g_tTexbfs_test' (layout( binding=0 r32f) uniform samplerBuffer)
-0:?     'g_tTexbfs' (layout( r32f) uniform samplerBuffer)
-0:?     'g_tTexbis' (layout( r32i) uniform isamplerBuffer)
-0:?     'g_tTexbus' (layout( r32ui) uniform usamplerBuffer)
+0:?     'g_tTexbfs_test' (layout( binding=0 r32f) uniform textureBuffer)
+0:?     'g_tTexbfs' (layout( r32f) uniform textureBuffer)
+0:?     'g_tTexbis' (layout( r32i) uniform itextureBuffer)
+0:?     'g_tTexbus' (layout( r32ui) uniform utextureBuffer)
 0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 0:?     'Depth' ( out float FragDepth)
 
 // Module Version 10000
 // Generated by (magic number): 80001
-// Id's are bound by 81
+// Id's are bound by 75
 
                               Capability Shader
                               Capability SampledBuffer
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 73 77
+                              EntryPoint Fragment 4  "main" 67 71
                               ExecutionMode 4 OriginUpperLeft
                               Name 4  "main"
                               Name 8  "PS_OUTPUT"
@@ -185,43 +185,43 @@ gl_FragCoord origin is upper left
                               MemberName 8(PS_OUTPUT) 1  "Depth"
                               Name 10  "@main("
                               Name 13  "r00"
-                              Name 17  "g_tTexbfs"
-                              Name 23  "$Global"
-                              MemberName 23($Global) 0  "c1"
-                              MemberName 23($Global) 1  "c2"
-                              MemberName 23($Global) 2  "c3"
-                              MemberName 23($Global) 3  "c4"
-                              MemberName 23($Global) 4  "o1"
-                              MemberName 23($Global) 5  "o2"
-                              MemberName 23($Global) 6  "o3"
-                              MemberName 23($Global) 7  "o4"
-                              Name 25  ""
-                              Name 34  "r01"
-                              Name 38  "g_tTexbis"
-                              Name 47  "r02"
-                              Name 51  "g_tTexbus"
-                              Name 60  "psout"
-                              Name 70  "flattenTemp"
-                              Name 73  "Color"
-                              Name 77  "Depth"
-                              Name 80  "g_tTexbfs_test"
-                              Decorate 17(g_tTexbfs) DescriptorSet 0
-                              MemberDecorate 23($Global) 0 Offset 0
-                              MemberDecorate 23($Global) 1 Offset 8
-                              MemberDecorate 23($Global) 2 Offset 16
-                              MemberDecorate 23($Global) 3 Offset 32
-                              MemberDecorate 23($Global) 4 Offset 48
-                              MemberDecorate 23($Global) 5 Offset 56
-                              MemberDecorate 23($Global) 6 Offset 64
-                              MemberDecorate 23($Global) 7 Offset 80
-                              Decorate 23($Global) Block
-                              Decorate 25 DescriptorSet 0
-                              Decorate 38(g_tTexbis) DescriptorSet 0
-                              Decorate 51(g_tTexbus) DescriptorSet 0
-                              Decorate 73(Color) Location 0
-                              Decorate 77(Depth) BuiltIn FragDepth
-                              Decorate 80(g_tTexbfs_test) DescriptorSet 0
-                              Decorate 80(g_tTexbfs_test) Binding 0
+                              Name 16  "g_tTexbfs"
+                              Name 22  "$Global"
+                              MemberName 22($Global) 0  "c1"
+                              MemberName 22($Global) 1  "c2"
+                              MemberName 22($Global) 2  "c3"
+                              MemberName 22($Global) 3  "c4"
+                              MemberName 22($Global) 4  "o1"
+                              MemberName 22($Global) 5  "o2"
+                              MemberName 22($Global) 6  "o3"
+                              MemberName 22($Global) 7  "o4"
+                              Name 24  ""
+                              Name 32  "r01"
+                              Name 35  "g_tTexbis"
+                              Name 43  "r02"
+                              Name 46  "g_tTexbus"
+                              Name 54  "psout"
+                              Name 64  "flattenTemp"
+                              Name 67  "Color"
+                              Name 71  "Depth"
+                              Name 74  "g_tTexbfs_test"
+                              Decorate 16(g_tTexbfs) DescriptorSet 0
+                              MemberDecorate 22($Global) 0 Offset 0
+                              MemberDecorate 22($Global) 1 Offset 8
+                              MemberDecorate 22($Global) 2 Offset 16
+                              MemberDecorate 22($Global) 3 Offset 32
+                              MemberDecorate 22($Global) 4 Offset 48
+                              MemberDecorate 22($Global) 5 Offset 56
+                              MemberDecorate 22($Global) 6 Offset 64
+                              MemberDecorate 22($Global) 7 Offset 80
+                              Decorate 22($Global) Block
+                              Decorate 24 DescriptorSet 0
+                              Decorate 35(g_tTexbis) DescriptorSet 0
+                              Decorate 46(g_tTexbus) DescriptorSet 0
+                              Decorate 67(Color) Location 0
+                              Decorate 71(Depth) BuiltIn FragDepth
+                              Decorate 74(g_tTexbfs_test) DescriptorSet 0
+                              Decorate 74(g_tTexbfs_test) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -230,84 +230,78 @@ gl_FragCoord origin is upper left
                9:             TypeFunction 8(PS_OUTPUT)
               12:             TypePointer Function 6(float)
               14:             TypeImage 6(float) Buffer sampled format:R32f
-              15:             TypeSampledImage 14
-              16:             TypePointer UniformConstant 15
-   17(g_tTexbfs):     16(ptr) Variable UniformConstant
-              19:             TypeInt 32 1
-              20:             TypeVector 19(int) 2
-              21:             TypeVector 19(int) 3
-              22:             TypeVector 19(int) 4
-     23($Global):             TypeStruct 19(int) 20(ivec2) 21(ivec3) 22(ivec4) 19(int) 20(ivec2) 21(ivec3) 22(ivec4)
-              24:             TypePointer Uniform 23($Global)
-              25:     24(ptr) Variable Uniform
-              26:     19(int) Constant 0
-              27:             TypePointer Uniform 19(int)
-              33:             TypePointer Function 19(int)
-              35:             TypeImage 19(int) Buffer sampled format:R32i
-              36:             TypeSampledImage 35
-              37:             TypePointer UniformConstant 36
-   38(g_tTexbis):     37(ptr) Variable UniformConstant
-              45:             TypeInt 32 0
-              46:             TypePointer Function 45(int)
-              48:             TypeImage 45(int) Buffer sampled format:R32ui
-              49:             TypeSampledImage 48
-              50:             TypePointer UniformConstant 49
-   51(g_tTexbus):     50(ptr) Variable UniformConstant
-              56:             TypeVector 45(int) 4
-              59:             TypePointer Function 8(PS_OUTPUT)
-              61:    6(float) Constant 1065353216
-              62:    7(fvec4) ConstantComposite 61 61 61 61
-              63:             TypePointer Function 7(fvec4)
-              65:     19(int) Constant 1
-              72:             TypePointer Output 7(fvec4)
-       73(Color):     72(ptr) Variable Output
-              76:             TypePointer Output 6(float)
-       77(Depth):     76(ptr) Variable Output
-80(g_tTexbfs_test):     16(ptr) Variable UniformConstant
+              15:             TypePointer UniformConstant 14
+   16(g_tTexbfs):     15(ptr) Variable UniformConstant
+              18:             TypeInt 32 1
+              19:             TypeVector 18(int) 2
+              20:             TypeVector 18(int) 3
+              21:             TypeVector 18(int) 4
+     22($Global):             TypeStruct 18(int) 19(ivec2) 20(ivec3) 21(ivec4) 18(int) 19(ivec2) 20(ivec3) 21(ivec4)
+              23:             TypePointer Uniform 22($Global)
+              24:     23(ptr) Variable Uniform
+              25:     18(int) Constant 0
+              26:             TypePointer Uniform 18(int)
+              31:             TypePointer Function 18(int)
+              33:             TypeImage 18(int) Buffer sampled format:R32i
+              34:             TypePointer UniformConstant 33
+   35(g_tTexbis):     34(ptr) Variable UniformConstant
+              41:             TypeInt 32 0
+              42:             TypePointer Function 41(int)
+              44:             TypeImage 41(int) Buffer sampled format:R32ui
+              45:             TypePointer UniformConstant 44
+   46(g_tTexbus):     45(ptr) Variable UniformConstant
+              50:             TypeVector 41(int) 4
+              53:             TypePointer Function 8(PS_OUTPUT)
+              55:    6(float) Constant 1065353216
+              56:    7(fvec4) ConstantComposite 55 55 55 55
+              57:             TypePointer Function 7(fvec4)
+              59:     18(int) Constant 1
+              66:             TypePointer Output 7(fvec4)
+       67(Color):     66(ptr) Variable Output
+              70:             TypePointer Output 6(float)
+       71(Depth):     70(ptr) Variable Output
+74(g_tTexbfs_test):     15(ptr) Variable UniformConstant
          4(main):           2 Function None 3
                5:             Label
70(flattenTemp):     59(ptr) Variable Function
-              71:8(PS_OUTPUT) FunctionCall 10(@main()
-                              Store 70(flattenTemp) 71
-              74:     63(ptr) AccessChain 70(flattenTemp) 26
-              75:    7(fvec4) Load 74
-                              Store 73(Color) 75
-              78:     12(ptr) AccessChain 70(flattenTemp) 65
-              79:    6(float) Load 78
-                              Store 77(Depth) 79
64(flattenTemp):     53(ptr) Variable Function
+              65:8(PS_OUTPUT) FunctionCall 10(@main()
+                              Store 64(flattenTemp) 65
+              68:     57(ptr) AccessChain 64(flattenTemp) 25
+              69:    7(fvec4) Load 68
+                              Store 67(Color) 69
+              72:     12(ptr) AccessChain 64(flattenTemp) 59
+              73:    6(float) Load 72
+                              Store 71(Depth) 73
                               Return
                               FunctionEnd
       10(@main():8(PS_OUTPUT) Function None 9
               11:             Label
          13(r00):     12(ptr) Variable Function
-         34(r01):     33(ptr) Variable Function
-         47(r02):     46(ptr) Variable Function
-       60(psout):     59(ptr) Variable Function
-              18:          15 Load 17(g_tTexbfs)
-              28:     27(ptr) AccessChain 25 26
-              29:     19(int) Load 28
-              30:          14 Image 18
-              31:    7(fvec4) ImageFetch 30 29
-              32:    6(float) CompositeExtract 31 0
-                              Store 13(r00) 32
-              39:          36 Load 38(g_tTexbis)
-              40:     27(ptr) AccessChain 25 26
-              41:     19(int) Load 40
-              42:          35 Image 39
-              43:   22(ivec4) ImageFetch 42 41
-              44:     19(int) CompositeExtract 43 0
-                              Store 34(r01) 44
-              52:          49 Load 51(g_tTexbus)
-              53:     27(ptr) AccessChain 25 26
-              54:     19(int) Load 53
-              55:          48 Image 52
-              57:   56(ivec4) ImageFetch 55 54
-              58:     45(int) CompositeExtract 57 0
-                              Store 47(r02) 58
-              64:     63(ptr) AccessChain 60(psout) 26
-                              Store 64 62
-              66:     12(ptr) AccessChain 60(psout) 65
-                              Store 66 61
-              67:8(PS_OUTPUT) Load 60(psout)
-                              ReturnValue 67
+         32(r01):     31(ptr) Variable Function
+         43(r02):     42(ptr) Variable Function
+       54(psout):     53(ptr) Variable Function
+              17:          14 Load 16(g_tTexbfs)
+              27:     26(ptr) AccessChain 24 25
+              28:     18(int) Load 27
+              29:    7(fvec4) ImageFetch 17 28
+              30:    6(float) CompositeExtract 29 0
+                              Store 13(r00) 30
+              36:          33 Load 35(g_tTexbis)
+              37:     26(ptr) AccessChain 24 25
+              38:     18(int) Load 37
+              39:   21(ivec4) ImageFetch 36 38
+              40:     18(int) CompositeExtract 39 0
+                              Store 32(r01) 40
+              47:          44 Load 46(g_tTexbus)
+              48:     26(ptr) AccessChain 24 25
+              49:     18(int) Load 48
+              51:   50(ivec4) ImageFetch 47 49
+              52:     41(int) CompositeExtract 51 0
+                              Store 43(r02) 52
+              58:     57(ptr) AccessChain 54(psout) 25
+                              Store 58 56
+              60:     12(ptr) AccessChain 54(psout) 59
+                              Store 60 55
+              61:8(PS_OUTPUT) Load 54(psout)
+                              ReturnValue 61
                               FunctionEnd
index cc4924f..fd4a574 100755 (executable)
@@ -7,7 +7,7 @@ Shader version: 450
 0:?     Sequence
 0:5      Branch: Return with expression
 0:5        textureFetch ( temp 4-component vector of float)
-0:5          'Position' (layout( rgba32f) uniform samplerBuffer)
+0:5          'Position' (layout( rgba32f) uniform textureBuffer)
 0:5          Convert uint to int ( temp int)
 0:5            'Index' ( in uint)
 0:9  Function Definition: @RealEntrypoint(u1; ( temp 4-component vector of float)
@@ -28,7 +28,7 @@ Shader version: 450
 0:9        Function Call: @RealEntrypoint(u1; ( temp 4-component vector of float)
 0:?           'Index' ( temp uint)
 0:?   Linker Objects
-0:?     'Position' (layout( rgba32f) uniform samplerBuffer)
+0:?     'Position' (layout( rgba32f) uniform textureBuffer)
 0:?     '@entryPointOutput' ( out 4-component vector of float Position)
 0:?     'Index' ( in uint VertexIndex)
 
@@ -44,7 +44,7 @@ Shader version: 450
 0:?     Sequence
 0:5      Branch: Return with expression
 0:5        textureFetch ( temp 4-component vector of float)
-0:5          'Position' (layout( rgba32f) uniform samplerBuffer)
+0:5          'Position' (layout( rgba32f) uniform textureBuffer)
 0:5          Convert uint to int ( temp int)
 0:5            'Index' ( in uint)
 0:9  Function Definition: @RealEntrypoint(u1; ( temp 4-component vector of float)
@@ -65,33 +65,33 @@ Shader version: 450
 0:9        Function Call: @RealEntrypoint(u1; ( temp 4-component vector of float)
 0:?           'Index' ( temp uint)
 0:?   Linker Objects
-0:?     'Position' (layout( rgba32f) uniform samplerBuffer)
+0:?     'Position' (layout( rgba32f) uniform textureBuffer)
 0:?     '@entryPointOutput' ( out 4-component vector of float Position)
 0:?     'Index' ( in uint VertexIndex)
 
 // Module Version 10000
 // Generated by (magic number): 80001
-// Id's are bound by 43
+// Id's are bound by 41
 
                               Capability Shader
                               Capability SampledBuffer
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Vertex 4  "RealEntrypoint" 36 39
+                              EntryPoint Vertex 4  "RealEntrypoint" 34 37
                               Name 4  "RealEntrypoint"
                               Name 12  "FakeEntrypoint(u1;"
                               Name 11  "Index"
                               Name 15  "@RealEntrypoint(u1;"
                               Name 14  "Index"
-                              Name 20  "Position"
-                              Name 29  "param"
+                              Name 19  "Position"
+                              Name 27  "param"
+                              Name 32  "Index"
                               Name 34  "Index"
-                              Name 36  "Index"
-                              Name 39  "@entryPointOutput"
-                              Name 40  "param"
-                              Decorate 20(Position) DescriptorSet 0
-                              Decorate 36(Index) BuiltIn VertexIndex
-                              Decorate 39(@entryPointOutput) BuiltIn Position
+                              Name 37  "@entryPointOutput"
+                              Name 38  "param"
+                              Decorate 19(Position) DescriptorSet 0
+                              Decorate 34(Index) BuiltIn VertexIndex
+                              Decorate 37(@entryPointOutput) BuiltIn Position
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeInt 32 0
@@ -100,42 +100,40 @@ Shader version: 450
                9:             TypeVector 8(float) 4
               10:             TypeFunction 9(fvec4) 7(ptr)
               17:             TypeImage 8(float) Buffer sampled format:Rgba32f
-              18:             TypeSampledImage 17
-              19:             TypePointer UniformConstant 18
-    20(Position):     19(ptr) Variable UniformConstant
-              23:             TypeInt 32 1
-              35:             TypePointer Input 6(int)
-       36(Index):     35(ptr) Variable Input
-              38:             TypePointer Output 9(fvec4)
-39(@entryPointOutput):     38(ptr) Variable Output
+              18:             TypePointer UniformConstant 17
+    19(Position):     18(ptr) Variable UniformConstant
+              22:             TypeInt 32 1
+              33:             TypePointer Input 6(int)
+       34(Index):     33(ptr) Variable Input
+              36:             TypePointer Output 9(fvec4)
+37(@entryPointOutput):     36(ptr) Variable Output
 4(RealEntrypoint):           2 Function None 3
                5:             Label
-       34(Index):      7(ptr) Variable Function
-       40(param):      7(ptr) Variable Function
-              37:      6(int) Load 36(Index)
-                              Store 34(Index) 37
-              41:      6(int) Load 34(Index)
-                              Store 40(param) 41
-              42:    9(fvec4) FunctionCall 15(@RealEntrypoint(u1;) 40(param)
-                              Store 39(@entryPointOutput) 42
+       32(Index):      7(ptr) Variable Function
+       38(param):      7(ptr) Variable Function
+              35:      6(int) Load 34(Index)
+                              Store 32(Index) 35
+              39:      6(int) Load 32(Index)
+                              Store 38(param) 39
+              40:    9(fvec4) FunctionCall 15(@RealEntrypoint(u1;) 38(param)
+                              Store 37(@entryPointOutput) 40
                               Return
                               FunctionEnd
 12(FakeEntrypoint(u1;):    9(fvec4) Function None 10
        11(Index):      7(ptr) FunctionParameter
               13:             Label
-              21:          18 Load 20(Position)
-              22:      6(int) Load 11(Index)
-              24:     23(int) Bitcast 22
-              25:          17 Image 21
-              26:    9(fvec4) ImageFetch 25 24
-                              ReturnValue 26
+              20:          17 Load 19(Position)
+              21:      6(int) Load 11(Index)
+              23:     22(int) Bitcast 21
+              24:    9(fvec4) ImageFetch 20 23
+                              ReturnValue 24
                               FunctionEnd
 15(@RealEntrypoint(u1;):    9(fvec4) Function None 10
        14(Index):      7(ptr) FunctionParameter
               16:             Label
-       29(param):      7(ptr) Variable Function
-              30:      6(int) Load 14(Index)
-                              Store 29(param) 30
-              31:    9(fvec4) FunctionCall 12(FakeEntrypoint(u1;) 29(param)
-                              ReturnValue 31
+       27(param):      7(ptr) Variable Function
+              28:      6(int) Load 14(Index)
+                              Store 27(param) 28
+              29:    9(fvec4) FunctionCall 12(FakeEntrypoint(u1;) 27(param)
+                              ReturnValue 29
                               FunctionEnd
index 4c9bdae..b764d89 100755 (executable)
@@ -1145,9 +1145,10 @@ bool HlslGrammar::acceptTextureType(TType& type)
     bool array = false;
     bool ms    = false;
     bool image = false;
+    bool combined = true;
 
     switch (textureType) {
-    case EHTokBuffer:            dim = EsdBuffer;                      break;
+    case EHTokBuffer:            dim = EsdBuffer; combined = false;    break;
     case EHTokTexture1d:         dim = Esd1D;                          break;
     case EHTokTexture1darray:    dim = Esd1D; array = true;            break;
     case EHTokTexture2d:         dim = Esd2D;                          break;
@@ -1252,6 +1253,10 @@ bool HlslGrammar::acceptTextureType(TType& type)
     // Remember the declared vector size.
     sampler.vectorSize = txType.getVectorSize();
 
+    // Force uncombined, if necessary
+    if (!combined)
+        sampler.combined = false;
+
     type.shallowCopy(TType(sampler, EvqUniform, arraySizes));
     type.getQualifier().layoutFormat = format;