• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1               OpCapability Shader
2          %1 = OpExtInstImport "GLSL.std.450"
3               OpMemoryModel Logical GLSL450
4               OpEntryPoint Fragment %main "main" %gl_FragCoord %_GLF_color
5               OpExecutionMode %main OriginUpperLeft
6               OpSource ESSL 320
7               OpName %main "main"
8               OpName %cross2d_vf2_vf2_ "cross2d(vf2;vf2;"
9               OpName %a "a"
10               OpName %b "b"
11               OpName %pointInTriangle_vf2_vf2_vf2_vf2_ "pointInTriangle(vf2;vf2;vf2;vf2;"
12               OpName %p "p"
13               OpName %a_0 "a"
14               OpName %b_0 "b"
15               OpName %c "c"
16               OpName %pab "pab"
17               OpName %param "param"
18               OpName %param_0 "param"
19               OpName %pbc "pbc"
20               OpName %param_1 "param"
21               OpName %param_2 "param"
22               OpName %pca "pca"
23               OpName %param_3 "param"
24               OpName %param_4 "param"
25               OpName %pos "pos"
26               OpName %gl_FragCoord "gl_FragCoord"
27               OpName %buf0 "buf0"
28               OpMemberName %buf0 0 "resolution"
29               OpName %_ ""
30               OpName %param_5 "param"
31               OpName %param_6 "param"
32               OpName %param_7 "param"
33               OpName %param_8 "param"
34               OpName %_GLF_color "_GLF_color"
35               OpDecorate %gl_FragCoord BuiltIn FragCoord
36               OpMemberDecorate %buf0 0 Offset 0
37               OpDecorate %buf0 Block
38               OpDecorate %_ DescriptorSet 0
39               OpDecorate %_ Binding 0
40               OpDecorate %_GLF_color Location 0
41       %void = OpTypeVoid
42         %30 = OpTypeFunction %void
43      %float = OpTypeFloat 32
44    %v2float = OpTypeVector %float 2
45%_ptr_Function_v2float = OpTypePointer Function %v2float
46         %34 = OpTypeFunction %float %_ptr_Function_v2float %_ptr_Function_v2float
47        %int = OpTypeInt 32 1
48         %36 = OpTypeFunction %int %_ptr_Function_v2float %_ptr_Function_v2float %_ptr_Function_v2float %_ptr_Function_v2float
49       %uint = OpTypeInt 32 0
50     %uint_0 = OpConstant %uint 0
51%_ptr_Function_float = OpTypePointer Function %float
52     %uint_1 = OpConstant %uint 1
53       %bool = OpTypeBool
54    %float_0 = OpConstant %float 0
55      %int_0 = OpConstant %int 0
56      %int_1 = OpConstant %int 1
57    %v4float = OpTypeVector %float 4
58%_ptr_Input_v4float = OpTypePointer Input %v4float
59%gl_FragCoord = OpVariable %_ptr_Input_v4float Input
60       %buf0 = OpTypeStruct %v2float
61%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
62          %_ = OpVariable %_ptr_Uniform_buf0 Uniform
63%_ptr_Uniform_v2float = OpTypePointer Uniform %v2float
64%float_0_699999988 = OpConstant %float 0.699999988
65%float_0_300000012 = OpConstant %float 0.300000012
66         %51 = OpConstantComposite %v2float %float_0_699999988 %float_0_300000012
67  %float_0_5 = OpConstant %float 0.5
68%float_0_899999976 = OpConstant %float 0.899999976
69         %54 = OpConstantComposite %v2float %float_0_5 %float_0_899999976
70%float_0_100000001 = OpConstant %float 0.100000001
71%float_0_400000006 = OpConstant %float 0.400000006
72         %57 = OpConstantComposite %v2float %float_0_100000001 %float_0_400000006
73%_ptr_Output_v4float = OpTypePointer Output %v4float
74 %_GLF_color = OpVariable %_ptr_Output_v4float Output
75    %float_1 = OpConstant %float 1
76         %60 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
77         %61 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_1
78       %main = OpFunction %void None %30
79         %62 = OpLabel
80        %pos = OpVariable %_ptr_Function_v2float Function
81    %param_5 = OpVariable %_ptr_Function_v2float Function
82    %param_6 = OpVariable %_ptr_Function_v2float Function
83    %param_7 = OpVariable %_ptr_Function_v2float Function
84    %param_8 = OpVariable %_ptr_Function_v2float Function
85         %63 = OpLoad %v4float %gl_FragCoord
86         %64 = OpVectorShuffle %v2float %63 %63 0 1
87         %65 = OpAccessChain %_ptr_Uniform_v2float %_ %int_0
88         %66 = OpLoad %v2float %65
89         %67 = OpFDiv %v2float %64 %66
90               OpStore %pos %67
91         %68 = OpLoad %v2float %pos
92               OpStore %param_5 %68
93               OpStore %param_6 %51
94               OpStore %param_7 %54
95               OpStore %param_8 %57
96         %69 = OpFunctionCall %int %pointInTriangle_vf2_vf2_vf2_vf2_ %param_5 %param_6 %param_7 %param_8
97         %70 = OpIEqual %bool %69 %int_1
98               OpSelectionMerge %71 None
99               OpBranchConditional %70 %72 %73
100         %72 = OpLabel
101               OpStore %_GLF_color %60
102               OpBranch %71
103         %73 = OpLabel
104               OpStore %_GLF_color %61
105               OpBranch %71
106         %71 = OpLabel
107               OpReturn
108               OpFunctionEnd
109%cross2d_vf2_vf2_ = OpFunction %float None %34
110          %a = OpFunctionParameter %_ptr_Function_v2float
111          %b = OpFunctionParameter %_ptr_Function_v2float
112         %74 = OpLabel
113         %75 = OpAccessChain %_ptr_Function_float %a %uint_0
114         %76 = OpLoad %float %75
115         %77 = OpAccessChain %_ptr_Function_float %b %uint_1
116         %78 = OpLoad %float %77
117         %79 = OpFMul %float %76 %78
118         %80 = OpAccessChain %_ptr_Function_float %b %uint_0
119         %81 = OpLoad %float %80
120         %82 = OpAccessChain %_ptr_Function_float %a %uint_1
121         %83 = OpLoad %float %82
122         %84 = OpFMul %float %81 %83
123         %85 = OpFSub %float %79 %84
124               OpReturnValue %85
125               OpFunctionEnd
126%pointInTriangle_vf2_vf2_vf2_vf2_ = OpFunction %int None %36
127          %p = OpFunctionParameter %_ptr_Function_v2float
128        %a_0 = OpFunctionParameter %_ptr_Function_v2float
129        %b_0 = OpFunctionParameter %_ptr_Function_v2float
130          %c = OpFunctionParameter %_ptr_Function_v2float
131         %86 = OpLabel
132        %pab = OpVariable %_ptr_Function_float Function
133      %param = OpVariable %_ptr_Function_v2float Function
134    %param_0 = OpVariable %_ptr_Function_v2float Function
135        %pbc = OpVariable %_ptr_Function_float Function
136    %param_1 = OpVariable %_ptr_Function_v2float Function
137    %param_2 = OpVariable %_ptr_Function_v2float Function
138        %pca = OpVariable %_ptr_Function_float Function
139    %param_3 = OpVariable %_ptr_Function_v2float Function
140    %param_4 = OpVariable %_ptr_Function_v2float Function
141         %87 = OpAccessChain %_ptr_Function_float %p %uint_0
142         %88 = OpLoad %float %87
143         %89 = OpAccessChain %_ptr_Function_float %a_0 %uint_0
144         %90 = OpLoad %float %89
145         %91 = OpFSub %float %88 %90
146         %92 = OpAccessChain %_ptr_Function_float %p %uint_1
147         %93 = OpLoad %float %92
148         %94 = OpAccessChain %_ptr_Function_float %a_0 %uint_1
149         %95 = OpLoad %float %94
150         %96 = OpFSub %float %93 %95
151         %97 = OpCompositeConstruct %v2float %91 %96
152         %98 = OpAccessChain %_ptr_Function_float %b_0 %uint_0
153         %99 = OpLoad %float %98
154        %100 = OpLoad %float %89
155        %101 = OpFSub %float %99 %100
156        %102 = OpAccessChain %_ptr_Function_float %b_0 %uint_1
157        %103 = OpLoad %float %102
158        %104 = OpLoad %float %94
159        %105 = OpFSub %float %103 %104
160        %106 = OpCompositeConstruct %v2float %101 %105
161               OpStore %param %97
162               OpStore %param_0 %106
163        %107 = OpFunctionCall %float %cross2d_vf2_vf2_ %param %param_0
164               OpStore %pab %107
165        %108 = OpLoad %float %87
166        %109 = OpLoad %float %98
167        %110 = OpFSub %float %108 %109
168        %111 = OpLoad %float %92
169        %112 = OpLoad %float %102
170        %113 = OpFSub %float %111 %112
171        %114 = OpCompositeConstruct %v2float %110 %113
172        %115 = OpAccessChain %_ptr_Function_float %c %uint_0
173        %116 = OpLoad %float %115
174        %117 = OpLoad %float %98
175        %118 = OpFSub %float %116 %117
176        %119 = OpAccessChain %_ptr_Function_float %c %uint_1
177        %120 = OpLoad %float %119
178        %121 = OpLoad %float %102
179        %122 = OpFSub %float %120 %121
180        %123 = OpCompositeConstruct %v2float %118 %122
181               OpStore %param_1 %114
182               OpStore %param_2 %123
183        %124 = OpFunctionCall %float %cross2d_vf2_vf2_ %param_1 %param_2
184               OpStore %pbc %124
185        %125 = OpLoad %float %pab
186        %126 = OpFOrdLessThan %bool %125 %float_0
187        %127 = OpLoad %float %pbc
188        %128 = OpFOrdLessThan %bool %127 %float_0
189        %129 = OpLogicalAnd %bool %126 %128
190        %130 = OpLogicalNot %bool %129
191               OpSelectionMerge %131 None
192               OpBranchConditional %130 %132 %131
193        %132 = OpLabel
194        %133 = OpLoad %float %pab
195        %134 = OpFOrdGreaterThanEqual %bool %133 %float_0
196        %135 = OpLoad %float %pbc
197        %136 = OpFOrdGreaterThanEqual %bool %135 %float_0
198        %137 = OpLogicalAnd %bool %134 %136
199               OpBranch %131
200        %131 = OpLabel
201        %138 = OpPhi %bool %129 %86 %137 %132
202        %139 = OpLogicalNot %bool %138
203               OpSelectionMerge %140 None
204               OpBranchConditional %139 %141 %140
205        %141 = OpLabel
206               OpReturnValue %int_0
207        %140 = OpLabel
208        %142 = OpLoad %float %87
209        %143 = OpLoad %float %115
210        %144 = OpFSub %float %142 %143
211        %145 = OpLoad %float %92
212        %146 = OpLoad %float %119
213        %147 = OpFSub %float %145 %146
214        %148 = OpCompositeConstruct %v2float %144 %147
215        %149 = OpLoad %float %89
216        %150 = OpLoad %float %115
217        %151 = OpFSub %float %149 %150
218        %152 = OpLoad %float %94
219        %153 = OpLoad %float %119
220        %154 = OpFSub %float %152 %153
221        %155 = OpCompositeConstruct %v2float %151 %154
222               OpStore %param_3 %148
223               OpStore %param_4 %155
224        %156 = OpFunctionCall %float %cross2d_vf2_vf2_ %param_3 %param_4
225               OpStore %pca %156
226        %157 = OpLoad %float %pab
227        %158 = OpFOrdLessThan %bool %157 %float_0
228        %159 = OpLoad %float %pca
229        %160 = OpFOrdLessThan %bool %159 %float_0
230        %161 = OpLogicalAnd %bool %158 %160
231        %162 = OpLogicalNot %bool %161
232               OpSelectionMerge %163 None
233               OpBranchConditional %162 %164 %163
234        %164 = OpLabel
235        %165 = OpLoad %float %pab
236        %166 = OpFOrdGreaterThanEqual %bool %165 %float_0
237        %167 = OpLoad %float %pca
238        %168 = OpFOrdGreaterThanEqual %bool %167 %float_0
239        %169 = OpLogicalAnd %bool %166 %168
240               OpBranch %163
241        %163 = OpLabel
242        %170 = OpPhi %bool %161 %140 %169 %164
243        %171 = OpLogicalNot %bool %170
244               OpSelectionMerge %172 None
245               OpBranchConditional %171 %173 %172
246        %173 = OpLabel
247               OpReturnValue %int_0
248        %172 = OpLabel
249               OpReturnValue %int_1
250               OpFunctionEnd
251