; SPIR-V ; Version: 1.3 ; Generator: Google Tint Compiler; 0 ; Bound: 401 ; Schema: 0 OpCapability Shader %367 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 OpEntryPoint Vertex %main "main" %x_GLF_pos_param_1 %frag_color_1_1 %gl_Position_1 %vertex_point_size OpName %x_GLF_pos_param_1 "x_GLF_pos_param_1" OpName %frag_color_1_1 "frag_color_1_1" OpName %gl_Position_1 "gl_Position_1" OpName %vertex_point_size "vertex_point_size" OpName %QuicksortObject "QuicksortObject" OpMemberName %QuicksortObject 0 "numbers" OpName %obj "obj" OpName %x_GLF_FragCoord "x_GLF_FragCoord" OpName %x_GLF_pos "x_GLF_pos" OpName %buf0 "buf0" OpMemberName %buf0 0 "injectionSwitch" OpName %x_33 "x_33" OpName %buf1 "buf1" OpMemberName %buf1 0 "resolution" OpName %x_36 "x_36" OpName %frag_color "frag_color" OpName %gl_Position "gl_Position" OpName %swap_i1_i1_ "swap_i1_i1_" OpName %i "i" OpName %j "j" OpName %temp "temp" OpName %performPartition_i1_i1_ "performPartition_i1_i1_" OpName %l "l" OpName %h "h" OpName %pivot "pivot" OpName %i_1 "i_1" OpName %j_1 "j_1" OpName %param "param" OpName %param_1 "param_1" OpName %param_2 "param_2" OpName %param_3 "param_3" OpName %quicksort_ "quicksort_" OpName %l_1 "l_1" OpName %h_1 "h_1" OpName %top "top" OpName %stack "stack" OpName %p "p" OpName %param_4 "param_4" OpName %param_5 "param_5" OpName %main_1 "main_1" OpName %i_2 "i_2" OpName %uv "uv" OpName %color "color" OpName %main_out "main_out" OpMemberName %main_out 0 "frag_color_1" OpMemberName %main_out 1 "gl_Position" OpName %main_inner "main_inner" OpName %x_GLF_pos_param "x_GLF_pos_param" OpName %main "main" OpDecorate %x_GLF_pos_param_1 Location 0 OpDecorate %frag_color_1_1 Location 0 OpDecorate %gl_Position_1 BuiltIn Position OpDecorate %vertex_point_size BuiltIn PointSize OpMemberDecorate %QuicksortObject 0 Offset 0 OpDecorate %_arr_int_uint_10 ArrayStride 4 OpDecorate %buf0 Block OpMemberDecorate %buf0 0 Offset 0 OpDecorate %x_33 NonWritable OpDecorate %x_33 DescriptorSet 0 OpDecorate %x_33 Binding 0 OpDecorate %buf1 Block OpMemberDecorate %buf1 0 Offset 0 OpDecorate %x_36 NonWritable OpDecorate %x_36 DescriptorSet 0 OpDecorate %x_36 Binding 1 OpMemberDecorate %main_out 0 Offset 0 OpMemberDecorate %main_out 1 Offset 16 %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 %_ptr_Input_v4float = OpTypePointer Input %v4float %x_GLF_pos_param_1 = OpVariable %_ptr_Input_v4float Input %_ptr_Output_v4float = OpTypePointer Output %v4float %7 = OpConstantNull %v4float %frag_color_1_1 = OpVariable %_ptr_Output_v4float Output %7 %gl_Position_1 = OpVariable %_ptr_Output_v4float Output %7 %_ptr_Output_float = OpTypePointer Output %float %11 = OpConstantNull %float %vertex_point_size = OpVariable %_ptr_Output_float Output %11 %int = OpTypeInt 32 1 %uint = OpTypeInt 32 0 %uint_10 = OpConstant %uint 10 %_arr_int_uint_10 = OpTypeArray %int %uint_10 %QuicksortObject = OpTypeStruct %_arr_int_uint_10 %_ptr_Private_QuicksortObject = OpTypePointer Private %QuicksortObject %19 = OpConstantNull %QuicksortObject %obj = OpVariable %_ptr_Private_QuicksortObject Private %19 %_ptr_Private_v4float = OpTypePointer Private %v4float %x_GLF_FragCoord = OpVariable %_ptr_Private_v4float Private %7 %x_GLF_pos = OpVariable %_ptr_Private_v4float Private %7 %v2float = OpTypeVector %float 2 %buf0 = OpTypeStruct %v2float %_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0 %x_33 = OpVariable %_ptr_Uniform_buf0 Uniform %buf1 = OpTypeStruct %v2float %_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1 %x_36 = OpVariable %_ptr_Uniform_buf1 Uniform %frag_color = OpVariable %_ptr_Private_v4float Private %7 %gl_Position = OpVariable %_ptr_Private_v4float Private %7 %void = OpTypeVoid %_ptr_Function_int = OpTypePointer Function %int %32 = OpTypeFunction %void %_ptr_Function_int %_ptr_Function_int %40 = OpConstantNull %int %uint_0 = OpConstant %uint 0 %_ptr_Private_int = OpTypePointer Private %int %58 = OpTypeFunction %int %_ptr_Function_int %_ptr_Function_int %int_1 = OpConstant %int 1 %bool = OpTypeBool %118 = OpTypeFunction %void %_ptr_Function__arr_int_uint_10 = OpTypePointer Function %_arr_int_uint_10 %126 = OpConstantNull %_arr_int_uint_10 %int_0 = OpConstant %int 0 %int_9 = OpConstant %int 9 %int_n1 = OpConstant %int -1 %_ptr_Function_v2float = OpTypePointer Function %v2float %198 = OpConstantNull %v2float %v3float = OpTypeVector %float 3 %_ptr_Function_v3float = OpTypePointer Function %v3float %202 = OpConstantNull %v3float %float_1 = OpConstant %float 1 %float_0 = OpConstant %float 0 %206 = OpConstantComposite %v4float %float_1 %float_1 %float_0 %float_0 %float_128 = OpConstant %float 128 %209 = OpConstantComposite %v4float %float_128 %float_128 %float_1 %float_1 %int_10 = OpConstant %int 10 %_ptr_Uniform_float = OpTypePointer Uniform %float %uint_1 = OpConstant %uint 1 %_ptr_Uniform_v2float = OpTypePointer Uniform %v2float %float_2 = OpConstant %float 2 %float_3 = OpConstant %float 3 %256 = OpConstantComposite %v3float %float_1 %float_2 %float_3 %_ptr_Function_float = OpTypePointer Function %float %float_0_25 = OpConstant %float 0.25 %float_0_5 = OpConstant %float 0.5 %int_2 = OpConstant %int 2 %float_0_75 = OpConstant %float 0.75 %int_3 = OpConstant %int 3 %uint_2 = OpConstant %uint 2 %int_4 = OpConstant %int 4 %int_5 = OpConstant %int 5 %int_6 = OpConstant %int 6 %int_7 = OpConstant %int 7 %int_8 = OpConstant %int 8 %main_out = OpTypeStruct %v4float %v4float %386 = OpTypeFunction %main_out %v4float %swap_i1_i1_ = OpFunction %void None %32 %i = OpFunctionParameter %_ptr_Function_int %j = OpFunctionParameter %_ptr_Function_int %38 = OpLabel %temp = OpVariable %_ptr_Function_int Function %40 %42 = OpLoad %int %i %45 = OpAccessChain %_ptr_Private_int %obj %uint_0 %42 %46 = OpLoad %int %45 OpStore %temp %46 %48 = OpLoad %int %i %50 = OpLoad %int %j %51 = OpAccessChain %_ptr_Private_int %obj %uint_0 %50 %52 = OpLoad %int %51 %53 = OpAccessChain %_ptr_Private_int %obj %uint_0 %48 OpStore %53 %52 %55 = OpLoad %int %j %56 = OpLoad %int %temp %57 = OpAccessChain %_ptr_Private_int %obj %uint_0 %55 OpStore %57 %56 OpReturn OpFunctionEnd %performPartition_i1_i1_ = OpFunction %int None %58 %l = OpFunctionParameter %_ptr_Function_int %h = OpFunctionParameter %_ptr_Function_int %62 = OpLabel %pivot = OpVariable %_ptr_Function_int Function %40 %i_1 = OpVariable %_ptr_Function_int Function %40 %j_1 = OpVariable %_ptr_Function_int Function %40 %param = OpVariable %_ptr_Function_int Function %40 %param_1 = OpVariable %_ptr_Function_int Function %40 %param_2 = OpVariable %_ptr_Function_int Function %40 %param_3 = OpVariable %_ptr_Function_int Function %40 %71 = OpLoad %int %h %72 = OpAccessChain %_ptr_Private_int %obj %uint_0 %71 %73 = OpLoad %int %72 OpStore %pivot %73 %75 = OpLoad %int %l %77 = OpISub %int %75 %int_1 OpStore %i_1 %77 %79 = OpLoad %int %l OpStore %j_1 %79 OpBranch %80 %80 = OpLabel OpLoopMerge %81 %82 None OpBranch %83 %83 = OpLabel %84 = OpLoad %int %j_1 %86 = OpLoad %int %h %87 = OpISub %int %86 %int_1 %88 = OpSLessThanEqual %bool %84 %87 OpSelectionMerge %90 None OpBranchConditional %88 %91 %92 %91 = OpLabel OpBranch %90 %92 = OpLabel OpBranch %81 %90 = OpLabel %93 = OpLoad %int %j_1 %94 = OpAccessChain %_ptr_Private_int %obj %uint_0 %93 %95 = OpLoad %int %94 %96 = OpLoad %int %pivot %97 = OpSLessThanEqual %bool %95 %96 OpSelectionMerge %98 None OpBranchConditional %97 %99 %98 %99 = OpLabel %100 = OpLoad %int %i_1 %101 = OpIAdd %int %100 %int_1 OpStore %i_1 %101 %102 = OpLoad %int %i_1 OpStore %param %102 %103 = OpLoad %int %j_1 OpStore %param_1 %103 %104 = OpFunctionCall %void %swap_i1_i1_ %param %param_1 OpBranch %98 %98 = OpLabel OpBranch %82 %82 = OpLabel %107 = OpLoad %int %j_1 %108 = OpIAdd %int %107 %int_1 OpStore %j_1 %108 OpBranch %80 %81 = OpLabel %109 = OpLoad %int %i_1 %110 = OpIAdd %int %109 %int_1 OpStore %param_2 %110 %112 = OpLoad %int %h OpStore %param_3 %112 %113 = OpFunctionCall %void %swap_i1_i1_ %param_2 %param_3 %116 = OpLoad %int %i_1 %117 = OpIAdd %int %116 %int_1 OpReturnValue %117 OpFunctionEnd %quicksort_ = OpFunction %void None %118 %120 = OpLabel %l_1 = OpVariable %_ptr_Function_int Function %40 %h_1 = OpVariable %_ptr_Function_int Function %40 %top = OpVariable %_ptr_Function_int Function %40 %stack = OpVariable %_ptr_Function__arr_int_uint_10 Function %126 %p = OpVariable %_ptr_Function_int Function %40 %param_4 = OpVariable %_ptr_Function_int Function %40 %param_5 = OpVariable %_ptr_Function_int Function %40 OpStore %l_1 %int_0 OpStore %h_1 %int_9 OpStore %top %int_n1 %133 = OpLoad %int %top %134 = OpIAdd %int %133 %int_1 OpStore %top %134 %135 = OpLoad %int %l_1 %136 = OpAccessChain %_ptr_Function_int %stack %134 OpStore %136 %135 %137 = OpLoad %int %top %138 = OpIAdd %int %137 %int_1 OpStore %top %138 %139 = OpLoad %int %h_1 %140 = OpAccessChain %_ptr_Function_int %stack %138 OpStore %140 %139 OpBranch %141 %141 = OpLabel OpLoopMerge %142 %143 None OpBranch %144 %144 = OpLabel %145 = OpLoad %int %top %146 = OpSGreaterThanEqual %bool %145 %int_0 OpSelectionMerge %147 None OpBranchConditional %146 %148 %149 %148 = OpLabel OpBranch %147 %149 = OpLabel OpBranch %142 %147 = OpLabel %150 = OpLoad %int %top %151 = OpISub %int %150 %int_1 OpStore %top %151 %152 = OpAccessChain %_ptr_Function_int %stack %150 %153 = OpLoad %int %152 OpStore %h_1 %153 %154 = OpLoad %int %top %155 = OpISub %int %154 %int_1 OpStore %top %155 %156 = OpAccessChain %_ptr_Function_int %stack %154 %157 = OpLoad %int %156 OpStore %l_1 %157 %158 = OpLoad %int %l_1 OpStore %param_4 %158 %159 = OpLoad %int %h_1 OpStore %param_5 %159 %160 = OpFunctionCall %int %performPartition_i1_i1_ %param_4 %param_5 OpStore %p %160 %163 = OpLoad %int %p %164 = OpLoad %int %l_1 %165 = OpISub %int %163 %int_1 %166 = OpSGreaterThan %bool %165 %164 OpSelectionMerge %167 None OpBranchConditional %166 %168 %167 %168 = OpLabel %169 = OpLoad %int %top %170 = OpIAdd %int %169 %int_1 OpStore %top %170 %171 = OpLoad %int %l_1 %172 = OpAccessChain %_ptr_Function_int %stack %170 OpStore %172 %171 %173 = OpLoad %int %top %174 = OpIAdd %int %173 %int_1 OpStore %top %174 %175 = OpLoad %int %p %176 = OpAccessChain %_ptr_Function_int %stack %174 %177 = OpISub %int %175 %int_1 OpStore %176 %177 OpBranch %167 %167 = OpLabel %178 = OpLoad %int %p %179 = OpLoad %int %h_1 %180 = OpIAdd %int %178 %int_1 %181 = OpSLessThan %bool %180 %179 OpSelectionMerge %182 None OpBranchConditional %181 %183 %182 %183 = OpLabel %184 = OpLoad %int %top %185 = OpIAdd %int %184 %int_1 OpStore %top %185 %186 = OpLoad %int %p %187 = OpAccessChain %_ptr_Function_int %stack %185 %188 = OpIAdd %int %186 %int_1 OpStore %187 %188 %189 = OpLoad %int %top %190 = OpIAdd %int %189 %int_1 OpStore %top %190 %191 = OpLoad %int %h_1 %192 = OpAccessChain %_ptr_Function_int %stack %190 OpStore %192 %191 OpBranch %182 %182 = OpLabel OpBranch %143 %143 = OpLabel OpBranch %141 %142 = OpLabel OpReturn OpFunctionEnd %main_1 = OpFunction %void None %118 %194 = OpLabel %i_2 = OpVariable %_ptr_Function_int Function %40 %uv = OpVariable %_ptr_Function_v2float Function %198 %color = OpVariable %_ptr_Function_v3float Function %202 %203 = OpLoad %v4float %x_GLF_pos %207 = OpFAdd %v4float %203 %206 %210 = OpFMul %v4float %207 %209 OpStore %x_GLF_FragCoord %210 OpStore %i_2 %int_0 OpBranch %211 %211 = OpLabel OpLoopMerge %212 %213 None OpBranch %214 %214 = OpLabel %215 = OpLoad %int %i_2 %217 = OpSLessThan %bool %215 %int_10 OpSelectionMerge %218 None OpBranchConditional %217 %219 %220 %219 = OpLabel OpBranch %218 %220 = OpLabel OpBranch %212 %218 = OpLabel %221 = OpLoad %int %i_2 %222 = OpLoad %int %i_2 %223 = OpAccessChain %_ptr_Private_int %obj %uint_0 %221 %224 = OpISub %int %int_10 %222 OpStore %223 %224 %226 = OpAccessChain %_ptr_Uniform_float %x_33 %uint_0 %uint_0 %227 = OpLoad %float %226 %229 = OpAccessChain %_ptr_Uniform_float %x_33 %uint_0 %uint_1 %230 = OpLoad %float %229 %231 = OpFOrdGreaterThan %bool %227 %230 OpSelectionMerge %232 None OpBranchConditional %231 %233 %232 %233 = OpLabel OpBranch %212 %232 = OpLabel %234 = OpLoad %int %i_2 %235 = OpLoad %int %i_2 %236 = OpAccessChain %_ptr_Private_int %obj %uint_0 %235 %237 = OpLoad %int %236 %238 = OpLoad %int %i_2 %239 = OpAccessChain %_ptr_Private_int %obj %uint_0 %238 %240 = OpLoad %int %239 %241 = OpAccessChain %_ptr_Private_int %obj %uint_0 %234 %242 = OpIMul %int %237 %240 OpStore %241 %242 OpBranch %213 %213 = OpLabel %243 = OpLoad %int %i_2 %244 = OpIAdd %int %243 %int_1 OpStore %i_2 %244 OpBranch %211 %212 = OpLabel %245 = OpFunctionCall %void %quicksort_ %246 = OpLoad %v4float %x_GLF_FragCoord %248 = OpAccessChain %_ptr_Uniform_v2float %x_36 %uint_0 %249 = OpLoad %v2float %248 %250 = OpCompositeExtract %float %246 0 %251 = OpCompositeExtract %float %246 1 %252 = OpCompositeConstruct %v2float %250 %251 %253 = OpFDiv %v2float %252 %249 OpStore %uv %253 OpStore %color %256 %257 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_0 %258 = OpLoad %int %257 %260 = OpAccessChain %_ptr_Function_float %color %uint_0 %261 = OpLoad %float %260 %262 = OpAccessChain %_ptr_Function_float %color %uint_0 %263 = OpConvertSToF %float %258 %264 = OpFAdd %float %261 %263 OpStore %262 %264 %265 = OpAccessChain %_ptr_Function_float %uv %uint_0 %266 = OpLoad %float %265 %268 = OpFOrdGreaterThan %bool %266 %float_0_25 OpSelectionMerge %269 None OpBranchConditional %268 %270 %269 %270 = OpLabel %271 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_1 %272 = OpLoad %int %271 %273 = OpAccessChain %_ptr_Function_float %color %uint_0 %274 = OpLoad %float %273 %275 = OpAccessChain %_ptr_Function_float %color %uint_0 %276 = OpConvertSToF %float %272 %277 = OpFAdd %float %274 %276 OpStore %275 %277 OpBranch %269 %269 = OpLabel %278 = OpAccessChain %_ptr_Function_float %uv %uint_0 %279 = OpLoad %float %278 %281 = OpFOrdGreaterThan %bool %279 %float_0_5 OpSelectionMerge %282 None OpBranchConditional %281 %283 %282 %283 = OpLabel %285 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_2 %286 = OpLoad %int %285 %287 = OpAccessChain %_ptr_Function_float %color %uint_1 %288 = OpLoad %float %287 %289 = OpAccessChain %_ptr_Function_float %color %uint_1 %290 = OpConvertSToF %float %286 %291 = OpFAdd %float %288 %290 OpStore %289 %291 OpBranch %282 %282 = OpLabel %292 = OpAccessChain %_ptr_Function_float %uv %uint_0 %293 = OpLoad %float %292 %295 = OpFOrdGreaterThan %bool %293 %float_0_75 OpSelectionMerge %296 None OpBranchConditional %295 %297 %296 %297 = OpLabel %299 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_3 %300 = OpLoad %int %299 %302 = OpAccessChain %_ptr_Function_float %color %uint_2 %303 = OpLoad %float %302 %304 = OpAccessChain %_ptr_Function_float %color %uint_2 %305 = OpConvertSToF %float %300 %306 = OpFAdd %float %303 %305 OpStore %304 %306 OpBranch %296 %296 = OpLabel %308 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_4 %309 = OpLoad %int %308 %310 = OpAccessChain %_ptr_Function_float %color %uint_1 %311 = OpLoad %float %310 %312 = OpAccessChain %_ptr_Function_float %color %uint_1 %313 = OpConvertSToF %float %309 %314 = OpFAdd %float %311 %313 OpStore %312 %314 %315 = OpAccessChain %_ptr_Function_float %uv %uint_1 %316 = OpLoad %float %315 %317 = OpFOrdGreaterThan %bool %316 %float_0_25 OpSelectionMerge %318 None OpBranchConditional %317 %319 %318 %319 = OpLabel %321 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_5 %322 = OpLoad %int %321 %323 = OpAccessChain %_ptr_Function_float %color %uint_0 %324 = OpLoad %float %323 %325 = OpAccessChain %_ptr_Function_float %color %uint_0 %326 = OpConvertSToF %float %322 %327 = OpFAdd %float %324 %326 OpStore %325 %327 OpBranch %318 %318 = OpLabel %328 = OpAccessChain %_ptr_Function_float %uv %uint_1 %329 = OpLoad %float %328 %330 = OpFOrdGreaterThan %bool %329 %float_0_5 OpSelectionMerge %331 None OpBranchConditional %330 %332 %331 %332 = OpLabel %334 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_6 %335 = OpLoad %int %334 %336 = OpAccessChain %_ptr_Function_float %color %uint_1 %337 = OpLoad %float %336 %338 = OpAccessChain %_ptr_Function_float %color %uint_1 %339 = OpConvertSToF %float %335 %340 = OpFAdd %float %337 %339 OpStore %338 %340 OpBranch %331 %331 = OpLabel %341 = OpAccessChain %_ptr_Function_float %uv %uint_1 %342 = OpLoad %float %341 %343 = OpFOrdGreaterThan %bool %342 %float_0_75 OpSelectionMerge %344 None OpBranchConditional %343 %345 %344 %345 = OpLabel %347 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_7 %348 = OpLoad %int %347 %349 = OpAccessChain %_ptr_Function_float %color %uint_2 %350 = OpLoad %float %349 %351 = OpAccessChain %_ptr_Function_float %color %uint_2 %352 = OpConvertSToF %float %348 %353 = OpFAdd %float %350 %352 OpStore %351 %353 OpBranch %344 %344 = OpLabel %355 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_8 %356 = OpLoad %int %355 %357 = OpAccessChain %_ptr_Function_float %color %uint_2 %358 = OpLoad %float %357 %359 = OpAccessChain %_ptr_Function_float %color %uint_2 %360 = OpConvertSToF %float %356 %361 = OpFAdd %float %358 %360 OpStore %359 %361 %362 = OpAccessChain %_ptr_Function_float %uv %uint_0 %363 = OpLoad %float %362 %364 = OpAccessChain %_ptr_Function_float %uv %uint_1 %365 = OpLoad %float %364 %368 = OpFSub %float %363 %365 %366 = OpExtInst %float %367 FAbs %368 %369 = OpFOrdLessThan %bool %366 %float_0_25 OpSelectionMerge %370 None OpBranchConditional %369 %371 %370 %371 = OpLabel %372 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_9 %373 = OpLoad %int %372 %374 = OpAccessChain %_ptr_Function_float %color %uint_0 %375 = OpLoad %float %374 %376 = OpAccessChain %_ptr_Function_float %color %uint_0 %377 = OpConvertSToF %float %373 %378 = OpFAdd %float %375 %377 OpStore %376 %378 OpBranch %370 %370 = OpLabel %379 = OpLoad %v3float %color %380 = OpExtInst %v3float %367 Normalize %379 %381 = OpCompositeExtract %float %380 0 %382 = OpCompositeExtract %float %380 1 %383 = OpCompositeExtract %float %380 2 %384 = OpCompositeConstruct %v4float %381 %382 %383 %float_1 OpStore %frag_color %384 %385 = OpLoad %v4float %x_GLF_pos OpStore %gl_Position %385 OpReturn OpFunctionEnd %main_inner = OpFunction %main_out None %386 %x_GLF_pos_param = OpFunctionParameter %v4float %390 = OpLabel OpStore %x_GLF_pos %x_GLF_pos_param %391 = OpFunctionCall %void %main_1 %392 = OpLoad %v4float %frag_color %393 = OpLoad %v4float %gl_Position %394 = OpCompositeConstruct %main_out %392 %393 OpReturnValue %394 OpFunctionEnd %main = OpFunction %void None %118 %396 = OpLabel %398 = OpLoad %v4float %x_GLF_pos_param_1 %397 = OpFunctionCall %main_out %main_inner %398 %399 = OpCompositeExtract %v4float %397 0 OpStore %frag_color_1_1 %399 %400 = OpCompositeExtract %v4float %397 1 OpStore %gl_Position_1 %400 OpStore %vertex_point_size %float_1 OpReturn OpFunctionEnd