Revert "Merge pull request #779 from steve-lunarg/buffer-unsampled-fix"

This reverts commit 1dd65ca398, reversing
changes made to 4960baaf66.
This commit is contained in:
John Kessenich
2017-03-31 14:39:30 -06:00
parent 84a30c8bae
commit f36542f46d
7 changed files with 445 additions and 445 deletions

View File

@@ -341,8 +341,8 @@ gl_FragCoord origin is upper left
0:51 move second child to first child ( temp float) 0:51 move second child to first child ( temp float)
0:51 'r50' ( temp float) 0:51 'r50' ( temp float)
0:51 Construct float ( temp float) 0:51 Construct float ( temp float)
0:? imageLoad ( temp 4-component vector of float) 0:? textureFetch ( temp 4-component vector of float)
0:51 'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer) 0:51 'g_tTexbfs' (layout( r32f) uniform samplerBuffer)
0:51 Convert uint to int ( temp int) 0:51 Convert uint to int ( temp int)
0:51 upos: direct index for structure ( uniform uint) 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}) 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})
@@ -352,8 +352,8 @@ gl_FragCoord origin is upper left
0:52 move second child to first child ( temp float) 0:52 move second child to first child ( temp float)
0:52 'r51' ( temp float) 0:52 'r51' ( temp float)
0:52 Construct float ( temp float) 0:52 Construct float ( temp float)
0:? imageLoad ( temp 4-component vector of float) 0:? textureFetch ( temp 4-component vector of float)
0:52 'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer) 0:52 'g_tTexbfs' (layout( r32f) uniform samplerBuffer)
0:52 Convert float to int ( temp int) 0:52 Convert float to int ( temp int)
0:52 fpos: direct index for structure ( uniform float) 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}) 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:20 0 (const int)
0:? Linker Objects 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:? '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) readonly uniform imageBuffer) 0:? 'g_tTexbfs' (layout( r32f) uniform samplerBuffer)
0:? 'g_tTex1df4' ( uniform texture1D) 0:? 'g_tTex1df4' ( uniform texture1D)
0:? 'color' (layout( location=0) out 4-component vector of float) 0:? 'color' (layout( location=0) out 4-component vector of float)
@@ -787,8 +787,8 @@ gl_FragCoord origin is upper left
0:51 move second child to first child ( temp float) 0:51 move second child to first child ( temp float)
0:51 'r50' ( temp float) 0:51 'r50' ( temp float)
0:51 Construct float ( temp float) 0:51 Construct float ( temp float)
0:? imageLoad ( temp 4-component vector of float) 0:? textureFetch ( temp 4-component vector of float)
0:51 'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer) 0:51 'g_tTexbfs' (layout( r32f) uniform samplerBuffer)
0:51 Convert uint to int ( temp int) 0:51 Convert uint to int ( temp int)
0:51 upos: direct index for structure ( uniform uint) 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}) 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})
@@ -798,8 +798,8 @@ gl_FragCoord origin is upper left
0:52 move second child to first child ( temp float) 0:52 move second child to first child ( temp float)
0:52 'r51' ( temp float) 0:52 'r51' ( temp float)
0:52 Construct float ( temp float) 0:52 Construct float ( temp float)
0:? imageLoad ( temp 4-component vector of float) 0:? textureFetch ( temp 4-component vector of float)
0:52 'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer) 0:52 'g_tTexbfs' (layout( r32f) uniform samplerBuffer)
0:52 Convert float to int ( temp int) 0:52 Convert float to int ( temp int)
0:52 fpos: direct index for structure ( uniform float) 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}) 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:20 0 (const int)
0:? Linker Objects 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:? '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) readonly uniform imageBuffer) 0:? 'g_tTexbfs' (layout( r32f) uniform samplerBuffer)
0:? 'g_tTex1df4' ( uniform texture1D) 0:? 'g_tTex1df4' ( uniform texture1D)
0:? 'color' (layout( location=0) out 4-component vector of float) 0:? 'color' (layout( location=0) out 4-component vector of float)
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 322 // Id's are bound by 325
Capability Shader Capability Shader
Capability Sampled1D Capability Sampled1D
@@ -897,7 +897,7 @@ gl_FragCoord origin is upper left
Capability ImageQuery Capability ImageQuery
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 319 EntryPoint Fragment 4 "main" 322
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 8 "PS_OUTPUT" Name 8 "PS_OUTPUT"
@@ -938,19 +938,19 @@ gl_FragCoord origin is upper left
Name 229 "r42" Name 229 "r42"
Name 243 "r43" Name 243 "r43"
Name 255 "r50" Name 255 "r50"
Name 258 "g_tTexbfs" Name 259 "g_tTexbfs"
Name 266 "r51" Name 268 "r51"
Name 274 "sizeQueryTemp" Name 277 "sizeQueryTemp"
Name 277 "g_tTex1df4" Name 280 "g_tTex1df4"
Name 280 "WidthI" Name 283 "WidthI"
Name 283 "sizeQueryTemp" Name 286 "sizeQueryTemp"
Name 289 "NumberOfLevelsU" Name 292 "NumberOfLevelsU"
Name 292 "sizeQueryTemp" Name 295 "sizeQueryTemp"
Name 295 "WidthU" Name 298 "WidthU"
Name 297 "NumberOfLevelsI" Name 300 "NumberOfLevelsI"
Name 301 "sizeQueryTemp" Name 304 "sizeQueryTemp"
Name 310 "ps_output" Name 313 "ps_output"
Name 319 "color" Name 322 "color"
MemberDecorate 19($Global) 0 Offset 0 MemberDecorate 19($Global) 0 Offset 0
MemberDecorate 19($Global) 1 Offset 4 MemberDecorate 19($Global) 1 Offset 4
MemberDecorate 19($Global) 2 Offset 8 MemberDecorate 19($Global) 2 Offset 8
@@ -963,10 +963,9 @@ gl_FragCoord origin is upper left
MemberDecorate 19($Global) 9 Offset 52 MemberDecorate 19($Global) 9 Offset 52
Decorate 19($Global) Block Decorate 19($Global) Block
Decorate 21 DescriptorSet 0 Decorate 21 DescriptorSet 0
Decorate 258(g_tTexbfs) DescriptorSet 0 Decorate 259(g_tTexbfs) DescriptorSet 0
Decorate 258(g_tTexbfs) NonWritable Decorate 280(g_tTex1df4) DescriptorSet 0
Decorate 277(g_tTex1df4) DescriptorSet 0 Decorate 322(color) Location 0
Decorate 319(color) Location 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
@@ -1013,24 +1012,25 @@ gl_FragCoord origin is upper left
107: 16(ivec2) ConstantComposite 44 44 107: 16(ivec2) ConstantComposite 44 44
109: 14(int) Constant 4 109: 14(int) Constant 4
110: TypePointer Uniform 16(ivec2) 110: TypePointer Uniform 16(ivec2)
256: TypeImage 6(float) Buffer nonsampled format:R32f 256: TypeImage 6(float) Buffer sampled format:R32f
257: TypePointer UniformConstant 256 257: TypeSampledImage 256
258(g_tTexbfs): 257(ptr) Variable UniformConstant 258: TypePointer UniformConstant 257
260: 14(int) Constant 8 259(g_tTexbfs): 258(ptr) Variable UniformConstant
268: 14(int) Constant 9 261: 14(int) Constant 8
275: TypeImage 6(float) 1D sampled format:Unknown 270: 14(int) Constant 9
276: TypePointer UniformConstant 275 278: TypeImage 6(float) 1D sampled format:Unknown
277(g_tTex1df4): 276(ptr) Variable UniformConstant 279: TypePointer UniformConstant 278
285: 15(int) Constant 6 280(g_tTex1df4): 279(ptr) Variable UniformConstant
309: TypePointer Function 8(PS_OUTPUT) 288: 15(int) Constant 6
313: TypePointer Function 7(fvec4) 312: TypePointer Function 8(PS_OUTPUT)
318: TypePointer Output 7(fvec4) 316: TypePointer Function 7(fvec4)
319(color): 318(ptr) Variable Output 321: TypePointer Output 7(fvec4)
322(color): 321(ptr) Variable Output
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
320:8(PS_OUTPUT) FunctionCall 10(@main() 323:8(PS_OUTPUT) FunctionCall 10(@main()
321: 7(fvec4) CompositeExtract 320 0 324: 7(fvec4) CompositeExtract 323 0
Store 319(color) 321 Store 322(color) 324
Return Return
FunctionEnd FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9 10(@main():8(PS_OUTPUT) Function None 9
@@ -1058,16 +1058,16 @@ gl_FragCoord origin is upper left
229(r42): 73(ptr) Variable Function 229(r42): 73(ptr) Variable Function
243(r43): 101(ptr) Variable Function 243(r43): 101(ptr) Variable Function
255(r50): 12(ptr) Variable Function 255(r50): 12(ptr) Variable Function
266(r51): 12(ptr) Variable Function 268(r51): 12(ptr) Variable Function
274(sizeQueryTemp): 37(ptr) Variable Function 277(sizeQueryTemp): 37(ptr) Variable Function
280(WidthI): 48(ptr) Variable Function 283(WidthI): 48(ptr) Variable Function
283(sizeQueryTemp): 37(ptr) Variable Function 286(sizeQueryTemp): 37(ptr) Variable Function
289(NumberOfLevelsU): 37(ptr) Variable Function 292(NumberOfLevelsU): 37(ptr) Variable Function
292(sizeQueryTemp): 37(ptr) Variable Function 295(sizeQueryTemp): 37(ptr) Variable Function
295(WidthU): 37(ptr) Variable Function 298(WidthU): 37(ptr) Variable Function
297(NumberOfLevelsI): 48(ptr) Variable Function 300(NumberOfLevelsI): 48(ptr) Variable Function
301(sizeQueryTemp): 37(ptr) Variable Function 304(sizeQueryTemp): 37(ptr) Variable Function
310(ps_output): 309(ptr) Variable Function 313(ps_output): 312(ptr) Variable Function
24: 23(ptr) AccessChain 21 22 24: 23(ptr) AccessChain 21 22
25: 15(int) Load 24 25: 15(int) Load 24
28: 26(bool) INotEqual 25 27 28: 26(bool) INotEqual 25 27
@@ -1271,58 +1271,60 @@ gl_FragCoord origin is upper left
253: 17(ivec2) ExtInst 1(GLSL.std.450) 44(UClamp) 247 250 252 253: 17(ivec2) ExtInst 1(GLSL.std.450) 44(UClamp) 247 250 252
254: 16(ivec2) Bitcast 253 254: 16(ivec2) Bitcast 253
Store 243(r43) 254 Store 243(r43) 254
259: 256 Load 258(g_tTexbfs) 260: 257 Load 259(g_tTexbfs)
261: 23(ptr) AccessChain 21 260 262: 23(ptr) AccessChain 21 261
262: 15(int) Load 261 263: 15(int) Load 262
263: 14(int) Bitcast 262 264: 14(int) Bitcast 263
264: 7(fvec4) ImageRead 259 263 265: 256 Image 260
265: 6(float) CompositeExtract 264 0 266: 7(fvec4) ImageFetch 265 264
Store 255(r50) 265 267: 6(float) CompositeExtract 266 0
267: 256 Load 258(g_tTexbfs) Store 255(r50) 267
269: 33(ptr) AccessChain 21 268 269: 257 Load 259(g_tTexbfs)
270: 6(float) Load 269 271: 33(ptr) AccessChain 21 270
271: 14(int) ConvertFToS 270 272: 6(float) Load 271
272: 7(fvec4) ImageRead 267 271 273: 14(int) ConvertFToS 272
273: 6(float) CompositeExtract 272 0 274: 256 Image 269
Store 266(r51) 273 275: 7(fvec4) ImageFetch 274 273
278: 275 Load 277(g_tTex1df4) 276: 6(float) CompositeExtract 275 0
279: 15(int) ImageQuerySizeLod 278 53 Store 268(r51) 276
Store 274(sizeQueryTemp) 279 281: 278 Load 280(g_tTex1df4)
281: 15(int) Load 274(sizeQueryTemp) 282: 15(int) ImageQuerySizeLod 281 53
282: 14(int) Bitcast 281 Store 277(sizeQueryTemp) 282
Store 280(WidthI) 282 284: 15(int) Load 277(sizeQueryTemp)
284: 275 Load 277(g_tTex1df4) 285: 14(int) Bitcast 284
286: 15(int) ImageQuerySizeLod 284 285 Store 283(WidthI) 285
Store 283(sizeQueryTemp) 286 287: 278 Load 280(g_tTex1df4)
287: 15(int) Load 283(sizeQueryTemp) 289: 15(int) ImageQuerySizeLod 287 288
288: 14(int) Bitcast 287 Store 286(sizeQueryTemp) 289
Store 280(WidthI) 288 290: 15(int) Load 286(sizeQueryTemp)
290: 275 Load 277(g_tTex1df4) 291: 14(int) Bitcast 290
291: 15(int) ImageQueryLevels 290 Store 283(WidthI) 291
Store 289(NumberOfLevelsU) 291 293: 278 Load 280(g_tTex1df4)
293: 275 Load 277(g_tTex1df4) 294: 15(int) ImageQueryLevels 293
294: 15(int) ImageQuerySizeLod 293 285 Store 292(NumberOfLevelsU) 294
Store 292(sizeQueryTemp) 294 296: 278 Load 280(g_tTex1df4)
296: 15(int) Load 292(sizeQueryTemp) 297: 15(int) ImageQuerySizeLod 296 288
Store 295(WidthU) 296 Store 295(sizeQueryTemp) 297
298: 275 Load 277(g_tTex1df4) 299: 15(int) Load 295(sizeQueryTemp)
299: 15(int) ImageQueryLevels 298 Store 298(WidthU) 299
300: 14(int) Bitcast 299 301: 278 Load 280(g_tTex1df4)
Store 297(NumberOfLevelsI) 300 302: 15(int) ImageQueryLevels 301
302: 275 Load 277(g_tTex1df4) 303: 14(int) Bitcast 302
303: 15(int) ImageQuerySizeLod 302 285 Store 300(NumberOfLevelsI) 303
Store 301(sizeQueryTemp) 303 305: 278 Load 280(g_tTex1df4)
304: 15(int) Load 301(sizeQueryTemp) 306: 15(int) ImageQuerySizeLod 305 288
305: 14(int) Bitcast 304 Store 304(sizeQueryTemp) 306
Store 280(WidthI) 305 307: 15(int) Load 304(sizeQueryTemp)
306: 275 Load 277(g_tTex1df4)
307: 15(int) ImageQueryLevels 306
308: 14(int) Bitcast 307 308: 14(int) Bitcast 307
Store 297(NumberOfLevelsI) 308 Store 283(WidthI) 308
311: 6(float) Load 13(r00) 309: 278 Load 280(g_tTex1df4)
312: 7(fvec4) CompositeConstruct 311 311 311 311 310: 15(int) ImageQueryLevels 309
314: 313(ptr) AccessChain 310(ps_output) 53 311: 14(int) Bitcast 310
Store 314 312 Store 300(NumberOfLevelsI) 311
315:8(PS_OUTPUT) Load 310(ps_output) 314: 6(float) Load 13(r00)
ReturnValue 315 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
FunctionEnd FunctionEnd

View File

@@ -95,7 +95,7 @@ gl_FragCoord origin is upper left
0:20 0 (const int) 0:20 0 (const int)
0:? Linker Objects 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:? '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) readonly uniform imageBuffer) 0:? 'g_tTexbfs' (layout( r32f) uniform samplerBuffer)
0:? 'g_tTex1df4' ( uniform texture1D) 0:? 'g_tTex1df4' ( uniform texture1D)
0:? 'color' (layout( location=0) out 4-component vector of float) 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:20 0 (const int)
0:? Linker Objects 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:? '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) readonly uniform imageBuffer) 0:? 'g_tTexbfs' (layout( r32f) uniform samplerBuffer)
0:? 'g_tTex1df4' ( uniform texture1D) 0:? 'g_tTex1df4' ( uniform texture1D)
0:? 'color' (layout( location=0) out 4-component vector of float) 0:? 'color' (layout( location=0) out 4-component vector of float)
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 80 // Id's are bound by 81
Capability Shader Capability Shader
Capability Sampled1D Capability Sampled1D
@@ -242,7 +242,7 @@ gl_FragCoord origin is upper left
Name 57 "sizeQueryTemp" Name 57 "sizeQueryTemp"
Name 66 "ps_output" Name 66 "ps_output"
Name 74 "color" Name 74 "color"
Name 79 "g_tTexbfs" Name 80 "g_tTexbfs"
MemberDecorate 17($Global) 0 Offset 0 MemberDecorate 17($Global) 0 Offset 0
MemberDecorate 17($Global) 1 Offset 4 MemberDecorate 17($Global) 1 Offset 4
MemberDecorate 17($Global) 2 Offset 8 MemberDecorate 17($Global) 2 Offset 8
@@ -257,8 +257,7 @@ gl_FragCoord origin is upper left
Decorate 19 DescriptorSet 0 Decorate 19 DescriptorSet 0
Decorate 31(g_tTex1df4) DescriptorSet 0 Decorate 31(g_tTex1df4) DescriptorSet 0
Decorate 74(color) Location 0 Decorate 74(color) Location 0
Decorate 79(g_tTexbfs) DescriptorSet 0 Decorate 80(g_tTexbfs) DescriptorSet 0
Decorate 79(g_tTexbfs) NonWritable
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
@@ -289,9 +288,10 @@ gl_FragCoord origin is upper left
68: TypePointer Function 7(fvec4) 68: TypePointer Function 7(fvec4)
73: TypePointer Output 7(fvec4) 73: TypePointer Output 7(fvec4)
74(color): 73(ptr) Variable Output 74(color): 73(ptr) Variable Output
77: TypeImage 6(float) Buffer nonsampled format:R32f 77: TypeImage 6(float) Buffer sampled format:R32f
78: TypePointer UniformConstant 77 78: TypeSampledImage 77
79(g_tTexbfs): 78(ptr) Variable UniformConstant 79: TypePointer UniformConstant 78
80(g_tTexbfs): 79(ptr) Variable UniformConstant
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
75:8(PS_OUTPUT) FunctionCall 10(@main() 75:8(PS_OUTPUT) FunctionCall 10(@main()

View File

@@ -8,8 +8,8 @@ gl_FragCoord origin is upper left
0:28 Sequence 0:28 Sequence
0:28 move second child to first child ( temp 4-component vector of float) 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 'r00' ( temp 4-component vector of float)
0:28 imageLoad ( temp 4-component vector of float) 0:28 textureFetch ( temp 4-component vector of float)
0:28 'g_tTexbf4' (layout( rgba32f) readonly uniform imageBuffer) 0:28 'g_tTexbf4' (layout( rgba32f) uniform samplerBuffer)
0:28 c1: direct index for structure ( uniform int) 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 '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: 0:28 Constant:
@@ -17,8 +17,8 @@ gl_FragCoord origin is upper left
0:29 Sequence 0:29 Sequence
0:29 move second child to first child ( temp 4-component vector of int) 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 'r01' ( temp 4-component vector of int)
0:29 imageLoad ( temp 4-component vector of int) 0:29 textureFetch ( temp 4-component vector of int)
0:29 'g_tTexbi4' (layout( rgba32i) readonly uniform iimageBuffer) 0:29 'g_tTexbi4' (layout( rgba32i) uniform isamplerBuffer)
0:29 c1: direct index for structure ( uniform int) 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 '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: 0:29 Constant:
@@ -26,8 +26,8 @@ gl_FragCoord origin is upper left
0:30 Sequence 0:30 Sequence
0:30 move second child to first child ( temp 4-component vector of uint) 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 'r02' ( temp 4-component vector of uint)
0:30 imageLoad ( temp 4-component vector of uint) 0:30 textureFetch ( temp 4-component vector of uint)
0:30 'g_tTexbu4' (layout( rgba32ui) readonly uniform uimageBuffer) 0:30 'g_tTexbu4' (layout( rgba32ui) uniform usamplerBuffer)
0:30 c1: direct index for structure ( uniform int) 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 '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: 0:30 Constant:
@@ -71,10 +71,10 @@ gl_FragCoord origin is upper left
0:24 Constant: 0:24 Constant:
0:24 1 (const int) 0:24 1 (const int)
0:? Linker Objects 0:? Linker Objects
0:? 'g_tTexbf4_test' (layout( binding=0 rgba32f) readonly uniform imageBuffer) 0:? 'g_tTexbf4_test' (layout( binding=0 rgba32f) uniform samplerBuffer)
0:? 'g_tTexbf4' (layout( rgba32f) readonly uniform imageBuffer) 0:? 'g_tTexbf4' (layout( rgba32f) uniform samplerBuffer)
0:? 'g_tTexbi4' (layout( rgba32i) readonly uniform iimageBuffer) 0:? 'g_tTexbi4' (layout( rgba32i) uniform isamplerBuffer)
0:? 'g_tTexbu4' (layout( rgba32ui) readonly uniform uimageBuffer) 0:? 'g_tTexbu4' (layout( rgba32ui) uniform usamplerBuffer)
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:? '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:? 'Color' (layout( location=0) out 4-component vector of float)
0:? 'Depth' ( out float FragDepth) 0:? 'Depth' ( out float FragDepth)
@@ -92,8 +92,8 @@ gl_FragCoord origin is upper left
0:28 Sequence 0:28 Sequence
0:28 move second child to first child ( temp 4-component vector of float) 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 'r00' ( temp 4-component vector of float)
0:28 imageLoad ( temp 4-component vector of float) 0:28 textureFetch ( temp 4-component vector of float)
0:28 'g_tTexbf4' (layout( rgba32f) readonly uniform imageBuffer) 0:28 'g_tTexbf4' (layout( rgba32f) uniform samplerBuffer)
0:28 c1: direct index for structure ( uniform int) 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 '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: 0:28 Constant:
@@ -101,8 +101,8 @@ gl_FragCoord origin is upper left
0:29 Sequence 0:29 Sequence
0:29 move second child to first child ( temp 4-component vector of int) 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 'r01' ( temp 4-component vector of int)
0:29 imageLoad ( temp 4-component vector of int) 0:29 textureFetch ( temp 4-component vector of int)
0:29 'g_tTexbi4' (layout( rgba32i) readonly uniform iimageBuffer) 0:29 'g_tTexbi4' (layout( rgba32i) uniform isamplerBuffer)
0:29 c1: direct index for structure ( uniform int) 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 '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: 0:29 Constant:
@@ -110,8 +110,8 @@ gl_FragCoord origin is upper left
0:30 Sequence 0:30 Sequence
0:30 move second child to first child ( temp 4-component vector of uint) 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 'r02' ( temp 4-component vector of uint)
0:30 imageLoad ( temp 4-component vector of uint) 0:30 textureFetch ( temp 4-component vector of uint)
0:30 'g_tTexbu4' (layout( rgba32ui) readonly uniform uimageBuffer) 0:30 'g_tTexbu4' (layout( rgba32ui) uniform usamplerBuffer)
0:30 c1: direct index for structure ( uniform int) 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 '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: 0:30 Constant:
@@ -155,23 +155,23 @@ gl_FragCoord origin is upper left
0:24 Constant: 0:24 Constant:
0:24 1 (const int) 0:24 1 (const int)
0:? Linker Objects 0:? Linker Objects
0:? 'g_tTexbf4_test' (layout( binding=0 rgba32f) readonly uniform imageBuffer) 0:? 'g_tTexbf4_test' (layout( binding=0 rgba32f) uniform samplerBuffer)
0:? 'g_tTexbf4' (layout( rgba32f) readonly uniform imageBuffer) 0:? 'g_tTexbf4' (layout( rgba32f) uniform samplerBuffer)
0:? 'g_tTexbi4' (layout( rgba32i) readonly uniform iimageBuffer) 0:? 'g_tTexbi4' (layout( rgba32i) uniform isamplerBuffer)
0:? 'g_tTexbu4' (layout( rgba32ui) readonly uniform uimageBuffer) 0:? 'g_tTexbu4' (layout( rgba32ui) uniform usamplerBuffer)
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:? '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:? 'Color' (layout( location=0) out 4-component vector of float)
0:? 'Depth' ( out float FragDepth) 0:? 'Depth' ( out float FragDepth)
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 72 // Id's are bound by 78
Capability Shader Capability Shader
Capability SampledBuffer Capability SampledBuffer
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 64 68 EntryPoint Fragment 4 "main" 70 74
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 8 "PS_OUTPUT" Name 8 "PS_OUTPUT"
@@ -179,47 +179,43 @@ gl_FragCoord origin is upper left
MemberName 8(PS_OUTPUT) 1 "Depth" MemberName 8(PS_OUTPUT) 1 "Depth"
Name 10 "@main(" Name 10 "@main("
Name 13 "r00" Name 13 "r00"
Name 16 "g_tTexbf4" Name 17 "g_tTexbf4"
Name 22 "$Global" Name 23 "$Global"
MemberName 22($Global) 0 "c1" MemberName 23($Global) 0 "c1"
MemberName 22($Global) 1 "c2" MemberName 23($Global) 1 "c2"
MemberName 22($Global) 2 "c3" MemberName 23($Global) 2 "c3"
MemberName 22($Global) 3 "c4" MemberName 23($Global) 3 "c4"
MemberName 22($Global) 4 "o1" MemberName 23($Global) 4 "o1"
MemberName 22($Global) 5 "o2" MemberName 23($Global) 5 "o2"
MemberName 22($Global) 6 "o3" MemberName 23($Global) 6 "o3"
MemberName 22($Global) 7 "o4" MemberName 23($Global) 7 "o4"
Name 24 "" Name 25 ""
Name 31 "r01" Name 33 "r01"
Name 34 "g_tTexbi4" Name 37 "g_tTexbi4"
Name 42 "r02" Name 46 "r02"
Name 45 "g_tTexbu4" Name 50 "g_tTexbu4"
Name 51 "psout" Name 57 "psout"
Name 61 "flattenTemp" Name 67 "flattenTemp"
Name 64 "Color" Name 70 "Color"
Name 68 "Depth" Name 74 "Depth"
Name 71 "g_tTexbf4_test" Name 77 "g_tTexbf4_test"
Decorate 16(g_tTexbf4) DescriptorSet 0 Decorate 17(g_tTexbf4) DescriptorSet 0
Decorate 16(g_tTexbf4) NonWritable MemberDecorate 23($Global) 0 Offset 0
MemberDecorate 22($Global) 0 Offset 0 MemberDecorate 23($Global) 1 Offset 8
MemberDecorate 22($Global) 1 Offset 8 MemberDecorate 23($Global) 2 Offset 16
MemberDecorate 22($Global) 2 Offset 16 MemberDecorate 23($Global) 3 Offset 32
MemberDecorate 22($Global) 3 Offset 32 MemberDecorate 23($Global) 4 Offset 48
MemberDecorate 22($Global) 4 Offset 48 MemberDecorate 23($Global) 5 Offset 56
MemberDecorate 22($Global) 5 Offset 56 MemberDecorate 23($Global) 6 Offset 64
MemberDecorate 22($Global) 6 Offset 64 MemberDecorate 23($Global) 7 Offset 80
MemberDecorate 22($Global) 7 Offset 80 Decorate 23($Global) Block
Decorate 22($Global) Block Decorate 25 DescriptorSet 0
Decorate 24 DescriptorSet 0 Decorate 37(g_tTexbi4) DescriptorSet 0
Decorate 34(g_tTexbi4) DescriptorSet 0 Decorate 50(g_tTexbu4) DescriptorSet 0
Decorate 34(g_tTexbi4) NonWritable Decorate 70(Color) Location 0
Decorate 45(g_tTexbu4) DescriptorSet 0 Decorate 74(Depth) BuiltIn FragDepth
Decorate 45(g_tTexbu4) NonWritable Decorate 77(g_tTexbf4_test) DescriptorSet 0
Decorate 64(Color) Location 0 Decorate 77(g_tTexbf4_test) Binding 0
Decorate 68(Depth) BuiltIn FragDepth
Decorate 71(g_tTexbf4_test) DescriptorSet 0
Decorate 71(g_tTexbf4_test) Binding 0
Decorate 71(g_tTexbf4_test) NonWritable
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
@@ -227,76 +223,82 @@ gl_FragCoord origin is upper left
8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
9: TypeFunction 8(PS_OUTPUT) 9: TypeFunction 8(PS_OUTPUT)
12: TypePointer Function 7(fvec4) 12: TypePointer Function 7(fvec4)
14: TypeImage 6(float) Buffer nonsampled format:Rgba32f 14: TypeImage 6(float) Buffer sampled format:Rgba32f
15: TypePointer UniformConstant 14 15: TypeSampledImage 14
16(g_tTexbf4): 15(ptr) Variable UniformConstant 16: TypePointer UniformConstant 15
18: TypeInt 32 1 17(g_tTexbf4): 16(ptr) Variable UniformConstant
19: TypeVector 18(int) 2 19: TypeInt 32 1
20: TypeVector 18(int) 3 20: TypeVector 19(int) 2
21: TypeVector 18(int) 4 21: TypeVector 19(int) 3
22($Global): TypeStruct 18(int) 19(ivec2) 20(ivec3) 21(ivec4) 18(int) 19(ivec2) 20(ivec3) 21(ivec4) 22: TypeVector 19(int) 4
23: TypePointer Uniform 22($Global) 23($Global): TypeStruct 19(int) 20(ivec2) 21(ivec3) 22(ivec4) 19(int) 20(ivec2) 21(ivec3) 22(ivec4)
24: 23(ptr) Variable Uniform 24: TypePointer Uniform 23($Global)
25: 18(int) Constant 0 25: 24(ptr) Variable Uniform
26: TypePointer Uniform 18(int) 26: 19(int) Constant 0
30: TypePointer Function 21(ivec4) 27: TypePointer Uniform 19(int)
32: TypeImage 18(int) Buffer nonsampled format:Rgba32i 32: TypePointer Function 22(ivec4)
33: TypePointer UniformConstant 32 34: TypeImage 19(int) Buffer sampled format:Rgba32i
34(g_tTexbi4): 33(ptr) Variable UniformConstant 35: TypeSampledImage 34
39: TypeInt 32 0 36: TypePointer UniformConstant 35
40: TypeVector 39(int) 4 37(g_tTexbi4): 36(ptr) Variable UniformConstant
41: TypePointer Function 40(ivec4) 43: TypeInt 32 0
43: TypeImage 39(int) Buffer nonsampled format:Rgba32ui 44: TypeVector 43(int) 4
44: TypePointer UniformConstant 43 45: TypePointer Function 44(ivec4)
45(g_tTexbu4): 44(ptr) Variable UniformConstant 47: TypeImage 43(int) Buffer sampled format:Rgba32ui
50: TypePointer Function 8(PS_OUTPUT) 48: TypeSampledImage 47
52: 6(float) Constant 1065353216 49: TypePointer UniformConstant 48
53: 7(fvec4) ConstantComposite 52 52 52 52 50(g_tTexbu4): 49(ptr) Variable UniformConstant
55: 18(int) Constant 1 56: TypePointer Function 8(PS_OUTPUT)
56: TypePointer Function 6(float) 58: 6(float) Constant 1065353216
63: TypePointer Output 7(fvec4) 59: 7(fvec4) ConstantComposite 58 58 58 58
64(Color): 63(ptr) Variable Output 61: 19(int) Constant 1
67: TypePointer Output 6(float) 62: TypePointer Function 6(float)
68(Depth): 67(ptr) Variable Output 69: TypePointer Output 7(fvec4)
71(g_tTexbf4_test): 15(ptr) Variable UniformConstant 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
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
61(flattenTemp): 50(ptr) Variable Function 67(flattenTemp): 56(ptr) Variable Function
62:8(PS_OUTPUT) FunctionCall 10(@main() 68:8(PS_OUTPUT) FunctionCall 10(@main()
Store 61(flattenTemp) 62 Store 67(flattenTemp) 68
65: 12(ptr) AccessChain 61(flattenTemp) 25 71: 12(ptr) AccessChain 67(flattenTemp) 26
66: 7(fvec4) Load 65 72: 7(fvec4) Load 71
Store 64(Color) 66 Store 70(Color) 72
69: 56(ptr) AccessChain 61(flattenTemp) 55 75: 62(ptr) AccessChain 67(flattenTemp) 61
70: 6(float) Load 69 76: 6(float) Load 75
Store 68(Depth) 70 Store 74(Depth) 76
Return Return
FunctionEnd FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9 10(@main():8(PS_OUTPUT) Function None 9
11: Label 11: Label
13(r00): 12(ptr) Variable Function 13(r00): 12(ptr) Variable Function
31(r01): 30(ptr) Variable Function 33(r01): 32(ptr) Variable Function
42(r02): 41(ptr) Variable Function 46(r02): 45(ptr) Variable Function
51(psout): 50(ptr) Variable Function 57(psout): 56(ptr) Variable Function
17: 14 Load 16(g_tTexbf4) 18: 15 Load 17(g_tTexbf4)
27: 26(ptr) AccessChain 24 25 28: 27(ptr) AccessChain 25 26
28: 18(int) Load 27 29: 19(int) Load 28
29: 7(fvec4) ImageRead 17 28 30: 14 Image 18
Store 13(r00) 29 31: 7(fvec4) ImageFetch 30 29
35: 32 Load 34(g_tTexbi4) Store 13(r00) 31
36: 26(ptr) AccessChain 24 25 38: 35 Load 37(g_tTexbi4)
37: 18(int) Load 36 39: 27(ptr) AccessChain 25 26
38: 21(ivec4) ImageRead 35 37 40: 19(int) Load 39
Store 31(r01) 38 41: 34 Image 38
46: 43 Load 45(g_tTexbu4) 42: 22(ivec4) ImageFetch 41 40
47: 26(ptr) AccessChain 24 25 Store 33(r01) 42
48: 18(int) Load 47 51: 48 Load 50(g_tTexbu4)
49: 40(ivec4) ImageRead 46 48 52: 27(ptr) AccessChain 25 26
Store 42(r02) 49 53: 19(int) Load 52
54: 12(ptr) AccessChain 51(psout) 25 54: 47 Image 51
Store 54 53 55: 44(ivec4) ImageFetch 54 53
57: 56(ptr) AccessChain 51(psout) 55 Store 46(r02) 55
Store 57 52 60: 12(ptr) AccessChain 57(psout) 26
58:8(PS_OUTPUT) Load 51(psout) Store 60 59
ReturnValue 58 63: 62(ptr) AccessChain 57(psout) 61
Store 63 58
64:8(PS_OUTPUT) Load 57(psout)
ReturnValue 64
FunctionEnd FunctionEnd

View File

@@ -9,8 +9,8 @@ gl_FragCoord origin is upper left
0:28 move second child to first child ( temp float) 0:28 move second child to first child ( temp float)
0:28 'r00' ( temp float) 0:28 'r00' ( temp float)
0:28 Construct float ( temp float) 0:28 Construct float ( temp float)
0:? imageLoad ( temp 4-component vector of float) 0:? textureFetch ( temp 4-component vector of float)
0:28 'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer) 0:28 'g_tTexbfs' (layout( r32f) uniform samplerBuffer)
0:28 c1: direct index for structure ( uniform int) 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 '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: 0:28 Constant:
@@ -19,8 +19,8 @@ gl_FragCoord origin is upper left
0:29 move second child to first child ( temp int) 0:29 move second child to first child ( temp int)
0:29 'r01' ( temp int) 0:29 'r01' ( temp int)
0:29 Construct int ( temp int) 0:29 Construct int ( temp int)
0:? imageLoad ( temp 4-component vector of int) 0:? textureFetch ( temp 4-component vector of int)
0:29 'g_tTexbis' (layout( r32i) readonly uniform iimageBuffer) 0:29 'g_tTexbis' (layout( r32i) uniform isamplerBuffer)
0:29 c1: direct index for structure ( uniform int) 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 '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: 0:29 Constant:
@@ -29,8 +29,8 @@ gl_FragCoord origin is upper left
0:30 move second child to first child ( temp uint) 0:30 move second child to first child ( temp uint)
0:30 'r02' ( temp uint) 0:30 'r02' ( temp uint)
0:30 Construct uint ( temp uint) 0:30 Construct uint ( temp uint)
0:? imageLoad ( temp 4-component vector of uint) 0:? textureFetch ( temp 4-component vector of uint)
0:30 'g_tTexbus' (layout( r32ui) readonly uniform uimageBuffer) 0:30 'g_tTexbus' (layout( r32ui) uniform usamplerBuffer)
0:30 c1: direct index for structure ( uniform int) 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 '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: 0:30 Constant:
@@ -74,10 +74,10 @@ gl_FragCoord origin is upper left
0:24 Constant: 0:24 Constant:
0:24 1 (const int) 0:24 1 (const int)
0:? Linker Objects 0:? Linker Objects
0:? 'g_tTexbfs_test' (layout( binding=0 r32f) readonly uniform imageBuffer) 0:? 'g_tTexbfs_test' (layout( binding=0 r32f) uniform samplerBuffer)
0:? 'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer) 0:? 'g_tTexbfs' (layout( r32f) uniform samplerBuffer)
0:? 'g_tTexbis' (layout( r32i) readonly uniform iimageBuffer) 0:? 'g_tTexbis' (layout( r32i) uniform isamplerBuffer)
0:? 'g_tTexbus' (layout( r32ui) readonly uniform uimageBuffer) 0:? 'g_tTexbus' (layout( r32ui) uniform usamplerBuffer)
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:? '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:? 'Color' (layout( location=0) out 4-component vector of float)
0:? 'Depth' ( out float FragDepth) 0:? 'Depth' ( out float FragDepth)
@@ -96,8 +96,8 @@ gl_FragCoord origin is upper left
0:28 move second child to first child ( temp float) 0:28 move second child to first child ( temp float)
0:28 'r00' ( temp float) 0:28 'r00' ( temp float)
0:28 Construct float ( temp float) 0:28 Construct float ( temp float)
0:? imageLoad ( temp 4-component vector of float) 0:? textureFetch ( temp 4-component vector of float)
0:28 'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer) 0:28 'g_tTexbfs' (layout( r32f) uniform samplerBuffer)
0:28 c1: direct index for structure ( uniform int) 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 '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: 0:28 Constant:
@@ -106,8 +106,8 @@ gl_FragCoord origin is upper left
0:29 move second child to first child ( temp int) 0:29 move second child to first child ( temp int)
0:29 'r01' ( temp int) 0:29 'r01' ( temp int)
0:29 Construct int ( temp int) 0:29 Construct int ( temp int)
0:? imageLoad ( temp 4-component vector of int) 0:? textureFetch ( temp 4-component vector of int)
0:29 'g_tTexbis' (layout( r32i) readonly uniform iimageBuffer) 0:29 'g_tTexbis' (layout( r32i) uniform isamplerBuffer)
0:29 c1: direct index for structure ( uniform int) 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 '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: 0:29 Constant:
@@ -116,8 +116,8 @@ gl_FragCoord origin is upper left
0:30 move second child to first child ( temp uint) 0:30 move second child to first child ( temp uint)
0:30 'r02' ( temp uint) 0:30 'r02' ( temp uint)
0:30 Construct uint ( temp uint) 0:30 Construct uint ( temp uint)
0:? imageLoad ( temp 4-component vector of uint) 0:? textureFetch ( temp 4-component vector of uint)
0:30 'g_tTexbus' (layout( r32ui) readonly uniform uimageBuffer) 0:30 'g_tTexbus' (layout( r32ui) uniform usamplerBuffer)
0:30 c1: direct index for structure ( uniform int) 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 '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: 0:30 Constant:
@@ -161,23 +161,23 @@ gl_FragCoord origin is upper left
0:24 Constant: 0:24 Constant:
0:24 1 (const int) 0:24 1 (const int)
0:? Linker Objects 0:? Linker Objects
0:? 'g_tTexbfs_test' (layout( binding=0 r32f) readonly uniform imageBuffer) 0:? 'g_tTexbfs_test' (layout( binding=0 r32f) uniform samplerBuffer)
0:? 'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer) 0:? 'g_tTexbfs' (layout( r32f) uniform samplerBuffer)
0:? 'g_tTexbis' (layout( r32i) readonly uniform iimageBuffer) 0:? 'g_tTexbis' (layout( r32i) uniform isamplerBuffer)
0:? 'g_tTexbus' (layout( r32ui) readonly uniform uimageBuffer) 0:? 'g_tTexbus' (layout( r32ui) uniform usamplerBuffer)
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:? '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:? 'Color' (layout( location=0) out 4-component vector of float)
0:? 'Depth' ( out float FragDepth) 0:? 'Depth' ( out float FragDepth)
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 75 // Id's are bound by 81
Capability Shader Capability Shader
Capability SampledBuffer Capability SampledBuffer
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 67 71 EntryPoint Fragment 4 "main" 73 77
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 8 "PS_OUTPUT" Name 8 "PS_OUTPUT"
@@ -185,47 +185,43 @@ gl_FragCoord origin is upper left
MemberName 8(PS_OUTPUT) 1 "Depth" MemberName 8(PS_OUTPUT) 1 "Depth"
Name 10 "@main(" Name 10 "@main("
Name 13 "r00" Name 13 "r00"
Name 16 "g_tTexbfs" Name 17 "g_tTexbfs"
Name 22 "$Global" Name 23 "$Global"
MemberName 22($Global) 0 "c1" MemberName 23($Global) 0 "c1"
MemberName 22($Global) 1 "c2" MemberName 23($Global) 1 "c2"
MemberName 22($Global) 2 "c3" MemberName 23($Global) 2 "c3"
MemberName 22($Global) 3 "c4" MemberName 23($Global) 3 "c4"
MemberName 22($Global) 4 "o1" MemberName 23($Global) 4 "o1"
MemberName 22($Global) 5 "o2" MemberName 23($Global) 5 "o2"
MemberName 22($Global) 6 "o3" MemberName 23($Global) 6 "o3"
MemberName 22($Global) 7 "o4" MemberName 23($Global) 7 "o4"
Name 24 "" Name 25 ""
Name 32 "r01" Name 34 "r01"
Name 35 "g_tTexbis" Name 38 "g_tTexbis"
Name 43 "r02" Name 47 "r02"
Name 46 "g_tTexbus" Name 51 "g_tTexbus"
Name 54 "psout" Name 60 "psout"
Name 64 "flattenTemp" Name 70 "flattenTemp"
Name 67 "Color" Name 73 "Color"
Name 71 "Depth" Name 77 "Depth"
Name 74 "g_tTexbfs_test" Name 80 "g_tTexbfs_test"
Decorate 16(g_tTexbfs) DescriptorSet 0 Decorate 17(g_tTexbfs) DescriptorSet 0
Decorate 16(g_tTexbfs) NonWritable MemberDecorate 23($Global) 0 Offset 0
MemberDecorate 22($Global) 0 Offset 0 MemberDecorate 23($Global) 1 Offset 8
MemberDecorate 22($Global) 1 Offset 8 MemberDecorate 23($Global) 2 Offset 16
MemberDecorate 22($Global) 2 Offset 16 MemberDecorate 23($Global) 3 Offset 32
MemberDecorate 22($Global) 3 Offset 32 MemberDecorate 23($Global) 4 Offset 48
MemberDecorate 22($Global) 4 Offset 48 MemberDecorate 23($Global) 5 Offset 56
MemberDecorate 22($Global) 5 Offset 56 MemberDecorate 23($Global) 6 Offset 64
MemberDecorate 22($Global) 6 Offset 64 MemberDecorate 23($Global) 7 Offset 80
MemberDecorate 22($Global) 7 Offset 80 Decorate 23($Global) Block
Decorate 22($Global) Block Decorate 25 DescriptorSet 0
Decorate 24 DescriptorSet 0 Decorate 38(g_tTexbis) DescriptorSet 0
Decorate 35(g_tTexbis) DescriptorSet 0 Decorate 51(g_tTexbus) DescriptorSet 0
Decorate 35(g_tTexbis) NonWritable Decorate 73(Color) Location 0
Decorate 46(g_tTexbus) DescriptorSet 0 Decorate 77(Depth) BuiltIn FragDepth
Decorate 46(g_tTexbus) NonWritable Decorate 80(g_tTexbfs_test) DescriptorSet 0
Decorate 67(Color) Location 0 Decorate 80(g_tTexbfs_test) Binding 0
Decorate 71(Depth) BuiltIn FragDepth
Decorate 74(g_tTexbfs_test) DescriptorSet 0
Decorate 74(g_tTexbfs_test) Binding 0
Decorate 74(g_tTexbfs_test) NonWritable
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
@@ -233,79 +229,85 @@ gl_FragCoord origin is upper left
8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
9: TypeFunction 8(PS_OUTPUT) 9: TypeFunction 8(PS_OUTPUT)
12: TypePointer Function 6(float) 12: TypePointer Function 6(float)
14: TypeImage 6(float) Buffer nonsampled format:R32f 14: TypeImage 6(float) Buffer sampled format:R32f
15: TypePointer UniformConstant 14 15: TypeSampledImage 14
16(g_tTexbfs): 15(ptr) Variable UniformConstant 16: TypePointer UniformConstant 15
18: TypeInt 32 1 17(g_tTexbfs): 16(ptr) Variable UniformConstant
19: TypeVector 18(int) 2 19: TypeInt 32 1
20: TypeVector 18(int) 3 20: TypeVector 19(int) 2
21: TypeVector 18(int) 4 21: TypeVector 19(int) 3
22($Global): TypeStruct 18(int) 19(ivec2) 20(ivec3) 21(ivec4) 18(int) 19(ivec2) 20(ivec3) 21(ivec4) 22: TypeVector 19(int) 4
23: TypePointer Uniform 22($Global) 23($Global): TypeStruct 19(int) 20(ivec2) 21(ivec3) 22(ivec4) 19(int) 20(ivec2) 21(ivec3) 22(ivec4)
24: 23(ptr) Variable Uniform 24: TypePointer Uniform 23($Global)
25: 18(int) Constant 0 25: 24(ptr) Variable Uniform
26: TypePointer Uniform 18(int) 26: 19(int) Constant 0
31: TypePointer Function 18(int) 27: TypePointer Uniform 19(int)
33: TypeImage 18(int) Buffer nonsampled format:R32i 33: TypePointer Function 19(int)
34: TypePointer UniformConstant 33 35: TypeImage 19(int) Buffer sampled format:R32i
35(g_tTexbis): 34(ptr) Variable UniformConstant 36: TypeSampledImage 35
41: TypeInt 32 0 37: TypePointer UniformConstant 36
42: TypePointer Function 41(int) 38(g_tTexbis): 37(ptr) Variable UniformConstant
44: TypeImage 41(int) Buffer nonsampled format:R32ui 45: TypeInt 32 0
45: TypePointer UniformConstant 44 46: TypePointer Function 45(int)
46(g_tTexbus): 45(ptr) Variable UniformConstant 48: TypeImage 45(int) Buffer sampled format:R32ui
50: TypeVector 41(int) 4 49: TypeSampledImage 48
53: TypePointer Function 8(PS_OUTPUT) 50: TypePointer UniformConstant 49
55: 6(float) Constant 1065353216 51(g_tTexbus): 50(ptr) Variable UniformConstant
56: 7(fvec4) ConstantComposite 55 55 55 55 56: TypeVector 45(int) 4
57: TypePointer Function 7(fvec4) 59: TypePointer Function 8(PS_OUTPUT)
59: 18(int) Constant 1 61: 6(float) Constant 1065353216
66: TypePointer Output 7(fvec4) 62: 7(fvec4) ConstantComposite 61 61 61 61
67(Color): 66(ptr) Variable Output 63: TypePointer Function 7(fvec4)
70: TypePointer Output 6(float) 65: 19(int) Constant 1
71(Depth): 70(ptr) Variable Output 72: TypePointer Output 7(fvec4)
74(g_tTexbfs_test): 15(ptr) Variable UniformConstant 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
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
64(flattenTemp): 53(ptr) Variable Function 70(flattenTemp): 59(ptr) Variable Function
65:8(PS_OUTPUT) FunctionCall 10(@main() 71:8(PS_OUTPUT) FunctionCall 10(@main()
Store 64(flattenTemp) 65 Store 70(flattenTemp) 71
68: 57(ptr) AccessChain 64(flattenTemp) 25 74: 63(ptr) AccessChain 70(flattenTemp) 26
69: 7(fvec4) Load 68 75: 7(fvec4) Load 74
Store 67(Color) 69 Store 73(Color) 75
72: 12(ptr) AccessChain 64(flattenTemp) 59 78: 12(ptr) AccessChain 70(flattenTemp) 65
73: 6(float) Load 72 79: 6(float) Load 78
Store 71(Depth) 73 Store 77(Depth) 79
Return Return
FunctionEnd FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9 10(@main():8(PS_OUTPUT) Function None 9
11: Label 11: Label
13(r00): 12(ptr) Variable Function 13(r00): 12(ptr) Variable Function
32(r01): 31(ptr) Variable Function 34(r01): 33(ptr) Variable Function
43(r02): 42(ptr) Variable Function 47(r02): 46(ptr) Variable Function
54(psout): 53(ptr) Variable Function 60(psout): 59(ptr) Variable Function
17: 14 Load 16(g_tTexbfs) 18: 15 Load 17(g_tTexbfs)
27: 26(ptr) AccessChain 24 25 28: 27(ptr) AccessChain 25 26
28: 18(int) Load 27 29: 19(int) Load 28
29: 7(fvec4) ImageRead 17 28 30: 14 Image 18
30: 6(float) CompositeExtract 29 0 31: 7(fvec4) ImageFetch 30 29
Store 13(r00) 30 32: 6(float) CompositeExtract 31 0
36: 33 Load 35(g_tTexbis) Store 13(r00) 32
37: 26(ptr) AccessChain 24 25 39: 36 Load 38(g_tTexbis)
38: 18(int) Load 37 40: 27(ptr) AccessChain 25 26
39: 21(ivec4) ImageRead 36 38 41: 19(int) Load 40
40: 18(int) CompositeExtract 39 0 42: 35 Image 39
Store 32(r01) 40 43: 22(ivec4) ImageFetch 42 41
47: 44 Load 46(g_tTexbus) 44: 19(int) CompositeExtract 43 0
48: 26(ptr) AccessChain 24 25 Store 34(r01) 44
49: 18(int) Load 48 52: 49 Load 51(g_tTexbus)
51: 50(ivec4) ImageRead 47 49 53: 27(ptr) AccessChain 25 26
52: 41(int) CompositeExtract 51 0 54: 19(int) Load 53
Store 43(r02) 52 55: 48 Image 52
58: 57(ptr) AccessChain 54(psout) 25 57: 56(ivec4) ImageFetch 55 54
Store 58 56 58: 45(int) CompositeExtract 57 0
60: 12(ptr) AccessChain 54(psout) 59 Store 47(r02) 58
Store 60 55 64: 63(ptr) AccessChain 60(psout) 26
61:8(PS_OUTPUT) Load 54(psout) Store 64 62
ReturnValue 61 66: 12(ptr) AccessChain 60(psout) 65
Store 66 61
67:8(PS_OUTPUT) Load 60(psout)
ReturnValue 67
FunctionEnd FunctionEnd

View File

@@ -6,8 +6,8 @@ Shader version: 450
0:4 'Index' ( in uint) 0:4 'Index' ( in uint)
0:? Sequence 0:? Sequence
0:5 Branch: Return with expression 0:5 Branch: Return with expression
0:5 imageLoad ( temp 4-component vector of float) 0:5 textureFetch ( temp 4-component vector of float)
0:5 'Position' (layout( rgba32f) readonly uniform imageBuffer) 0:5 'Position' (layout( rgba32f) uniform samplerBuffer)
0:5 Convert uint to int ( temp int) 0:5 Convert uint to int ( temp int)
0:5 'Index' ( in uint) 0:5 'Index' ( in uint)
0:9 Function Definition: @RealEntrypoint(u1; ( temp 4-component vector of float) 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:9 Function Call: @RealEntrypoint(u1; ( temp 4-component vector of float)
0:? 'Index' ( temp uint) 0:? 'Index' ( temp uint)
0:? Linker Objects 0:? Linker Objects
0:? 'Position' (layout( rgba32f) readonly uniform imageBuffer) 0:? 'Position' (layout( rgba32f) uniform samplerBuffer)
0:? '@entryPointOutput' ( out 4-component vector of float Position) 0:? '@entryPointOutput' ( out 4-component vector of float Position)
0:? 'Index' ( in uint VertexIndex) 0:? 'Index' ( in uint VertexIndex)
@@ -43,8 +43,8 @@ Shader version: 450
0:4 'Index' ( in uint) 0:4 'Index' ( in uint)
0:? Sequence 0:? Sequence
0:5 Branch: Return with expression 0:5 Branch: Return with expression
0:5 imageLoad ( temp 4-component vector of float) 0:5 textureFetch ( temp 4-component vector of float)
0:5 'Position' (layout( rgba32f) readonly uniform imageBuffer) 0:5 'Position' (layout( rgba32f) uniform samplerBuffer)
0:5 Convert uint to int ( temp int) 0:5 Convert uint to int ( temp int)
0:5 'Index' ( in uint) 0:5 'Index' ( in uint)
0:9 Function Definition: @RealEntrypoint(u1; ( temp 4-component vector of float) 0:9 Function Definition: @RealEntrypoint(u1; ( temp 4-component vector of float)
@@ -65,34 +65,33 @@ Shader version: 450
0:9 Function Call: @RealEntrypoint(u1; ( temp 4-component vector of float) 0:9 Function Call: @RealEntrypoint(u1; ( temp 4-component vector of float)
0:? 'Index' ( temp uint) 0:? 'Index' ( temp uint)
0:? Linker Objects 0:? Linker Objects
0:? 'Position' (layout( rgba32f) readonly uniform imageBuffer) 0:? 'Position' (layout( rgba32f) uniform samplerBuffer)
0:? '@entryPointOutput' ( out 4-component vector of float Position) 0:? '@entryPointOutput' ( out 4-component vector of float Position)
0:? 'Index' ( in uint VertexIndex) 0:? 'Index' ( in uint VertexIndex)
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 41 // Id's are bound by 43
Capability Shader Capability Shader
Capability SampledBuffer Capability SampledBuffer
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Vertex 4 "RealEntrypoint" 34 37 EntryPoint Vertex 4 "RealEntrypoint" 36 39
Name 4 "RealEntrypoint" Name 4 "RealEntrypoint"
Name 12 "FakeEntrypoint(u1;" Name 12 "FakeEntrypoint(u1;"
Name 11 "Index" Name 11 "Index"
Name 15 "@RealEntrypoint(u1;" Name 15 "@RealEntrypoint(u1;"
Name 14 "Index" Name 14 "Index"
Name 19 "Position" Name 20 "Position"
Name 27 "param" Name 29 "param"
Name 32 "Index"
Name 34 "Index" Name 34 "Index"
Name 37 "@entryPointOutput" Name 36 "Index"
Name 38 "param" Name 39 "@entryPointOutput"
Decorate 19(Position) DescriptorSet 0 Name 40 "param"
Decorate 19(Position) NonWritable Decorate 20(Position) DescriptorSet 0
Decorate 34(Index) BuiltIn VertexIndex Decorate 36(Index) BuiltIn VertexIndex
Decorate 37(@entryPointOutput) BuiltIn Position Decorate 39(@entryPointOutput) BuiltIn Position
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeInt 32 0 6: TypeInt 32 0
@@ -100,41 +99,43 @@ Shader version: 450
8: TypeFloat 32 8: TypeFloat 32
9: TypeVector 8(float) 4 9: TypeVector 8(float) 4
10: TypeFunction 9(fvec4) 7(ptr) 10: TypeFunction 9(fvec4) 7(ptr)
17: TypeImage 8(float) Buffer nonsampled format:Rgba32f 17: TypeImage 8(float) Buffer sampled format:Rgba32f
18: TypePointer UniformConstant 17 18: TypeSampledImage 17
19(Position): 18(ptr) Variable UniformConstant 19: TypePointer UniformConstant 18
22: TypeInt 32 1 20(Position): 19(ptr) Variable UniformConstant
33: TypePointer Input 6(int) 23: TypeInt 32 1
34(Index): 33(ptr) Variable Input 35: TypePointer Input 6(int)
36: TypePointer Output 9(fvec4) 36(Index): 35(ptr) Variable Input
37(@entryPointOutput): 36(ptr) Variable Output 38: TypePointer Output 9(fvec4)
39(@entryPointOutput): 38(ptr) Variable Output
4(RealEntrypoint): 2 Function None 3 4(RealEntrypoint): 2 Function None 3
5: Label 5: Label
32(Index): 7(ptr) Variable Function 34(Index): 7(ptr) Variable Function
38(param): 7(ptr) Variable Function 40(param): 7(ptr) Variable Function
35: 6(int) Load 34(Index) 37: 6(int) Load 36(Index)
Store 32(Index) 35 Store 34(Index) 37
39: 6(int) Load 32(Index) 41: 6(int) Load 34(Index)
Store 38(param) 39 Store 40(param) 41
40: 9(fvec4) FunctionCall 15(@RealEntrypoint(u1;) 38(param) 42: 9(fvec4) FunctionCall 15(@RealEntrypoint(u1;) 40(param)
Store 37(@entryPointOutput) 40 Store 39(@entryPointOutput) 42
Return Return
FunctionEnd FunctionEnd
12(FakeEntrypoint(u1;): 9(fvec4) Function None 10 12(FakeEntrypoint(u1;): 9(fvec4) Function None 10
11(Index): 7(ptr) FunctionParameter 11(Index): 7(ptr) FunctionParameter
13: Label 13: Label
20: 17 Load 19(Position) 21: 18 Load 20(Position)
21: 6(int) Load 11(Index) 22: 6(int) Load 11(Index)
23: 22(int) Bitcast 21 24: 23(int) Bitcast 22
24: 9(fvec4) ImageRead 20 23 25: 17 Image 21
ReturnValue 24 26: 9(fvec4) ImageFetch 25 24
ReturnValue 26
FunctionEnd FunctionEnd
15(@RealEntrypoint(u1;): 9(fvec4) Function None 10 15(@RealEntrypoint(u1;): 9(fvec4) Function None 10
14(Index): 7(ptr) FunctionParameter 14(Index): 7(ptr) FunctionParameter
16: Label 16: Label
27(param): 7(ptr) Variable Function 29(param): 7(ptr) Variable Function
28: 6(int) Load 14(Index) 30: 6(int) Load 14(Index)
Store 27(param) 28 Store 29(param) 30
29: 9(fvec4) FunctionCall 12(FakeEntrypoint(u1;) 27(param) 31: 9(fvec4) FunctionCall 12(FakeEntrypoint(u1;) 29(param)
ReturnValue 29 ReturnValue 31
FunctionEnd FunctionEnd

View File

@@ -2,5 +2,5 @@
// For the version, it uses the latest git tag followed by the number of commits. // For the version, it uses the latest git tag followed by the number of commits.
// For the date, it uses the current date (when then script is run). // For the date, it uses the current date (when then script is run).
#define GLSLANG_REVISION "Overload400-PrecQual.1947" #define GLSLANG_REVISION "Overload400-PrecQual.1958"
#define GLSLANG_DATE "30-Mar-2017" #define GLSLANG_DATE "31-Mar-2017"

View File

@@ -611,10 +611,6 @@ bool HlslGrammar::acceptFullySpecifiedType(TType& type, TIntermNode*& nodeList)
qualifier.layoutFormat = type.getQualifier().layoutFormat; qualifier.layoutFormat = type.getQualifier().layoutFormat;
qualifier.precision = type.getQualifier().precision; qualifier.precision = type.getQualifier().precision;
// Propagate sampler readonly qualifier for buffers
if (type.getBasicType() == EbtSampler)
qualifier.readonly = type.getQualifier().readonly;
if (type.getQualifier().storage == EvqVaryingOut || if (type.getQualifier().storage == EvqVaryingOut ||
type.getQualifier().storage == EvqBuffer) { type.getQualifier().storage == EvqBuffer) {
qualifier.storage = type.getQualifier().storage; qualifier.storage = type.getQualifier().storage;
@@ -1149,25 +1145,24 @@ bool HlslGrammar::acceptTextureType(TType& type)
bool array = false; bool array = false;
bool ms = false; bool ms = false;
bool image = false; bool image = false;
bool readonly = false;
switch (textureType) { switch (textureType) {
case EHTokTexture1d: dim = Esd1D; break; case EHTokBuffer: dim = EsdBuffer; break;
case EHTokTexture1darray: dim = Esd1D; array = true; break; case EHTokTexture1d: dim = Esd1D; break;
case EHTokTexture2d: dim = Esd2D; break; case EHTokTexture1darray: dim = Esd1D; array = true; break;
case EHTokTexture2darray: dim = Esd2D; array = true; break; case EHTokTexture2d: dim = Esd2D; break;
case EHTokTexture3d: dim = Esd3D; break; case EHTokTexture2darray: dim = Esd2D; array = true; break;
case EHTokTextureCube: dim = EsdCube; break; case EHTokTexture3d: dim = Esd3D; break;
case EHTokTextureCubearray: dim = EsdCube; array = true; break; case EHTokTextureCube: dim = EsdCube; break;
case EHTokTexture2DMS: dim = Esd2D; ms = true; break; case EHTokTextureCubearray: dim = EsdCube; array = true; break;
case EHTokTexture2DMSarray: dim = Esd2D; array = true; ms = true; break; case EHTokTexture2DMS: dim = Esd2D; ms = true; break;
case EHTokBuffer: dim = EsdBuffer; readonly=true; image=true; break; case EHTokTexture2DMSarray: dim = Esd2D; array = true; ms = true; break;
case EHTokRWBuffer: dim = EsdBuffer; image=true; break; case EHTokRWBuffer: dim = EsdBuffer; image=true; break;
case EHTokRWTexture1d: dim = Esd1D; array=false; image=true; break; case EHTokRWTexture1d: dim = Esd1D; array=false; image=true; break;
case EHTokRWTexture1darray: dim = Esd1D; array=true; image=true; break; case EHTokRWTexture1darray: dim = Esd1D; array=true; image=true; break;
case EHTokRWTexture2d: dim = Esd2D; array=false; image=true; break; case EHTokRWTexture2d: dim = Esd2D; array=false; image=true; break;
case EHTokRWTexture2darray: dim = Esd2D; array=true; image=true; break; case EHTokRWTexture2darray: dim = Esd2D; array=true; image=true; break;
case EHTokRWTexture3d: dim = Esd3D; array=false; image=true; break; case EHTokRWTexture3d: dim = Esd3D; array=false; image=true; break;
default: default:
return false; // not a texture declaration return false; // not a texture declaration
} }
@@ -1227,7 +1222,7 @@ bool HlslGrammar::acceptTextureType(TType& type)
} else if (ms) { } else if (ms) {
expected("texture type for multisample"); expected("texture type for multisample");
return false; return false;
} else if (image && !readonly) { } else if (image) {
expected("type for RWTexture/RWBuffer"); expected("type for RWTexture/RWBuffer");
return false; return false;
} }
@@ -1258,9 +1253,7 @@ bool HlslGrammar::acceptTextureType(TType& type)
sampler.vectorSize = txType.getVectorSize(); sampler.vectorSize = txType.getVectorSize();
type.shallowCopy(TType(sampler, EvqUniform, arraySizes)); type.shallowCopy(TType(sampler, EvqUniform, arraySizes));
type.getQualifier().layoutFormat = format; type.getQualifier().layoutFormat = format;
type.getQualifier().readonly = readonly;
return true; return true;
} }