mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-08 11:30:06 +00:00
5073d93ec4
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.
158 lines
7.5 KiB
Plaintext
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
|