blob: cf536e8be320ecffbd2ac92224e8dc12e27742f0 [file] [log] [blame]
spv.16bitstorage.frag
// Module Version 10000
// Generated by (magic number): 80007
// Id's are bound by 173
Capability Shader
Capability StorageUniformBufferBlock16
Capability StorageUniform16
Extension "SPV_AMD_gpu_shader_half_float"
Extension "SPV_KHR_16bit_storage"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginUpperLeft
Source GLSL 450
SourceExtension "GL_EXT_shader_16bit_storage"
Name 4 "main"
Name 12 "S"
MemberName 12(S) 0 "x"
MemberName 12(S) 1 "y"
MemberName 12(S) 2 "z"
Name 17 "B2"
MemberName 17(B2) 0 "o"
MemberName 17(B2) 1 "p"
MemberName 17(B2) 2 "q"
MemberName 17(B2) 3 "r"
MemberName 17(B2) 4 "u"
MemberName 17(B2) 5 "v"
MemberName 17(B2) 6 "x"
MemberName 17(B2) 7 "w"
Name 19 "b2"
Name 23 "S"
MemberName 23(S) 0 "x"
MemberName 23(S) 1 "y"
MemberName 23(S) 2 "z"
Name 25 "B1"
MemberName 25(B1) 0 "a"
MemberName 25(B1) 1 "b"
MemberName 25(B1) 2 "c"
MemberName 25(B1) 3 "d"
MemberName 25(B1) 4 "g"
MemberName 25(B1) 5 "h"
MemberName 25(B1) 6 "j"
Name 27 "b1"
Name 46 "S"
MemberName 46(S) 0 "x"
MemberName 46(S) 1 "y"
MemberName 46(S) 2 "z"
Name 50 "B5"
MemberName 50(B5) 0 "o"
MemberName 50(B5) 1 "p"
MemberName 50(B5) 2 "q"
MemberName 50(B5) 3 "r"
MemberName 50(B5) 4 "u"
MemberName 50(B5) 5 "v"
MemberName 50(B5) 6 "x"
MemberName 50(B5) 7 "w"
Name 52 "b5"
Name 70 "x0"
Name 76 "x1"
Name 88 "S2"
MemberName 88(S2) 0 "x"
MemberName 88(S2) 1 "y"
MemberName 88(S2) 2 "z"
Name 89 "S3"
MemberName 89(S3) 0 "x"
Name 90 "B4"
MemberName 90(B4) 0 "x"
MemberName 90(B4) 1 "y"
Name 92 "b4"
Name 93 "S2"
MemberName 93(S2) 0 "x"
MemberName 93(S2) 1 "y"
MemberName 93(S2) 2 "z"
Name 94 "B3"
MemberName 94(B3) 0 "x"
Name 96 "b3"
Name 113 "v3"
Name 135 "u3"
Decorate 11 ArrayStride 2
MemberDecorate 12(S) 0 Offset 0
MemberDecorate 12(S) 1 Offset 4
MemberDecorate 12(S) 2 Offset 8
Decorate 13 ArrayStride 16
Decorate 15 ArrayStride 4
Decorate 16 ArrayStride 2
MemberDecorate 17(B2) 0 Offset 0
MemberDecorate 17(B2) 1 Offset 4
MemberDecorate 17(B2) 2 Offset 8
MemberDecorate 17(B2) 3 Offset 14
MemberDecorate 17(B2) 4 Offset 24
MemberDecorate 17(B2) 5 Offset 40
MemberDecorate 17(B2) 6 Offset 72
MemberDecorate 17(B2) 7 Offset 472
Decorate 17(B2) BufferBlock
Decorate 19(b2) DescriptorSet 0
Decorate 22 ArrayStride 16
MemberDecorate 23(S) 0 Offset 0
MemberDecorate 23(S) 1 Offset 4
MemberDecorate 23(S) 2 Offset 8
Decorate 24 ArrayStride 16
MemberDecorate 25(B1) 0 Offset 0
MemberDecorate 25(B1) 1 Offset 4
MemberDecorate 25(B1) 2 Offset 8
MemberDecorate 25(B1) 3 Offset 16
MemberDecorate 25(B1) 4 Offset 48
MemberDecorate 25(B1) 5 Offset 64
MemberDecorate 25(B1) 6 Offset 96
Decorate 25(B1) Block
Decorate 27(b1) DescriptorSet 0
Decorate 45 ArrayStride 16
MemberDecorate 46(S) 0 Offset 0
MemberDecorate 46(S) 1 Offset 4
MemberDecorate 46(S) 2 Offset 8
Decorate 47 ArrayStride 16
Decorate 48 ArrayStride 16
Decorate 49 ArrayStride 16
MemberDecorate 50(B5) 0 Offset 0
MemberDecorate 50(B5) 1 Offset 4
MemberDecorate 50(B5) 2 Offset 8
MemberDecorate 50(B5) 3 Offset 16
MemberDecorate 50(B5) 4 Offset 48
MemberDecorate 50(B5) 5 Offset 64
MemberDecorate 50(B5) 6 Offset 96
MemberDecorate 50(B5) 7 Offset 1696
Decorate 50(B5) Block
Decorate 52(b5) DescriptorSet 0
MemberDecorate 88(S2) 0 ColMajor
MemberDecorate 88(S2) 0 Offset 0
MemberDecorate 88(S2) 0 MatrixStride 16
MemberDecorate 88(S2) 1 Offset 64
MemberDecorate 88(S2) 2 Offset 68
MemberDecorate 89(S3) 0 Offset 0
MemberDecorate 90(B4) 0 Offset 0
MemberDecorate 90(B4) 1 Offset 80
Decorate 90(B4) BufferBlock
Decorate 92(b4) DescriptorSet 0
MemberDecorate 93(S2) 0 RowMajor
MemberDecorate 93(S2) 0 Offset 0
MemberDecorate 93(S2) 0 MatrixStride 16
MemberDecorate 93(S2) 1 Offset 64
MemberDecorate 93(S2) 2 Offset 68
MemberDecorate 94(B3) 0 Offset 0
Decorate 94(B3) BufferBlock
Decorate 96(b3) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 16
7: TypeVector 6(float16_t) 2
8: TypeVector 6(float16_t) 3
9: TypeInt 32 0
10: 9(int) Constant 2
11: TypeArray 6(float16_t) 10
12(S): TypeStruct 6(float16_t) 7(f16vec2) 8(f16vec3)
13: TypeArray 12(S) 10
14: 9(int) Constant 100
15: TypeArray 7(f16vec2) 14
16: TypeRuntimeArray 6(float16_t)
17(B2): TypeStruct 6(float16_t) 7(f16vec2) 8(f16vec3) 11 12(S) 13 15 16
18: TypePointer Uniform 17(B2)
19(b2): 18(ptr) Variable Uniform
20: TypeInt 32 1
21: 20(int) Constant 0
22: TypeArray 6(float16_t) 10
23(S): TypeStruct 6(float16_t) 7(f16vec2) 8(f16vec3)
24: TypeArray 23(S) 10
25(B1): TypeStruct 6(float16_t) 7(f16vec2) 8(f16vec3) 22 23(S) 24 20(int)
26: TypePointer Uniform 25(B1)
27(b1): 26(ptr) Variable Uniform
28: TypePointer Uniform 6(float16_t)
32: 20(int) Constant 1
33: 20(int) Constant 2
34: TypePointer Uniform 8(f16vec3)
37: TypeFloat 32
38: TypeVector 37(float) 3
40: TypeVector 37(float) 2
43: TypePointer Uniform 7(f16vec2)
45: TypeArray 6(float16_t) 10
46(S): TypeStruct 6(float16_t) 7(f16vec2) 8(f16vec3)
47: TypeArray 46(S) 10
48: TypeArray 7(f16vec2) 14
49: TypeArray 6(float16_t) 14
50(B5): TypeStruct 6(float16_t) 7(f16vec2) 8(f16vec3) 45 46(S) 47 48 49
51: TypePointer Uniform 50(B5)
52(b5): 51(ptr) Variable Uniform
59: 20(int) Constant 3
69: TypePointer Function 37(float)
74: TypeVector 37(float) 4
75: TypePointer Function 74(fvec4)
83: 37(float) Constant 1065353216
87: TypeMatrix 74(fvec4) 4
88(S2): TypeStruct 87 6(float16_t) 37(float)
89(S3): TypeStruct 88(S2)
90(B4): TypeStruct 88(S2) 89(S3)
91: TypePointer Uniform 90(B4)
92(b4): 91(ptr) Variable Uniform
93(S2): TypeStruct 87 6(float16_t) 37(float)
94(B3): TypeStruct 93(S2)
95: TypePointer Uniform 94(B3)
96(b3): 95(ptr) Variable Uniform
97: TypePointer Uniform 87
104: 9(int) Constant 0
108: 20(int) Constant 5
112: TypePointer Function 38(fvec3)
114: 20(int) Constant 7
115: 20(int) Constant 6
116: TypePointer Uniform 20(int)
166: 37(float) Constant 1073741824
167: 40(fvec2) ConstantComposite 83 166
170: 37(float) Constant 1077936128
4(main): 2 Function None 3
5: Label
70(x0): 69(ptr) Variable Function
76(x1): 75(ptr) Variable Function
113(v3): 112(ptr) Variable Function
135(u3): 112(ptr) Variable Function
29: 28(ptr) AccessChain 27(b1) 21
30:6(float16_t) Load 29
31: 28(ptr) AccessChain 19(b2) 21
Store 31 30
35: 34(ptr) AccessChain 19(b2) 33
36: 8(f16vec3) Load 35
39: 38(fvec3) FConvert 36
41: 40(fvec2) VectorShuffle 39 39 0 1
42: 7(f16vec2) FConvert 41
44: 43(ptr) AccessChain 19(b2) 32
Store 44 42
53: 34(ptr) AccessChain 52(b5) 33
54: 8(f16vec3) Load 53
55: 38(fvec3) FConvert 54
56: 40(fvec2) VectorShuffle 55 55 0 1
57: 7(f16vec2) FConvert 56
58: 43(ptr) AccessChain 19(b2) 32
Store 58 57
60: 28(ptr) AccessChain 19(b2) 59 21
61:6(float16_t) Load 60
62: 28(ptr) AccessChain 19(b2) 59 21
Store 62 61
63: 28(ptr) AccessChain 52(b5) 59 32
64:6(float16_t) Load 63
65: 28(ptr) AccessChain 19(b2) 59 32
Store 65 64
66: 43(ptr) AccessChain 19(b2) 32
67: 7(f16vec2) Load 66
68: 43(ptr) AccessChain 19(b2) 32
Store 68 67
71: 28(ptr) AccessChain 27(b1) 21
72:6(float16_t) Load 71
73: 37(float) FConvert 72
Store 70(x0) 73
77: 28(ptr) AccessChain 27(b1) 21
78:6(float16_t) Load 77
79: 37(float) FConvert 78
80: 43(ptr) AccessChain 19(b2) 32
81: 7(f16vec2) Load 80
82: 40(fvec2) FConvert 81
84: 37(float) CompositeExtract 82 0
85: 37(float) CompositeExtract 82 1
86: 74(fvec4) CompositeConstruct 79 84 85 83
Store 76(x1) 86
98: 97(ptr) AccessChain 96(b3) 21 21
99: 87 Load 98
100: 97(ptr) AccessChain 92(b4) 21 21
Store 100 99
101: 43(ptr) AccessChain 19(b2) 32
102: 7(f16vec2) Load 101
103: 40(fvec2) FConvert 102
105: 37(float) CompositeExtract 103 0
106:6(float16_t) FConvert 105
107: 28(ptr) AccessChain 19(b2) 21
Store 107 106
109: 43(ptr) AccessChain 19(b2) 108 32 32
110: 7(f16vec2) Load 109
111: 43(ptr) AccessChain 19(b2) 32
Store 111 110
117: 116(ptr) AccessChain 27(b1) 115
118: 20(int) Load 117
119: 28(ptr) AccessChain 19(b2) 114 118
120:6(float16_t) Load 119
121: 37(float) FConvert 120
122: 116(ptr) AccessChain 27(b1) 115
123: 20(int) Load 122
124: 20(int) IAdd 123 32
125: 28(ptr) AccessChain 19(b2) 114 124
126:6(float16_t) Load 125
127: 37(float) FConvert 126
128: 116(ptr) AccessChain 27(b1) 115
129: 20(int) Load 128
130: 20(int) IAdd 129 33
131: 28(ptr) AccessChain 19(b2) 114 130
132:6(float16_t) Load 131
133: 37(float) FConvert 132
134: 38(fvec3) CompositeConstruct 121 127 133
Store 113(v3) 134
136: 116(ptr) AccessChain 27(b1) 115
137: 20(int) Load 136
138: 28(ptr) AccessChain 52(b5) 114 137
139:6(float16_t) Load 138
140: 37(float) FConvert 139
141: 116(ptr) AccessChain 27(b1) 115
142: 20(int) Load 141
143: 20(int) IAdd 142 32
144: 28(ptr) AccessChain 52(b5) 114 143
145:6(float16_t) Load 144
146: 37(float) FConvert 145
147: 116(ptr) AccessChain 27(b1) 115
148: 20(int) Load 147
149: 20(int) IAdd 148 33
150: 28(ptr) AccessChain 52(b5) 114 149
151:6(float16_t) Load 150
152: 37(float) FConvert 151
153: 38(fvec3) CompositeConstruct 140 146 152
Store 135(u3) 153
154: 43(ptr) AccessChain 19(b2) 115 21
155: 7(f16vec2) Load 154
156: 43(ptr) AccessChain 19(b2) 115 21
Store 156 155
157: 43(ptr) AccessChain 52(b5) 115 32
158: 7(f16vec2) Load 157
159: 43(ptr) AccessChain 19(b2) 115 32
Store 159 158
160: 28(ptr) AccessChain 27(b1) 21
161:6(float16_t) Load 160
162: 28(ptr) AccessChain 19(b2) 32 104
Store 162 161
163: 28(ptr) AccessChain 19(b2) 32 104
164:6(float16_t) Load 163
165: 28(ptr) AccessChain 19(b2) 21
Store 165 164
168: 7(f16vec2) FConvert 167
169: 43(ptr) AccessChain 19(b2) 32
Store 169 168
171:6(float16_t) FConvert 170
172: 28(ptr) AccessChain 19(b2) 21
Store 172 171
Return
FunctionEnd