| OpCapability Shader |
| %1 = OpExtInstImport "GLSL.std.450" |
| OpMemoryModel Logical GLSL450 |
| OpEntryPoint Fragment %main "main" %_GLF_color |
| OpExecutionMode %main OriginUpperLeft |
| OpSource ESSL 320 |
| OpName %main "main" |
| OpName %_GLF_global_loop_count "_GLF_global_loop_count" |
| OpName %f "f" |
| OpName %buf0 "buf0" |
| OpMemberName %buf0 0 "_GLF_uniform_float_values" |
| OpName %_ "" |
| OpName %i "i" |
| OpName %buf1 "buf1" |
| OpMemberName %buf1 0 "_GLF_uniform_int_values" |
| OpName %__0 "" |
| OpName %i_0 "i" |
| OpName %i_1 "i" |
| OpName %i_2 "i" |
| OpName %i_3 "i" |
| OpName %i_4 "i" |
| OpName %i_5 "i" |
| OpName %i_6 "i" |
| OpName %i_7 "i" |
| OpName %i_8 "i" |
| OpName %i_9 "i" |
| OpName %i_10 "i" |
| OpName %i_11 "i" |
| OpName %i_12 "i" |
| OpName %i_13 "i" |
| OpName %sum "sum" |
| OpName %r "r" |
| OpName %_GLF_color "_GLF_color" |
| OpDecorate %_arr_float_uint_3 ArrayStride 16 |
| OpMemberDecorate %buf0 0 Offset 0 |
| OpDecorate %buf0 Block |
| OpDecorate %_ DescriptorSet 0 |
| OpDecorate %_ Binding 0 |
| OpDecorate %_arr_int_uint_4 ArrayStride 16 |
| OpMemberDecorate %buf1 0 Offset 0 |
| OpDecorate %buf1 Block |
| OpDecorate %__0 DescriptorSet 0 |
| OpDecorate %__0 Binding 1 |
| OpDecorate %_GLF_color Location 0 |
| %void = OpTypeVoid |
| %30 = OpTypeFunction %void |
| %int = OpTypeInt 32 1 |
| %_ptr_Private_int = OpTypePointer Private %int |
| %_GLF_global_loop_count = OpVariable %_ptr_Private_int Private |
| %int_0 = OpConstant %int 0 |
| %float = OpTypeFloat 32 |
| %_ptr_Function_float = OpTypePointer Function %float |
| %uint = OpTypeInt 32 0 |
| %uint_3 = OpConstant %uint 3 |
| %_arr_float_uint_3 = OpTypeArray %float %uint_3 |
| %buf0 = OpTypeStruct %_arr_float_uint_3 |
| %_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0 |
| %_ = OpVariable %_ptr_Uniform_buf0 Uniform |
| %int_1 = OpConstant %int 1 |
| %_ptr_Uniform_float = OpTypePointer Uniform %float |
| %_ptr_Function_int = OpTypePointer Function %int |
| %uint_4 = OpConstant %uint 4 |
| %_arr_int_uint_4 = OpTypeArray %int %uint_4 |
| %buf1 = OpTypeStruct %_arr_int_uint_4 |
| %_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1 |
| %__0 = OpVariable %_ptr_Uniform_buf1 Uniform |
| %_ptr_Uniform_int = OpTypePointer Uniform %int |
| %bool = OpTypeBool |
| %int_2 = OpConstant %int 2 |
| %int_100 = OpConstant %int 100 |
| %int_3 = OpConstant %int 3 |
| %v4float = OpTypeVector %float 4 |
| %_ptr_Output_v4float = OpTypePointer Output %v4float |
| %_GLF_color = OpVariable %_ptr_Output_v4float Output |
| %main = OpFunction %void None %30 |
| %51 = OpLabel |
| %f = OpVariable %_ptr_Function_float Function |
| %i = OpVariable %_ptr_Function_int Function |
| %i_0 = OpVariable %_ptr_Function_int Function |
| %i_1 = OpVariable %_ptr_Function_int Function |
| %i_2 = OpVariable %_ptr_Function_int Function |
| %i_3 = OpVariable %_ptr_Function_int Function |
| %i_4 = OpVariable %_ptr_Function_int Function |
| %i_5 = OpVariable %_ptr_Function_int Function |
| %i_6 = OpVariable %_ptr_Function_int Function |
| %i_7 = OpVariable %_ptr_Function_int Function |
| %i_8 = OpVariable %_ptr_Function_int Function |
| %i_9 = OpVariable %_ptr_Function_int Function |
| %i_10 = OpVariable %_ptr_Function_int Function |
| %i_11 = OpVariable %_ptr_Function_int Function |
| %i_12 = OpVariable %_ptr_Function_int Function |
| %i_13 = OpVariable %_ptr_Function_int Function |
| %sum = OpVariable %_ptr_Function_float Function |
| %r = OpVariable %_ptr_Function_int Function |
| OpStore %_GLF_global_loop_count %int_0 |
| %52 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_1 |
| %53 = OpLoad %float %52 |
| OpStore %f %53 |
| %54 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1 |
| %55 = OpLoad %int %54 |
| OpStore %i %55 |
| OpBranch %56 |
| %56 = OpLabel |
| OpLoopMerge %57 %58 None |
| OpBranch %59 |
| %59 = OpLabel |
| %60 = OpLoad %int %i |
| %61 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0 |
| %62 = OpLoad %int %61 |
| %63 = OpSLessThan %bool %60 %62 |
| OpBranchConditional %63 %64 %57 |
| %64 = OpLabel |
| %65 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1 |
| %66 = OpLoad %int %65 |
| OpStore %i_0 %66 |
| OpBranch %67 |
| %67 = OpLabel |
| OpLoopMerge %68 %69 None |
| OpBranch %70 |
| %70 = OpLabel |
| %71 = OpLoad %int %i_0 |
| %72 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0 |
| %73 = OpLoad %int %72 |
| %74 = OpSLessThan %bool %71 %73 |
| OpBranchConditional %74 %75 %68 |
| %75 = OpLabel |
| %76 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1 |
| %77 = OpLoad %int %76 |
| OpStore %i_1 %77 |
| OpBranch %78 |
| %78 = OpLabel |
| OpLoopMerge %79 %80 None |
| OpBranch %81 |
| %81 = OpLabel |
| %82 = OpLoad %int %i_1 |
| %83 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0 |
| %84 = OpLoad %int %83 |
| %85 = OpSLessThan %bool %82 %84 |
| OpBranchConditional %85 %86 %79 |
| %86 = OpLabel |
| %87 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1 |
| %88 = OpLoad %int %87 |
| OpStore %i_2 %88 |
| OpBranch %89 |
| %89 = OpLabel |
| OpLoopMerge %90 %91 None |
| OpBranch %92 |
| %92 = OpLabel |
| %93 = OpLoad %int %i_2 |
| %94 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0 |
| %95 = OpLoad %int %94 |
| %96 = OpSLessThan %bool %93 %95 |
| OpBranchConditional %96 %97 %90 |
| %97 = OpLabel |
| %98 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1 |
| %99 = OpLoad %int %98 |
| OpStore %i_3 %99 |
| OpBranch %100 |
| %100 = OpLabel |
| OpLoopMerge %101 %102 None |
| OpBranch %103 |
| %103 = OpLabel |
| %104 = OpLoad %int %i_3 |
| %105 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0 |
| %106 = OpLoad %int %105 |
| %107 = OpSLessThan %bool %104 %106 |
| OpBranchConditional %107 %108 %101 |
| %108 = OpLabel |
| %109 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1 |
| %110 = OpLoad %int %109 |
| OpStore %i_4 %110 |
| OpBranch %111 |
| %111 = OpLabel |
| OpLoopMerge %112 %113 None |
| OpBranch %114 |
| %114 = OpLabel |
| %115 = OpLoad %int %i_4 |
| %116 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0 |
| %117 = OpLoad %int %116 |
| %118 = OpSLessThan %bool %115 %117 |
| OpBranchConditional %118 %119 %112 |
| %119 = OpLabel |
| %120 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1 |
| %121 = OpLoad %int %120 |
| OpStore %i_5 %121 |
| OpBranch %122 |
| %122 = OpLabel |
| OpLoopMerge %123 %124 None |
| OpBranch %125 |
| %125 = OpLabel |
| %126 = OpLoad %int %i_5 |
| %127 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0 |
| %128 = OpLoad %int %127 |
| %129 = OpSLessThan %bool %126 %128 |
| OpBranchConditional %129 %130 %123 |
| %130 = OpLabel |
| %131 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1 |
| %132 = OpLoad %int %131 |
| OpStore %i_6 %132 |
| OpBranch %133 |
| %133 = OpLabel |
| OpLoopMerge %134 %135 None |
| OpBranch %136 |
| %136 = OpLabel |
| %137 = OpLoad %int %i_6 |
| %138 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0 |
| %139 = OpLoad %int %138 |
| %140 = OpSLessThan %bool %137 %139 |
| OpBranchConditional %140 %141 %134 |
| %141 = OpLabel |
| %142 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1 |
| %143 = OpLoad %int %142 |
| OpStore %i_7 %143 |
| OpBranch %144 |
| %144 = OpLabel |
| OpLoopMerge %145 %146 None |
| OpBranch %147 |
| %147 = OpLabel |
| %148 = OpLoad %int %i_7 |
| %149 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0 |
| %150 = OpLoad %int %149 |
| %151 = OpSLessThan %bool %148 %150 |
| OpBranchConditional %151 %152 %145 |
| %152 = OpLabel |
| %153 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1 |
| %154 = OpLoad %int %153 |
| OpStore %i_8 %154 |
| OpBranch %155 |
| %155 = OpLabel |
| OpLoopMerge %156 %157 None |
| OpBranch %158 |
| %158 = OpLabel |
| %159 = OpLoad %int %i_8 |
| %160 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0 |
| %161 = OpLoad %int %160 |
| %162 = OpSLessThan %bool %159 %161 |
| OpBranchConditional %162 %163 %156 |
| %163 = OpLabel |
| %164 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1 |
| %165 = OpLoad %int %164 |
| OpStore %i_9 %165 |
| OpBranch %166 |
| %166 = OpLabel |
| OpLoopMerge %167 %168 None |
| OpBranch %169 |
| %169 = OpLabel |
| %170 = OpLoad %int %i_9 |
| %171 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0 |
| %172 = OpLoad %int %171 |
| %173 = OpSLessThan %bool %170 %172 |
| OpBranchConditional %173 %174 %167 |
| %174 = OpLabel |
| %175 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1 |
| %176 = OpLoad %int %175 |
| OpStore %i_10 %176 |
| OpBranch %177 |
| %177 = OpLabel |
| OpLoopMerge %178 %179 None |
| OpBranch %180 |
| %180 = OpLabel |
| %181 = OpLoad %int %i_10 |
| %182 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_2 |
| %183 = OpLoad %int %182 |
| %184 = OpSLessThan %bool %181 %183 |
| OpBranchConditional %184 %185 %178 |
| %185 = OpLabel |
| %186 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1 |
| %187 = OpLoad %int %186 |
| OpStore %i_11 %187 |
| OpBranch %188 |
| %188 = OpLabel |
| OpLoopMerge %189 %190 None |
| OpBranch %191 |
| %191 = OpLabel |
| %192 = OpLoad %int %i_11 |
| %193 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0 |
| %194 = OpLoad %int %193 |
| %195 = OpSLessThan %bool %192 %194 |
| OpBranchConditional %195 %196 %189 |
| %196 = OpLabel |
| %197 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1 |
| %198 = OpLoad %int %197 |
| OpStore %i_12 %198 |
| OpBranch %199 |
| %199 = OpLabel |
| OpLoopMerge %200 %201 None |
| OpBranch %202 |
| %202 = OpLabel |
| %203 = OpLoad %int %i_12 |
| %204 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0 |
| %205 = OpLoad %int %204 |
| %206 = OpSLessThan %bool %203 %205 |
| OpBranchConditional %206 %207 %200 |
| %207 = OpLabel |
| %208 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1 |
| %209 = OpLoad %int %208 |
| OpStore %i_13 %209 |
| OpBranch %210 |
| %210 = OpLabel |
| OpLoopMerge %211 %212 None |
| OpBranch %213 |
| %213 = OpLabel |
| %214 = OpLoad %int %i_13 |
| %215 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_2 |
| %216 = OpLoad %int %215 |
| %217 = OpSLessThan %bool %214 %216 |
| OpBranchConditional %217 %218 %211 |
| %218 = OpLabel |
| OpBranch %219 |
| %219 = OpLabel |
| OpLoopMerge %220 %221 None |
| OpBranch %222 |
| %222 = OpLabel |
| %223 = OpLoad %int %_GLF_global_loop_count |
| %224 = OpIAdd %int %223 %int_1 |
| OpStore %_GLF_global_loop_count %224 |
| OpBranch %221 |
| %221 = OpLabel |
| %225 = OpLoad %int %_GLF_global_loop_count |
| %226 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_3 |
| %227 = OpLoad %int %226 |
| %228 = OpISub %int %int_100 %227 |
| %229 = OpSLessThan %bool %225 %228 |
| OpBranchConditional %229 %219 %220 |
| %220 = OpLabel |
| %230 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0 |
| %231 = OpLoad %float %230 |
| %232 = OpLoad %float %f |
| %233 = OpFAdd %float %232 %231 |
| OpStore %f %233 |
| OpBranch %212 |
| %212 = OpLabel |
| %234 = OpLoad %int %i_13 |
| %235 = OpIAdd %int %234 %int_1 |
| OpStore %i_13 %235 |
| OpBranch %210 |
| %211 = OpLabel |
| OpBranch %201 |
| %201 = OpLabel |
| %236 = OpLoad %int %i_12 |
| %237 = OpIAdd %int %236 %int_1 |
| OpStore %i_12 %237 |
| OpBranch %199 |
| %200 = OpLabel |
| OpBranch %190 |
| %190 = OpLabel |
| %238 = OpLoad %int %i_11 |
| %239 = OpIAdd %int %238 %int_1 |
| OpStore %i_11 %239 |
| OpBranch %188 |
| %189 = OpLabel |
| OpBranch %179 |
| %179 = OpLabel |
| %240 = OpLoad %int %i_10 |
| %241 = OpIAdd %int %240 %int_1 |
| OpStore %i_10 %241 |
| OpBranch %177 |
| %178 = OpLabel |
| OpBranch %168 |
| %168 = OpLabel |
| %242 = OpLoad %int %i_9 |
| %243 = OpIAdd %int %242 %int_1 |
| OpStore %i_9 %243 |
| OpBranch %166 |
| %167 = OpLabel |
| OpBranch %157 |
| %157 = OpLabel |
| %244 = OpLoad %int %i_8 |
| %245 = OpIAdd %int %244 %int_1 |
| OpStore %i_8 %245 |
| OpBranch %155 |
| %156 = OpLabel |
| OpBranch %146 |
| %146 = OpLabel |
| %246 = OpLoad %int %i_7 |
| %247 = OpIAdd %int %246 %int_1 |
| OpStore %i_7 %247 |
| OpBranch %144 |
| %145 = OpLabel |
| OpBranch %135 |
| %135 = OpLabel |
| %248 = OpLoad %int %i_6 |
| %249 = OpIAdd %int %248 %int_1 |
| OpStore %i_6 %249 |
| OpBranch %133 |
| %134 = OpLabel |
| OpBranch %124 |
| %124 = OpLabel |
| %250 = OpLoad %int %i_5 |
| %251 = OpIAdd %int %250 %int_1 |
| OpStore %i_5 %251 |
| OpBranch %122 |
| %123 = OpLabel |
| OpBranch %113 |
| %113 = OpLabel |
| %252 = OpLoad %int %i_4 |
| %253 = OpIAdd %int %252 %int_1 |
| OpStore %i_4 %253 |
| OpBranch %111 |
| %112 = OpLabel |
| OpBranch %102 |
| %102 = OpLabel |
| %254 = OpLoad %int %i_3 |
| %255 = OpIAdd %int %254 %int_1 |
| OpStore %i_3 %255 |
| OpBranch %100 |
| %101 = OpLabel |
| OpBranch %91 |
| %91 = OpLabel |
| %256 = OpLoad %int %i_2 |
| %257 = OpIAdd %int %256 %int_1 |
| OpStore %i_2 %257 |
| OpBranch %89 |
| %90 = OpLabel |
| OpBranch %80 |
| %80 = OpLabel |
| %258 = OpLoad %int %i_1 |
| %259 = OpIAdd %int %258 %int_1 |
| OpStore %i_1 %259 |
| OpBranch %78 |
| %79 = OpLabel |
| OpBranch %69 |
| %69 = OpLabel |
| %260 = OpLoad %int %i_0 |
| %261 = OpIAdd %int %260 %int_1 |
| OpStore %i_0 %261 |
| OpBranch %67 |
| %68 = OpLabel |
| OpBranch %58 |
| %58 = OpLabel |
| %262 = OpLoad %int %i |
| %263 = OpIAdd %int %262 %int_1 |
| OpStore %i %263 |
| OpBranch %56 |
| %57 = OpLabel |
| %264 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_1 |
| %265 = OpLoad %float %264 |
| OpStore %sum %265 |
| %266 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1 |
| %267 = OpLoad %int %266 |
| OpStore %r %267 |
| OpBranch %268 |
| %268 = OpLabel |
| OpLoopMerge %269 %270 None |
| OpBranch %271 |
| %271 = OpLabel |
| %272 = OpLoad %int %_GLF_global_loop_count |
| %273 = OpSLessThan %bool %272 %int_100 |
| OpBranchConditional %273 %274 %269 |
| %274 = OpLabel |
| %275 = OpLoad %int %_GLF_global_loop_count |
| %276 = OpIAdd %int %275 %int_1 |
| OpStore %_GLF_global_loop_count %276 |
| %277 = OpLoad %float %f |
| %278 = OpLoad %float %sum |
| %279 = OpFAdd %float %278 %277 |
| OpStore %sum %279 |
| OpBranch %270 |
| %270 = OpLabel |
| %280 = OpLoad %int %r |
| %281 = OpIAdd %int %280 %int_1 |
| OpStore %r %281 |
| OpBranch %268 |
| %269 = OpLabel |
| %282 = OpLoad %float %sum |
| %283 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_2 |
| %284 = OpLoad %float %283 |
| %285 = OpFOrdEqual %bool %282 %284 |
| OpSelectionMerge %286 None |
| OpBranchConditional %285 %287 %288 |
| %287 = OpLabel |
| %289 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0 |
| %290 = OpLoad %int %289 |
| %291 = OpConvertSToF %float %290 |
| %292 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1 |
| %293 = OpLoad %int %292 |
| %294 = OpConvertSToF %float %293 |
| %295 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1 |
| %296 = OpLoad %int %295 |
| %297 = OpConvertSToF %float %296 |
| %298 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0 |
| %299 = OpLoad %int %298 |
| %300 = OpConvertSToF %float %299 |
| %301 = OpCompositeConstruct %v4float %291 %294 %297 %300 |
| OpStore %_GLF_color %301 |
| OpBranch %286 |
| %288 = OpLabel |
| %302 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1 |
| %303 = OpLoad %int %302 |
| %304 = OpConvertSToF %float %303 |
| %305 = OpCompositeConstruct %v4float %304 %304 %304 %304 |
| OpStore %_GLF_color %305 |
| OpBranch %286 |
| %286 = OpLabel |
| OpReturn |
| OpFunctionEnd |