OpCapability Shader %1 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 OpEntryPoint Fragment %main "main" %gl_FragCoord %_GLF_color OpExecutionMode %main OriginUpperLeft OpSource ESSL 320 OpName %main "main" OpName %gl_FragCoord "gl_FragCoord" OpName %buf1 "buf1" OpMemberName %buf1 0 "resolution" OpName %_ "" OpName %data "data" OpName %buf0 "buf0" OpMemberName %buf0 0 "injectionSwitch" OpName %__0 "" OpName %_GLF_color "_GLF_color" OpDecorate %gl_FragCoord BuiltIn FragCoord OpMemberDecorate %buf1 0 Offset 0 OpDecorate %buf1 Block OpDecorate %_ DescriptorSet 0 OpDecorate %_ Binding 1 OpMemberDecorate %buf0 0 Offset 0 OpDecorate %buf0 Block OpDecorate %__0 DescriptorSet 0 OpDecorate %__0 Binding 0 OpDecorate %_GLF_color Location 0 %void = OpTypeVoid %11 = OpTypeFunction %void %float = OpTypeFloat 32 %_ptr_Function_float = OpTypePointer Function %float %bool = OpTypeBool %v4float = OpTypeVector %float 4 %_ptr_Input_v4float = OpTypePointer Input %v4float %gl_FragCoord = OpVariable %_ptr_Input_v4float Input %uint = OpTypeInt 32 0 %uint_1 = OpConstant %uint 1 %_ptr_Input_float = OpTypePointer Input %float %v2float = OpTypeVector %float 2 %buf1 = OpTypeStruct %v2float %_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1 %_ = OpVariable %_ptr_Uniform_buf1 Uniform %int = OpTypeInt 32 1 %int_0 = OpConstant %int 0 %_ptr_Uniform_float = OpTypePointer Uniform %float %int_10 = OpConstant %int 10 %uint_10 = OpConstant %uint 10 %_arr_float_uint_10 = OpTypeArray %float %uint_10 %_ptr_Function__arr_float_uint_10 = OpTypePointer Function %_arr_float_uint_10 %buf0 = OpTypeStruct %v2float %_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0 %__0 = OpVariable %_ptr_Uniform_buf0 Uniform %int_1 = OpConstant %int 1 %int_9 = OpConstant %int 9 %uint_0 = OpConstant %uint 0 %_ptr_Output_v4float = OpTypePointer Output %v4float %_GLF_color = OpVariable %_ptr_Output_v4float Output %int_5 = OpConstant %int 5 %float_1 = OpConstant %float 1 %float_0_5 = OpConstant %float 0.5 %float_0_100000001 = OpConstant %float 0.100000001 %true = OpConstantTrue %bool %main = OpFunction %void None %11 %39 = OpLabel %data = OpVariable %_ptr_Function__arr_float_uint_10 Function OpBranch %40 %40 = OpLabel %41 = OpPhi %int %int_0 %39 %42 %43 %44 = OpSLessThan %bool %41 %int_10 OpLoopMerge %45 %43 None OpBranchConditional %44 %43 %45 %43 = OpLabel %46 = OpISub %int %int_10 %41 %47 = OpConvertSToF %float %46 %48 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %uint_1 %49 = OpLoad %float %48 %50 = OpFMul %float %47 %49 %51 = OpAccessChain %_ptr_Function_float %data %41 OpStore %51 %50 %42 = OpIAdd %int %41 %int_1 OpBranch %40 %45 = OpLabel OpBranch %52 %52 = OpLabel %53 = OpPhi %int %int_0 %45 %54 %55 %56 = OpSLessThan %bool %53 %int_9 OpLoopMerge %57 %55 None OpBranchConditional %56 %58 %57 %58 = OpLabel OpBranch %59 %59 = OpLabel %60 = OpPhi %int %int_0 %58 %61 %62 %63 = OpSLessThan %bool %60 %int_10 OpLoopMerge %64 %62 None OpBranchConditional %63 %65 %64 %65 = OpLabel %66 = OpIAdd %int %53 %int_1 %67 = OpSLessThan %bool %60 %66 OpSelectionMerge %68 None OpBranchConditional %67 %69 %68 %69 = OpLabel OpBranch %62 %68 = OpLabel %70 = OpAccessChain %_ptr_Function_float %data %53 %71 = OpLoad %float %70 %72 = OpAccessChain %_ptr_Function_float %data %60 %73 = OpLoad %float %72 %74 = OpAccessChain %_ptr_Input_float %gl_FragCoord %uint_1 %75 = OpLoad %float %74 %76 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %uint_1 %77 = OpLoad %float %76 %78 = OpFMul %float %77 %float_0_5 %79 = OpFOrdLessThan %bool %75 %78 OpSelectionMerge %80 None OpBranchConditional %79 %81 %82 %81 = OpLabel %83 = OpFOrdGreaterThan %bool %71 %73 OpBranch %80 %82 = OpLabel %84 = OpFOrdLessThan %bool %71 %73 OpBranch %80 %80 = OpLabel %85 = OpPhi %bool %83 %81 %84 %82 OpSelectionMerge %86 None OpBranchConditional %85 %87 %86 %87 = OpLabel %88 = OpLoad %float %70 %89 = OpLoad %float %72 OpStore %70 %89 OpStore %72 %88 OpBranch %86 %86 = OpLabel OpBranch %62 %62 = OpLabel %61 = OpIAdd %int %60 %int_1 OpBranch %59 %64 = OpLabel OpBranch %55 %55 = OpLabel %54 = OpIAdd %int %53 %int_1 OpBranch %52 %57 = OpLabel %90 = OpAccessChain %_ptr_Input_float %gl_FragCoord %uint_0 %91 = OpLoad %float %90 %92 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %uint_0 %93 = OpLoad %float %92 %94 = OpFMul %float %93 %float_0_5 %95 = OpFOrdLessThan %bool %91 %94 OpSelectionMerge %96 None OpBranchConditional %95 %97 %98 %97 = OpLabel %99 = OpAccessChain %_ptr_Function_float %data %int_0 %100 = OpLoad %float %99 %101 = OpFMul %float %100 %float_0_100000001 %102 = OpAccessChain %_ptr_Function_float %data %int_5 %103 = OpLoad %float %102 %104 = OpFMul %float %103 %float_0_100000001 %105 = OpAccessChain %_ptr_Function_float %data %int_9 %106 = OpLoad %float %105 %107 = OpFMul %float %106 %float_0_100000001 %108 = OpCompositeConstruct %v4float %101 %104 %107 %float_1 OpStore %_GLF_color %108 OpBranch %96 %98 = OpLabel %109 = OpAccessChain %_ptr_Function_float %data %int_5 %110 = OpLoad %float %109 %111 = OpFMul %float %110 %float_0_100000001 %112 = OpAccessChain %_ptr_Function_float %data %int_9 %113 = OpLoad %float %112 %114 = OpFMul %float %113 %float_0_100000001 %115 = OpAccessChain %_ptr_Function_float %data %int_0 %116 = OpLoad %float %115 %117 = OpFMul %float %116 %float_0_100000001 %118 = OpCompositeConstruct %v4float %111 %114 %117 %float_1 OpStore %_GLF_color %118 OpBranchConditional %true %96 %96 %96 = OpLabel OpReturn OpFunctionEnd