OpCapability Shader %1 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 OpEntryPoint Fragment %main "main" %_GLF_color OpExecutionMode %main OriginUpperLeft OpSource ESSL 310 OpName %main "main" OpName %f "f" OpName %buf0 "buf0" OpMemberName %buf0 0 "one" OpName %_ "" OpName %a "a" OpName %b "b" OpName %c "c" OpName %i "i" OpName %v "v" OpName %_GLF_color "_GLF_color" OpMemberDecorate %buf0 0 Offset 0 OpDecorate %buf0 Block OpDecorate %_ DescriptorSet 0 OpDecorate %_ Binding 0 OpDecorate %_GLF_color Location 0 %void = OpTypeVoid %13 = OpTypeFunction %void %float = OpTypeFloat 32 %_ptr_Function_float = OpTypePointer Function %float %buf0 = OpTypeStruct %float %_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0 %_ = OpVariable %_ptr_Uniform_buf0 Uniform %int = OpTypeInt 32 1 %int_0 = OpConstant %int 0 %_ptr_Uniform_float = OpTypePointer Uniform %float %_ptr_Function_int = OpTypePointer Function %int %int_1 = OpConstant %int 1 %int_3 = OpConstant %int 3 %bool = OpTypeBool %v3float = OpTypeVector %float 3 %_ptr_Function_v3float = OpTypePointer Function %v3float %float_1 = OpConstant %float 1 %v4float = OpTypeVector %float 4 %_ptr_Output_v4float = OpTypePointer Output %v4float %_GLF_color = OpVariable %_ptr_Output_v4float Output %float_0 = OpConstant %float 0 %30 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0 %31 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1 %uint = OpTypeInt 32 0 %uint_0 = OpConstant %uint 0 %uint_1 = OpConstant %uint 1 %float_2 = OpConstant %float 2 %uint_2 = OpConstant %uint 2 %float_3 = OpConstant %float 3 %uint_3 = OpConstant %uint 3 %_ptr_Output_float = OpTypePointer Output %float %main = OpFunction %void None %13 %40 = OpLabel %f = OpVariable %_ptr_Function_float Function %a = OpVariable %_ptr_Function_int Function %b = OpVariable %_ptr_Function_int Function %c = OpVariable %_ptr_Function_int Function %i = OpVariable %_ptr_Function_int Function %v = OpVariable %_ptr_Function_v3float Function %41 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %42 = OpLoad %float %41 OpStore %f %42 OpStore %a %int_1 OpStore %b %int_0 OpStore %c %int_1 OpStore %i %int_0 OpBranch %43 %43 = OpLabel OpLoopMerge %44 %45 None OpBranch %46 %46 = OpLabel %47 = OpLoad %int %i %48 = OpSLessThan %bool %47 %int_3 OpBranchConditional %48 %49 %44 %49 = OpLabel %50 = OpLoad %int %i %51 = OpLoad %float %f %52 = OpLoad %int %i %53 = OpConvertSToF %float %52 %54 = OpFAdd %float %51 %53 %55 = OpAccessChain %_ptr_Function_float %v %50 OpStore %55 %54 OpBranch %45 %45 = OpLabel %56 = OpLoad %int %i %57 = OpIAdd %int %56 %int_1 OpStore %i %57 OpBranch %43 %44 = OpLabel %58 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %59 = OpLoad %float %58 %60 = OpFOrdEqual %bool %59 %float_1 OpSelectionMerge %61 None OpBranchConditional %60 %62 %61 %62 = OpLabel OpBranch %63 %63 = OpLabel OpLoopMerge %64 %65 None OpBranch %66 %66 = OpLabel OpStore %_GLF_color %30 OpBranch %65 %65 = OpLabel %67 = OpLoad %int %c %68 = OpLoad %int %a %69 = OpLoad %int %b %70 = OpBitwiseOr %int %68 %69 %71 = OpBitwiseAnd %int %67 %70 %72 = OpIEqual %bool %71 %int_0 OpBranchConditional %72 %63 %64 %64 = OpLabel %73 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %74 = OpLoad %float %73 %75 = OpFOrdEqual %bool %74 %float_1 OpSelectionMerge %76 None OpBranchConditional %75 %77 %76 %77 = OpLabel OpStore %_GLF_color %31 OpBranch %76 %76 = OpLabel OpBranch %61 %61 = OpLabel %78 = OpAccessChain %_ptr_Function_float %v %uint_0 %79 = OpLoad %float %78 %80 = OpFOrdEqual %bool %79 %float_1 %81 = OpSelect %float %80 %float_1 %float_0 %82 = OpAccessChain %_ptr_Function_float %v %uint_1 %83 = OpLoad %float %82 %84 = OpFOrdEqual %bool %83 %float_2 %85 = OpSelect %float %84 %float_0 %float_1 %86 = OpAccessChain %_ptr_Function_float %v %uint_2 %87 = OpLoad %float %86 %88 = OpFOrdEqual %bool %87 %float_3 %89 = OpSelect %float %88 %float_0 %float_1 %90 = OpCompositeConstruct %v3float %81 %85 %89 %91 = OpLoad %v4float %_GLF_color %92 = OpVectorShuffle %v4float %91 %90 4 5 6 3 OpStore %_GLF_color %92 %93 = OpAccessChain %_ptr_Output_float %_GLF_color %uint_3 OpStore %93 %float_1 OpReturn OpFunctionEnd