glslang/Test/baseResults/spv.ssbo.autoassign.frag.out
Matthew Moulton 5073d93ec4
Apply GLSL memory decorations to top-level OpVariable
Apply memory decorations from GLSL source to the top-level OpVariable.
Previously, these decorations would only be applied to individual
members. While this is correct behavior, it is more convenient for some
front ends to see the decorations (specifically ReadOnly and WriteOnly)
applied to the whole variable rather than individual members.
2024-08-28 17:46:16 -04:00

158 lines
7.5 KiB
Plaintext

spv.ssbo.autoassign.frag
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 99
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 92 95
ExecutionMode 4 OriginUpperLeft
Source HLSL 500
Name 4 "main"
Name 11 "@main(vf4;"
Name 10 "pos"
Name 13 "vTmp"
Name 14 "BufType"
MemberName 14(BufType) 0 "va"
MemberName 14(BufType) 1 "vb"
Name 16 "SB0"
MemberName 16(SB0) 0 "@data"
Name 18 "SB0"
Name 26 "TestCB"
MemberName 26(TestCB) 0 "W"
MemberName 26(TestCB) 1 "H"
Name 28 ""
Name 57 "SB1"
MemberName 57(SB1) 0 "@data"
Name 59 "SB1"
Name 90 "pos"
Name 92 "pos"
Name 95 "@entryPointOutput"
Name 96 "param"
MemberDecorate 14(BufType) 0 Offset 0
MemberDecorate 14(BufType) 1 Offset 16
Decorate 15 ArrayStride 32
Decorate 16(SB0) BufferBlock
MemberDecorate 16(SB0) 0 NonWritable
MemberDecorate 16(SB0) 0 Offset 0
Decorate 18(SB0) NonWritable
Decorate 18(SB0) Binding 30
Decorate 18(SB0) DescriptorSet 0
Decorate 26(TestCB) Block
MemberDecorate 26(TestCB) 0 Offset 0
MemberDecorate 26(TestCB) 1 Offset 4
Decorate 28 Binding 15
Decorate 28 DescriptorSet 0
Decorate 56 ArrayStride 32
Decorate 57(SB1) BufferBlock
MemberDecorate 57(SB1) 0 Offset 0
Decorate 59(SB1) Binding 31
Decorate 59(SB1) DescriptorSet 0
Decorate 92(pos) Location 0
Decorate 95(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4)
9: TypeFunction 7(fvec4) 8(ptr)
14(BufType): TypeStruct 7(fvec4) 7(fvec4)
15: TypeRuntimeArray 14(BufType)
16(SB0): TypeStruct 15
17: TypePointer Uniform 16(SB0)
18(SB0): 17(ptr) Variable Uniform
19: TypeInt 32 1
20: 19(int) Constant 0
21: TypeInt 32 0
22: 21(int) Constant 1
23: TypePointer Function 6(float)
26(TestCB): TypeStruct 21(int) 21(int)
27: TypePointer Uniform 26(TestCB)
28: 27(ptr) Variable Uniform
29: TypePointer Uniform 21(int)
34: 21(int) Constant 0
39: TypePointer Uniform 7(fvec4)
52: 19(int) Constant 1
56: TypeRuntimeArray 14(BufType)
57(SB1): TypeStruct 56
58: TypePointer Uniform 57(SB1)
59(SB1): 58(ptr) Variable Uniform
91: TypePointer Input 7(fvec4)
92(pos): 91(ptr) Variable Input
94: TypePointer Output 7(fvec4)
95(@entryPointOutput): 94(ptr) Variable Output
4(main): 2 Function None 3
5: Label
90(pos): 8(ptr) Variable Function
96(param): 8(ptr) Variable Function
93: 7(fvec4) Load 92(pos)
Store 90(pos) 93
97: 7(fvec4) Load 90(pos)
Store 96(param) 97
98: 7(fvec4) FunctionCall 11(@main(vf4;) 96(param)
Store 95(@entryPointOutput) 98
Return
FunctionEnd
11(@main(vf4;): 7(fvec4) Function None 9
10(pos): 8(ptr) FunctionParameter
12: Label
13(vTmp): 8(ptr) Variable Function
24: 23(ptr) AccessChain 10(pos) 22
25: 6(float) Load 24
30: 29(ptr) AccessChain 28 20
31: 21(int) Load 30
32: 6(float) ConvertUToF 31
33: 6(float) FMul 25 32
35: 23(ptr) AccessChain 10(pos) 34
36: 6(float) Load 35
37: 6(float) FAdd 33 36
38: 21(int) ConvertFToU 37
40: 39(ptr) AccessChain 18(SB0) 20 38 20
41: 7(fvec4) Load 40
42: 23(ptr) AccessChain 10(pos) 22
43: 6(float) Load 42
44: 29(ptr) AccessChain 28 20
45: 21(int) Load 44
46: 6(float) ConvertUToF 45
47: 6(float) FMul 43 46
48: 23(ptr) AccessChain 10(pos) 34
49: 6(float) Load 48
50: 6(float) FAdd 47 49
51: 21(int) ConvertFToU 50
53: 39(ptr) AccessChain 18(SB0) 20 51 52
54: 7(fvec4) Load 53
55: 7(fvec4) FAdd 41 54
Store 13(vTmp) 55
60: 23(ptr) AccessChain 10(pos) 22
61: 6(float) Load 60
62: 29(ptr) AccessChain 28 20
63: 21(int) Load 62
64: 6(float) ConvertUToF 63
65: 6(float) FMul 61 64
66: 23(ptr) AccessChain 10(pos) 34
67: 6(float) Load 66
68: 6(float) FAdd 65 67
69: 21(int) ConvertFToU 68
70: 39(ptr) AccessChain 59(SB1) 20 69 20
71: 7(fvec4) Load 70
72: 23(ptr) AccessChain 10(pos) 22
73: 6(float) Load 72
74: 29(ptr) AccessChain 28 20
75: 21(int) Load 74
76: 6(float) ConvertUToF 75
77: 6(float) FMul 73 76
78: 23(ptr) AccessChain 10(pos) 34
79: 6(float) Load 78
80: 6(float) FAdd 77 79
81: 21(int) ConvertFToU 80
82: 39(ptr) AccessChain 59(SB1) 20 81 52
83: 7(fvec4) Load 82
84: 7(fvec4) FAdd 71 83
85: 7(fvec4) Load 13(vTmp)
86: 7(fvec4) FAdd 85 84
Store 13(vTmp) 86
87: 7(fvec4) Load 13(vTmp)
ReturnValue 87
FunctionEnd