OpCapability Shader %1 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 OpEntryPoint Fragment %main "main" %gl_FragCoord %_GLF_color OpExecutionMode %main OriginUpperLeft OpSource ESSL 310 OpName %main "main" OpName %func_i1_ "func(i1;" OpName %a "a" OpName %b "b" OpName %data "data" OpName %gl_FragCoord "gl_FragCoord" OpName %temp "temp" OpName %i "i" OpName %i_0 "i" OpName %param "param" OpName %param_0 "param" OpName %_GLF_color "_GLF_color" OpDecorate %gl_FragCoord BuiltIn FragCoord OpDecorate %_GLF_color Location 0 %void = OpTypeVoid %15 = OpTypeFunction %void %int = OpTypeInt 32 1 %_ptr_Function_int = OpTypePointer Function %int %float = OpTypeFloat 32 %19 = OpTypeFunction %float %_ptr_Function_int %int_0 = OpConstant %int 0 %uint = OpTypeInt 32 0 %uint_9 = OpConstant %uint 9 %_arr_int_uint_9 = OpTypeArray %int %uint_9 %_ptr_Private__arr_int_uint_9 = OpTypePointer Private %_arr_int_uint_9 %data = OpVariable %_ptr_Private__arr_int_uint_9 Private %int_5 = OpConstant %int 5 %_ptr_Private_int = OpTypePointer Private %int %int_2 = OpConstant %int 2 %int_4 = OpConstant %int 4 %int_6 = OpConstant %int 6 %int_8 = OpConstant %int 8 %v4float = OpTypeVector %float 4 %_ptr_Input_v4float = OpTypePointer Input %v4float %gl_FragCoord = OpVariable %_ptr_Input_v4float Input %uint_0 = OpConstant %uint 0 %_ptr_Input_float = OpTypePointer Input %float %float_0 = OpConstant %float 0 %bool = OpTypeBool %uint_7 = OpConstant %uint 7 %_arr_int_uint_7 = OpTypeArray %int %uint_7 %_ptr_Private__arr_int_uint_7 = OpTypePointer Private %_arr_int_uint_7 %temp = OpVariable %_ptr_Private__arr_int_uint_7 Private %int_3 = OpConstant %int 3 %int_1 = OpConstant %int 1 %float_1 = OpConstant %float 1 %_ptr_Output_v4float = OpTypePointer Output %v4float %_GLF_color = OpVariable %_ptr_Output_v4float Output %44 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %45 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0 %main = OpFunction %void None %15 %46 = OpLabel %i_0 = OpVariable %_ptr_Function_int Function %param = OpVariable %_ptr_Function_int Function %param_0 = OpVariable %_ptr_Function_int Function OpStore %i_0 %int_0 OpBranch %47 %47 = OpLabel OpLoopMerge %48 %49 None OpBranch %50 %50 = OpLabel %51 = OpLoad %int %i_0 %52 = OpSLessThan %bool %51 %int_6 OpBranchConditional %52 %53 %48 %53 = OpLabel %54 = OpLoad %int %i_0 OpStore %param %54 %55 = OpFunctionCall %float %func_i1_ %param %56 = OpLoad %int %i_0 OpStore %param_0 %56 %57 = OpFunctionCall %float %func_i1_ %param_0 %58 = OpFOrdEqual %bool %57 %float_1 OpSelectionMerge %59 None OpBranchConditional %58 %60 %61 %60 = OpLabel OpStore %_GLF_color %44 OpBranch %59 %61 = OpLabel OpStore %_GLF_color %45 OpBranch %59 %59 = OpLabel OpBranch %49 %49 = OpLabel %62 = OpLoad %int %i_0 %63 = OpIAdd %int %62 %int_1 OpStore %i_0 %63 OpBranch %47 %48 = OpLabel OpReturn OpFunctionEnd %func_i1_ = OpFunction %float None %19 %a = OpFunctionParameter %_ptr_Function_int %64 = OpLabel %b = OpVariable %_ptr_Function_int Function %i = OpVariable %_ptr_Function_int Function OpStore %b %int_0 %65 = OpAccessChain %_ptr_Private_int %data %int_0 OpStore %65 %int_5 %66 = OpAccessChain %_ptr_Private_int %data %int_2 OpStore %66 %int_0 %67 = OpAccessChain %_ptr_Private_int %data %int_4 OpStore %67 %int_0 %68 = OpAccessChain %_ptr_Private_int %data %int_6 OpStore %68 %int_0 %69 = OpAccessChain %_ptr_Private_int %data %int_8 OpStore %69 %int_0 %70 = OpAccessChain %_ptr_Input_float %gl_FragCoord %uint_0 %71 = OpLoad %float %70 %72 = OpFOrdGreaterThanEqual %bool %71 %float_0 OpSelectionMerge %73 None OpBranchConditional %72 %74 %73 %74 = OpLabel OpBranch %75 %75 = OpLabel OpLoopMerge %76 %77 None OpBranch %78 %78 = OpLabel %79 = OpLoad %int %b %80 = OpLoad %int %a %81 = OpSLessThanEqual %bool %79 %80 OpBranchConditional %81 %82 %76 %82 = OpLabel %83 = OpLoad %int %b %84 = OpSLessThanEqual %bool %83 %int_5 OpSelectionMerge %85 None OpBranchConditional %84 %86 %85 %86 = OpLabel %87 = OpLoad %int %b %88 = OpLoad %int %b %89 = OpAccessChain %_ptr_Private_int %data %88 %90 = OpLoad %int %89 %91 = OpAccessChain %_ptr_Private_int %temp %87 OpStore %91 %90 %92 = OpLoad %int %b %93 = OpIAdd %int %92 %int_2 OpStore %b %93 OpBranch %85 %85 = OpLabel OpBranch %77 %77 = OpLabel OpBranch %75 %76 = OpLabel OpBranch %73 %73 = OpLabel OpStore %i %int_0 OpBranch %94 %94 = OpLabel OpLoopMerge %95 %96 None OpBranch %97 %97 = OpLabel %98 = OpLoad %int %i %99 = OpSLessThan %bool %98 %int_3 OpBranchConditional %99 %100 %95 %100 = OpLabel %101 = OpLoad %int %i %102 = OpAccessChain %_ptr_Private_int %temp %int_0 %103 = OpLoad %int %102 %104 = OpIAdd %int %103 %int_1 %105 = OpAccessChain %_ptr_Private_int %data %101 OpStore %105 %104 OpBranch %96 %96 = OpLabel %106 = OpLoad %int %i %107 = OpIAdd %int %106 %int_1 OpStore %i %107 OpBranch %94 %95 = OpLabel %108 = OpAccessChain %_ptr_Private_int %temp %int_0 %109 = OpLoad %int %108 %110 = OpIEqual %bool %109 %int_5 OpSelectionMerge %111 None OpBranchConditional %110 %112 %111 %112 = OpLabel %113 = OpAccessChain %_ptr_Private_int %data %int_0 %114 = OpLoad %int %113 %115 = OpIEqual %bool %114 %int_6 OpBranch %111 %111 = OpLabel %116 = OpPhi %bool %110 %95 %115 %112 OpSelectionMerge %117 None OpBranchConditional %116 %118 %119 %118 = OpLabel OpReturnValue %float_1 %119 = OpLabel OpReturnValue %float_0 %117 = OpLabel OpUnreachable OpFunctionEnd