WIP: HLSL: force uncombined flag off for Buffer<>

This commit is contained in:
steve-lunarg 2017-03-31 17:40:09 -06:00
parent f36542f46d
commit bf1537f4b4
6 changed files with 391 additions and 404 deletions

View 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

View 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()

View 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

View 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

View File

@ -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

View File

@ -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;