blob: a44e4259571a661db99964f540687444ced28e91 [file] [log] [blame]
Alastair Donaldsonf7e73d42021-07-23 13:10:12 +00001 OpCapability Shader
2 %1 = OpExtInstImport "GLSL.std.450"
3 OpMemoryModel Logical GLSL450
4 OpEntryPoint Fragment %main "main" %_GLF_color
5 OpExecutionMode %main OriginUpperLeft
6 OpSource ESSL 320
7 OpName %main "main"
8 OpName %m0 "m0"
9 OpName %buf1 "buf1"
10 OpMemberName %buf1 0 "_GLF_uniform_int_values"
11 OpName %_ ""
12 OpName %c "c"
13 OpName %m1 "m1"
14 OpName %buf0 "buf0"
15 OpMemberName %buf0 0 "_GLF_uniform_float_values"
16 OpName %__0 ""
17 OpName %_GLF_color "_GLF_color"
18 OpDecorate %_arr_int_uint_4 ArrayStride 16
19 OpMemberDecorate %buf1 0 Offset 0
20 OpDecorate %buf1 Block
21 OpDecorate %_ DescriptorSet 0
22 OpDecorate %_ Binding 1
23 OpDecorate %_arr_float_uint_1 ArrayStride 16
24 OpMemberDecorate %buf0 0 Offset 0
25 OpDecorate %buf0 Block
26 OpDecorate %__0 DescriptorSet 0
27 OpDecorate %__0 Binding 0
28 OpDecorate %_GLF_color Location 0
29 %void = OpTypeVoid
30 %14 = OpTypeFunction %void
31 %float = OpTypeFloat 32
32 %v4float = OpTypeVector %float 4
33%mat4v4float = OpTypeMatrix %v4float 4
34%_ptr_Function_mat4v4float = OpTypePointer Function %mat4v4float
35 %int = OpTypeInt 32 1
36 %uint = OpTypeInt 32 0
37 %uint_4 = OpConstant %uint 4
38%_arr_int_uint_4 = OpTypeArray %int %uint_4
39 %buf1 = OpTypeStruct %_arr_int_uint_4
40%_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1
41 %_ = OpVariable %_ptr_Uniform_buf1 Uniform
42 %int_0 = OpConstant %int 0
43 %int_1 = OpConstant %int 1
44%_ptr_Uniform_int = OpTypePointer Uniform %int
45 %float_1 = OpConstant %float 1
46 %float_0 = OpConstant %float 0
47%_ptr_Function_int = OpTypePointer Function %int
48 %int_2 = OpConstant %int 2
49 %bool = OpTypeBool
50 %int_3 = OpConstant %int 3
51 %uint_1 = OpConstant %uint 1
52%_arr_float_uint_1 = OpTypeArray %float %uint_1
53 %buf0 = OpTypeStruct %_arr_float_uint_1
54%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
55 %__0 = OpVariable %_ptr_Uniform_buf0 Uniform
56%_ptr_Uniform_float = OpTypePointer Uniform %float
57%_ptr_Function_float = OpTypePointer Function %float
58 %v4bool = OpTypeVector %bool 4
59%_ptr_Output_v4float = OpTypePointer Output %v4float
60 %_GLF_color = OpVariable %_ptr_Output_v4float Output
61 %main = OpFunction %void None %14
62 %38 = OpLabel
63 %m0 = OpVariable %_ptr_Function_mat4v4float Function
64 %c = OpVariable %_ptr_Function_int Function
65 %m1 = OpVariable %_ptr_Function_mat4v4float Function
66 %39 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
67 %40 = OpLoad %int %39
68 %41 = OpConvertSToF %float %40
69 %42 = OpCompositeConstruct %v4float %41 %float_0 %float_0 %float_0
70 %43 = OpCompositeConstruct %v4float %float_0 %41 %float_0 %float_0
71 %44 = OpCompositeConstruct %v4float %float_0 %float_0 %41 %float_0
72 %45 = OpCompositeConstruct %v4float %float_0 %float_0 %float_0 %41
73 %46 = OpCompositeConstruct %mat4v4float %42 %43 %44 %45
74 OpStore %m0 %46
75 %47 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
76 %48 = OpLoad %int %47
77 OpStore %c %48
78 OpBranch %49
79 %49 = OpLabel
80 OpLoopMerge %50 %51 None
81 OpBranch %52
82 %52 = OpLabel
83 %53 = OpLoad %int %c
84 %54 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
85 %55 = OpLoad %int %54
86 %56 = OpSLessThan %bool %53 %55
87 OpBranchConditional %56 %57 %50
88 %57 = OpLabel
89 %58 = OpLoad %mat4v4float %m0
90 OpStore %m1 %58
91 %59 = OpLoad %int %c
92 %60 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_3
93 %61 = OpLoad %int %60
94 %62 = OpSMod %int %59 %61
95 %63 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
96 %64 = OpLoad %int %63
97 %65 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_0
98 %66 = OpLoad %float %65
99 %67 = OpAccessChain %_ptr_Function_float %m1 %62 %64
100 OpStore %67 %66
101 %68 = OpLoad %int %c
102 %69 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_3
103 %70 = OpLoad %int %69
104 %71 = OpSMod %int %68 %70
105 %72 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
106 %73 = OpLoad %int %72
107 %74 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_0
108 %75 = OpLoad %float %74
109 %76 = OpAccessChain %_ptr_Function_float %m0 %71 %73
110 OpStore %76 %75
111 OpBranch %51
112 %51 = OpLabel
113 %77 = OpLoad %int %c
114 %78 = OpIAdd %int %77 %int_1
115 OpStore %c %78
116 OpBranch %49
117 %50 = OpLabel
118 %79 = OpLoad %mat4v4float %m0
119 %80 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
120 %81 = OpLoad %int %80
121 %82 = OpConvertSToF %float %81
122 %83 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
123 %84 = OpLoad %int %83
124 %85 = OpConvertSToF %float %84
125 %86 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
126 %87 = OpLoad %int %86
127 %88 = OpConvertSToF %float %87
128 %89 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
129 %90 = OpLoad %int %89
130 %91 = OpConvertSToF %float %90
131 %92 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
132 %93 = OpLoad %int %92
133 %94 = OpConvertSToF %float %93
134 %95 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
135 %96 = OpLoad %int %95
136 %97 = OpConvertSToF %float %96
137 %98 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
138 %99 = OpLoad %int %98
139 %100 = OpConvertSToF %float %99
140 %101 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
141 %102 = OpLoad %int %101
142 %103 = OpConvertSToF %float %102
143 %104 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
144 %105 = OpLoad %int %104
145 %106 = OpConvertSToF %float %105
146 %107 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
147 %108 = OpLoad %int %107
148 %109 = OpConvertSToF %float %108
149 %110 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
150 %111 = OpLoad %int %110
151 %112 = OpConvertSToF %float %111
152 %113 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
153 %114 = OpLoad %int %113
154 %115 = OpConvertSToF %float %114
155 %116 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
156 %117 = OpLoad %int %116
157 %118 = OpConvertSToF %float %117
158 %119 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
159 %120 = OpLoad %int %119
160 %121 = OpConvertSToF %float %120
161 %122 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
162 %123 = OpLoad %int %122
163 %124 = OpConvertSToF %float %123
164 %125 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
165 %126 = OpLoad %int %125
166 %127 = OpConvertSToF %float %126
167 %128 = OpCompositeConstruct %v4float %82 %85 %88 %91
168 %129 = OpCompositeConstruct %v4float %94 %97 %100 %103
169 %130 = OpCompositeConstruct %v4float %106 %109 %112 %115
170 %131 = OpCompositeConstruct %v4float %118 %121 %124 %127
171 %132 = OpCompositeConstruct %mat4v4float %128 %129 %130 %131
172 %133 = OpCompositeExtract %v4float %79 0
173 %134 = OpCompositeExtract %v4float %132 0
174 %135 = OpFOrdEqual %v4bool %133 %134
175 %136 = OpAll %bool %135
176 %137 = OpCompositeExtract %v4float %79 1
177 %138 = OpCompositeExtract %v4float %132 1
178 %139 = OpFOrdEqual %v4bool %137 %138
179 %140 = OpAll %bool %139
180 %141 = OpLogicalAnd %bool %136 %140
181 %142 = OpCompositeExtract %v4float %79 2
182 %143 = OpCompositeExtract %v4float %132 2
183 %144 = OpFOrdEqual %v4bool %142 %143
184 %145 = OpAll %bool %144
185 %146 = OpLogicalAnd %bool %141 %145
186 %147 = OpCompositeExtract %v4float %79 3
187 %148 = OpCompositeExtract %v4float %132 3
188 %149 = OpFOrdEqual %v4bool %147 %148
189 %150 = OpAll %bool %149
190 %151 = OpLogicalAnd %bool %146 %150
191 OpSelectionMerge %152 None
192 OpBranchConditional %151 %153 %154
193 %153 = OpLabel
194 %155 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
195 %156 = OpLoad %int %155
196 %157 = OpConvertSToF %float %156
197 %158 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
198 %159 = OpLoad %int %158
199 %160 = OpConvertSToF %float %159
200 %161 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
201 %162 = OpLoad %int %161
202 %163 = OpConvertSToF %float %162
203 %164 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
204 %165 = OpLoad %int %164
205 %166 = OpConvertSToF %float %165
206 %167 = OpCompositeConstruct %v4float %157 %160 %163 %166
207 OpStore %_GLF_color %167
208 OpBranch %152
209 %154 = OpLabel
210 %168 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
211 %169 = OpLoad %int %168
212 %170 = OpConvertSToF %float %169
213 %171 = OpCompositeConstruct %v4float %170 %170 %170 %170
214 OpStore %_GLF_color %171
215 OpBranch %152
216 %152 = OpLabel
217 OpReturn
218 OpFunctionEnd