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 %cross2d_vf2_vf2_ "cross2d(vf2;vf2;" OpName %a "a" OpName %b "b" OpName %pointInTriangle_vf2_vf2_vf2_vf2_ "pointInTriangle(vf2;vf2;vf2;vf2;" OpName %p "p" OpName %a_0 "a" OpName %b_0 "b" OpName %c "c" OpName %pab "pab" OpName %param "param" OpName %param_0 "param" OpName %pbc "pbc" OpName %param_1 "param" OpName %param_2 "param" OpName %pca "pca" OpName %param_3 "param" OpName %param_4 "param" OpName %pos "pos" OpName %gl_FragCoord "gl_FragCoord" OpName %buf0 "buf0" OpMemberName %buf0 0 "resolution" OpName %_ "" OpName %param_5 "param" OpName %param_6 "param" OpName %param_7 "param" OpName %param_8 "param" OpName %_GLF_color "_GLF_color" OpDecorate %gl_FragCoord BuiltIn FragCoord OpMemberDecorate %buf0 0 Offset 0 OpDecorate %buf0 Block OpDecorate %_ DescriptorSet 0 OpDecorate %_ Binding 0 OpDecorate %_GLF_color Location 0 %void = OpTypeVoid %30 = OpTypeFunction %void %float = OpTypeFloat 32 %v2float = OpTypeVector %float 2 %_ptr_Function_v2float = OpTypePointer Function %v2float %34 = OpTypeFunction %float %_ptr_Function_v2float %_ptr_Function_v2float %int = OpTypeInt 32 1 %36 = OpTypeFunction %int %_ptr_Function_v2float %_ptr_Function_v2float %_ptr_Function_v2float %_ptr_Function_v2float %uint = OpTypeInt 32 0 %uint_0 = OpConstant %uint 0 %_ptr_Function_float = OpTypePointer Function %float %uint_1 = OpConstant %uint 1 %bool = OpTypeBool %float_0 = OpConstant %float 0 %int_0 = OpConstant %int 0 %int_1 = OpConstant %int 1 %v4float = OpTypeVector %float 4 %_ptr_Input_v4float = OpTypePointer Input %v4float %gl_FragCoord = OpVariable %_ptr_Input_v4float Input %buf0 = OpTypeStruct %v2float %_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0 %_ = OpVariable %_ptr_Uniform_buf0 Uniform %_ptr_Uniform_v2float = OpTypePointer Uniform %v2float %float_0_699999988 = OpConstant %float 0.699999988 %float_0_300000012 = OpConstant %float 0.300000012 %51 = OpConstantComposite %v2float %float_0_699999988 %float_0_300000012 %float_0_5 = OpConstant %float 0.5 %float_0_899999976 = OpConstant %float 0.899999976 %54 = OpConstantComposite %v2float %float_0_5 %float_0_899999976 %float_0_100000001 = OpConstant %float 0.100000001 %float_0_400000006 = OpConstant %float 0.400000006 %57 = OpConstantComposite %v2float %float_0_100000001 %float_0_400000006 %_ptr_Output_v4float = OpTypePointer Output %v4float %_GLF_color = OpVariable %_ptr_Output_v4float Output %float_1 = OpConstant %float 1 %60 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %61 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_1 %main = OpFunction %void None %30 %62 = OpLabel %pos = OpVariable %_ptr_Function_v2float Function %param_5 = OpVariable %_ptr_Function_v2float Function %param_6 = OpVariable %_ptr_Function_v2float Function %param_7 = OpVariable %_ptr_Function_v2float Function %param_8 = OpVariable %_ptr_Function_v2float Function %63 = OpLoad %v4float %gl_FragCoord %64 = OpVectorShuffle %v2float %63 %63 0 1 %65 = OpAccessChain %_ptr_Uniform_v2float %_ %int_0 %66 = OpLoad %v2float %65 %67 = OpFDiv %v2float %64 %66 OpStore %pos %67 %68 = OpLoad %v2float %pos OpStore %param_5 %68 OpStore %param_6 %51 OpStore %param_7 %54 OpStore %param_8 %57 %69 = OpFunctionCall %int %pointInTriangle_vf2_vf2_vf2_vf2_ %param_5 %param_6 %param_7 %param_8 %70 = OpIEqual %bool %69 %int_1 OpSelectionMerge %71 None OpBranchConditional %70 %72 %73 %72 = OpLabel OpStore %_GLF_color %60 OpBranch %71 %73 = OpLabel OpStore %_GLF_color %61 OpBranch %71 %71 = OpLabel OpReturn OpFunctionEnd %cross2d_vf2_vf2_ = OpFunction %float None %34 %a = OpFunctionParameter %_ptr_Function_v2float %b = OpFunctionParameter %_ptr_Function_v2float %74 = OpLabel %75 = OpAccessChain %_ptr_Function_float %a %uint_0 %76 = OpLoad %float %75 %77 = OpAccessChain %_ptr_Function_float %b %uint_1 %78 = OpLoad %float %77 %79 = OpFMul %float %76 %78 %80 = OpAccessChain %_ptr_Function_float %b %uint_0 %81 = OpLoad %float %80 %82 = OpAccessChain %_ptr_Function_float %a %uint_1 %83 = OpLoad %float %82 %84 = OpFMul %float %81 %83 %85 = OpFSub %float %79 %84 OpReturnValue %85 OpFunctionEnd %pointInTriangle_vf2_vf2_vf2_vf2_ = OpFunction %int None %36 %p = OpFunctionParameter %_ptr_Function_v2float %a_0 = OpFunctionParameter %_ptr_Function_v2float %b_0 = OpFunctionParameter %_ptr_Function_v2float %c = OpFunctionParameter %_ptr_Function_v2float %86 = OpLabel %pab = OpVariable %_ptr_Function_float Function %param = OpVariable %_ptr_Function_v2float Function %param_0 = OpVariable %_ptr_Function_v2float Function %pbc = OpVariable %_ptr_Function_float Function %param_1 = OpVariable %_ptr_Function_v2float Function %param_2 = OpVariable %_ptr_Function_v2float Function %pca = OpVariable %_ptr_Function_float Function %param_3 = OpVariable %_ptr_Function_v2float Function %param_4 = OpVariable %_ptr_Function_v2float Function %87 = OpAccessChain %_ptr_Function_float %p %uint_0 %88 = OpLoad %float %87 %89 = OpAccessChain %_ptr_Function_float %a_0 %uint_0 %90 = OpLoad %float %89 %91 = OpFSub %float %88 %90 %92 = OpAccessChain %_ptr_Function_float %p %uint_1 %93 = OpLoad %float %92 %94 = OpAccessChain %_ptr_Function_float %a_0 %uint_1 %95 = OpLoad %float %94 %96 = OpFSub %float %93 %95 %97 = OpCompositeConstruct %v2float %91 %96 %98 = OpAccessChain %_ptr_Function_float %b_0 %uint_0 %99 = OpLoad %float %98 %100 = OpLoad %float %89 %101 = OpFSub %float %99 %100 %102 = OpAccessChain %_ptr_Function_float %b_0 %uint_1 %103 = OpLoad %float %102 %104 = OpLoad %float %94 %105 = OpFSub %float %103 %104 %106 = OpCompositeConstruct %v2float %101 %105 OpStore %param %97 OpStore %param_0 %106 %107 = OpFunctionCall %float %cross2d_vf2_vf2_ %param %param_0 OpStore %pab %107 %108 = OpLoad %float %87 %109 = OpLoad %float %98 %110 = OpFSub %float %108 %109 %111 = OpLoad %float %92 %112 = OpLoad %float %102 %113 = OpFSub %float %111 %112 %114 = OpCompositeConstruct %v2float %110 %113 %115 = OpAccessChain %_ptr_Function_float %c %uint_0 %116 = OpLoad %float %115 %117 = OpLoad %float %98 %118 = OpFSub %float %116 %117 %119 = OpAccessChain %_ptr_Function_float %c %uint_1 %120 = OpLoad %float %119 %121 = OpLoad %float %102 %122 = OpFSub %float %120 %121 %123 = OpCompositeConstruct %v2float %118 %122 OpStore %param_1 %114 OpStore %param_2 %123 %124 = OpFunctionCall %float %cross2d_vf2_vf2_ %param_1 %param_2 OpStore %pbc %124 %125 = OpLoad %float %pab %126 = OpFOrdLessThan %bool %125 %float_0 %127 = OpLoad %float %pbc %128 = OpFOrdLessThan %bool %127 %float_0 %129 = OpLogicalAnd %bool %126 %128 %130 = OpLogicalNot %bool %129 OpSelectionMerge %131 None OpBranchConditional %130 %132 %131 %132 = OpLabel %133 = OpLoad %float %pab %134 = OpFOrdGreaterThanEqual %bool %133 %float_0 %135 = OpLoad %float %pbc %136 = OpFOrdGreaterThanEqual %bool %135 %float_0 %137 = OpLogicalAnd %bool %134 %136 OpBranch %131 %131 = OpLabel %138 = OpPhi %bool %129 %86 %137 %132 %139 = OpLogicalNot %bool %138 OpSelectionMerge %140 None OpBranchConditional %139 %141 %140 %141 = OpLabel OpReturnValue %int_0 %140 = OpLabel %142 = OpLoad %float %87 %143 = OpLoad %float %115 %144 = OpFSub %float %142 %143 %145 = OpLoad %float %92 %146 = OpLoad %float %119 %147 = OpFSub %float %145 %146 %148 = OpCompositeConstruct %v2float %144 %147 %149 = OpLoad %float %89 %150 = OpLoad %float %115 %151 = OpFSub %float %149 %150 %152 = OpLoad %float %94 %153 = OpLoad %float %119 %154 = OpFSub %float %152 %153 %155 = OpCompositeConstruct %v2float %151 %154 OpStore %param_3 %148 OpStore %param_4 %155 %156 = OpFunctionCall %float %cross2d_vf2_vf2_ %param_3 %param_4 OpStore %pca %156 %157 = OpLoad %float %pab %158 = OpFOrdLessThan %bool %157 %float_0 %159 = OpLoad %float %pca %160 = OpFOrdLessThan %bool %159 %float_0 %161 = OpLogicalAnd %bool %158 %160 %162 = OpLogicalNot %bool %161 OpSelectionMerge %163 None OpBranchConditional %162 %164 %163 %164 = OpLabel %165 = OpLoad %float %pab %166 = OpFOrdGreaterThanEqual %bool %165 %float_0 %167 = OpLoad %float %pca %168 = OpFOrdGreaterThanEqual %bool %167 %float_0 %169 = OpLogicalAnd %bool %166 %168 OpBranch %163 %163 = OpLabel %170 = OpPhi %bool %161 %140 %169 %164 %171 = OpLogicalNot %bool %170 OpSelectionMerge %172 None OpBranchConditional %171 %173 %172 %173 = OpLabel OpReturnValue %int_0 %172 = OpLabel OpReturnValue %int_1 OpFunctionEnd