glslang/Test/baseResults/spv.310.comp.out
John Kessenich 823fc65644 SPV: Don't emit memory barrier for ESSL barrier(), but still do for GLSL barrier().
Addresses issue #205.
Current open Khronos bug for finalizing this.
2016-05-19 18:26:42 -06:00

128 lines
6.3 KiB
Plaintext
Executable File

spv.310.comp
Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
Linked compute stage:
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 66
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "main" 52
ExecutionMode 4 LocalSize 16 32 4
Source ESSL 310
Name 4 "main"
Name 12 "outb"
MemberName 12(outb) 0 "f"
MemberName 12(outb) 1 "g"
MemberName 12(outb) 2 "h"
MemberName 12(outb) 3 "uns"
Name 14 "outbname"
Name 18 "s"
Name 23 "outbna"
MemberName 23(outbna) 0 "k"
MemberName 23(outbna) 1 "na"
Name 25 "outbnamena"
Name 41 "i"
Name 47 "outs"
MemberName 47(outs) 0 "s"
MemberName 47(outs) 1 "va"
Name 49 "outnames"
Name 52 "gl_LocalInvocationID"
Decorate 11 ArrayStride 16
MemberDecorate 12(outb) 0 Offset 0
MemberDecorate 12(outb) 1 Offset 4
MemberDecorate 12(outb) 2 Offset 8
MemberDecorate 12(outb) 3 Offset 16
Decorate 12(outb) BufferBlock
Decorate 14(outbname) DescriptorSet 0
MemberDecorate 23(outbna) 0 Offset 0
MemberDecorate 23(outbna) 1 Offset 16
Decorate 23(outbna) BufferBlock
Decorate 25(outbnamena) DescriptorSet 0
Decorate 46 ArrayStride 16
MemberDecorate 47(outs) 0 Offset 0
MemberDecorate 47(outs) 1 Offset 16
Decorate 47(outs) BufferBlock
Decorate 49(outnames) DescriptorSet 0
Decorate 52(gl_LocalInvocationID) BuiltIn LocalInvocationId
Decorate 65 BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
7: 6(int) Constant 1
8: 6(int) Constant 0
9: TypeFloat 32
10: TypeVector 9(float) 3
11: TypeRuntimeArray 10(fvec3)
12(outb): TypeStruct 9(float) 9(float) 9(float) 11
13: TypePointer Uniform 12(outb)
14(outbname): 13(ptr) Variable Uniform
15: TypeInt 32 1
16: 15(int) Constant 0
17: TypePointer Workgroup 9(float)
18(s): 17(ptr) Variable Workgroup
20: TypePointer Uniform 9(float)
22: TypeVector 9(float) 4
23(outbna): TypeStruct 15(int) 22(fvec4)
24: TypePointer Uniform 23(outbna)
25(outbnamena): 24(ptr) Variable Uniform
26: 15(int) Constant 1
29: TypePointer Uniform 22(fvec4)
31: 15(int) Constant 3
32: 15(int) Constant 18
35: 15(int) Constant 17
36: 9(float) Constant 1077936128
37: 10(fvec3) ConstantComposite 36 36 36
38: TypePointer Uniform 10(fvec3)
40: TypePointer Workgroup 15(int)
41(i): 40(ptr) Variable Workgroup
46: TypeRuntimeArray 22(fvec4)
47(outs): TypeStruct 15(int) 46
48: TypePointer Uniform 47(outs)
49(outnames): 48(ptr) Variable Uniform
50: TypeVector 6(int) 3
51: TypePointer Input 50(ivec3)
52(gl_LocalInvocationID): 51(ptr) Variable Input
53: TypePointer Input 6(int)
60: TypePointer Uniform 15(int)
62: 6(int) Constant 16
63: 6(int) Constant 32
64: 6(int) Constant 4
65: 50(ivec3) ConstantComposite 62 63 64
4(main): 2 Function None 3
5: Label
ControlBarrier 7 7 8
19: 9(float) Load 18(s)
21: 20(ptr) AccessChain 14(outbname) 16
Store 21 19
27: 9(float) Load 18(s)
28: 22(fvec4) CompositeConstruct 27 27 27 27
30: 29(ptr) AccessChain 25(outbnamena) 26
Store 30 28
33: 20(ptr) AccessChain 14(outbname) 31 32 8
34: 9(float) Load 33
Store 18(s) 34
39: 38(ptr) AccessChain 14(outbname) 31 35
Store 39 37
42: 15(int) Load 41(i)
43: 9(float) Load 18(s)
44: 10(fvec3) CompositeConstruct 43 43 43
45: 38(ptr) AccessChain 14(outbname) 31 42
Store 45 44
54: 53(ptr) AccessChain 52(gl_LocalInvocationID) 8
55: 6(int) Load 54
56: 9(float) Load 18(s)
57: 22(fvec4) CompositeConstruct 56 56 56 56
58: 29(ptr) AccessChain 49(outnames) 26 55
Store 58 57
59: 15(int) ArrayLength 14(outbname) 3
61: 60(ptr) AccessChain 49(outnames) 16
Store 61 59
Return
FunctionEnd