• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1OpCapability Shader
2%1 = OpExtInstImport "GLSL.std.450"
3OpMemoryModel Logical GLSL450
4OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor %sk_Clockwise
5OpExecutionMode %_entrypoint_v OriginUpperLeft
6OpName %sk_FragColor "sk_FragColor"
7OpName %sk_Clockwise "sk_Clockwise"
8OpName %_UniformBuffer "_UniformBuffer"
9OpMemberName %_UniformBuffer 0 "colorGreen"
10OpMemberName %_UniformBuffer 1 "colorRed"
11OpName %_entrypoint_v "_entrypoint_v"
12OpName %test_ivec_b "test_ivec_b"
13OpName %one "one"
14OpName %two "two"
15OpName %ok "ok"
16OpName %test_mat_b "test_mat_b"
17OpName %ok_0 "ok"
18OpName %main "main"
19OpName %_0_one "_0_one"
20OpName %_1_two "_1_two"
21OpName %_4_ok "_4_ok"
22OpDecorate %sk_FragColor RelaxedPrecision
23OpDecorate %sk_FragColor Location 0
24OpDecorate %sk_FragColor Index 0
25OpDecorate %sk_Clockwise BuiltIn FrontFacing
26OpMemberDecorate %_UniformBuffer 0 Offset 0
27OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
28OpMemberDecorate %_UniformBuffer 1 Offset 16
29OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
30OpDecorate %_UniformBuffer Block
31OpDecorate %12 Binding 0
32OpDecorate %12 DescriptorSet 0
33OpDecorate %37 RelaxedPrecision
34OpDecorate %57 RelaxedPrecision
35OpDecorate %60 RelaxedPrecision
36OpDecorate %70 RelaxedPrecision
37OpDecorate %73 RelaxedPrecision
38OpDecorate %75 RelaxedPrecision
39OpDecorate %80 RelaxedPrecision
40OpDecorate %82 RelaxedPrecision
41OpDecorate %83 RelaxedPrecision
42OpDecorate %84 RelaxedPrecision
43OpDecorate %85 RelaxedPrecision
44OpDecorate %90 RelaxedPrecision
45OpDecorate %94 RelaxedPrecision
46OpDecorate %95 RelaxedPrecision
47OpDecorate %100 RelaxedPrecision
48OpDecorate %104 RelaxedPrecision
49OpDecorate %121 RelaxedPrecision
50OpDecorate %123 RelaxedPrecision
51OpDecorate %124 RelaxedPrecision
52%float = OpTypeFloat 32
53%v4float = OpTypeVector %float 4
54%_ptr_Output_v4float = OpTypePointer Output %v4float
55%sk_FragColor = OpVariable %_ptr_Output_v4float Output
56%bool = OpTypeBool
57%_ptr_Input_bool = OpTypePointer Input %bool
58%sk_Clockwise = OpVariable %_ptr_Input_bool Input
59%_UniformBuffer = OpTypeStruct %v4float %v4float
60%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
61%12 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
62%void = OpTypeVoid
63%17 = OpTypeFunction %void
64%v2float = OpTypeVector %float 2
65%float_0 = OpConstant %float 0
66%21 = OpConstantComposite %v2float %float_0 %float_0
67%_ptr_Function_v2float = OpTypePointer Function %v2float
68%25 = OpTypeFunction %bool
69%int = OpTypeInt 32 1
70%_ptr_Function_int = OpTypePointer Function %int
71%int_1 = OpConstant %int 1
72%int_2 = OpConstant %int 2
73%_ptr_Function_bool = OpTypePointer Function %bool
74%true = OpConstantTrue %bool
75%false = OpConstantFalse %bool
76%v2int = OpTypeVector %int 2
77%v2bool = OpTypeVector %bool 2
78%61 = OpTypeFunction %v4float %_ptr_Function_v2float
79%_ptr_Function_float = OpTypePointer Function %float
80%float_1 = OpConstant %float 1
81%float_2 = OpConstant %float 2
82%v3float = OpTypeVector %float 3
83%v4bool = OpTypeVector %bool 4
84%float_n2 = OpConstant %float -2
85%94 = OpConstantComposite %v2float %float_1 %float_n2
86%_ptr_Function_v4float = OpTypePointer Function %v4float
87%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
88%int_0 = OpConstant %int 0
89%_entrypoint_v = OpFunction %void None %17
90%18 = OpLabel
91%22 = OpVariable %_ptr_Function_v2float Function
92OpStore %22 %21
93%24 = OpFunctionCall %v4float %main %22
94OpStore %sk_FragColor %24
95OpReturn
96OpFunctionEnd
97%test_ivec_b = OpFunction %bool None %25
98%26 = OpLabel
99%one = OpVariable %_ptr_Function_int Function
100%two = OpVariable %_ptr_Function_int Function
101%ok = OpVariable %_ptr_Function_bool Function
102OpStore %one %int_1
103OpStore %two %int_2
104OpStore %ok %true
105%37 = OpLoad %bool %ok
106OpSelectionMerge %39 None
107OpBranchConditional %37 %38 %39
108%38 = OpLabel
109%43 = OpLoad %int %one
110%42 = OpSNegate %int %43
111%44 = OpLoad %int %one
112%45 = OpLoad %int %one
113%46 = OpIAdd %int %44 %45
114%47 = OpCompositeConstruct %v2int %42 %46
115%40 = OpSNegate %v2int %47
116%49 = OpLoad %int %one
117%50 = OpLoad %int %two
118%51 = OpISub %int %49 %50
119%52 = OpCompositeConstruct %v2int %51 %int_2
120%48 = OpSNegate %v2int %52
121%53 = OpIEqual %v2bool %40 %48
122%55 = OpAll %bool %53
123OpBranch %39
124%39 = OpLabel
125%56 = OpPhi %bool %false %26 %55 %38
126OpStore %ok %56
127%57 = OpLoad %bool %ok
128OpReturnValue %57
129OpFunctionEnd
130%test_mat_b = OpFunction %bool None %25
131%58 = OpLabel
132%ok_0 = OpVariable %_ptr_Function_bool Function
133OpStore %ok_0 %true
134%60 = OpLoad %bool %ok_0
135OpReturnValue %60
136OpFunctionEnd
137%main = OpFunction %v4float None %61
138%62 = OpFunctionParameter %_ptr_Function_v2float
139%63 = OpLabel
140%_0_one = OpVariable %_ptr_Function_float Function
141%_1_two = OpVariable %_ptr_Function_float Function
142%_4_ok = OpVariable %_ptr_Function_bool Function
143%113 = OpVariable %_ptr_Function_v4float Function
144OpStore %_0_one %float_1
145OpStore %_1_two %float_2
146OpStore %_4_ok %true
147%70 = OpLoad %bool %_4_ok
148OpSelectionMerge %72 None
149OpBranchConditional %70 %71 %72
150%71 = OpLabel
151%74 = OpLoad %float %_1_two
152%75 = OpCompositeConstruct %v4float %74 %74 %74 %74
153%73 = OpFNegate %v4float %75
154%77 = OpLoad %float %_1_two
155%76 = OpFNegate %float %77
156%79 = OpLoad %float %_1_two
157%78 = OpFNegate %float %79
158%80 = OpCompositeConstruct %v3float %78 %78 %78
159%82 = OpCompositeExtract %float %80 0
160%83 = OpCompositeExtract %float %80 1
161%84 = OpCompositeExtract %float %80 2
162%85 = OpCompositeConstruct %v4float %76 %82 %83 %84
163%86 = OpFOrdEqual %v4bool %73 %85
164%88 = OpAll %bool %86
165OpBranch %72
166%72 = OpLabel
167%89 = OpPhi %bool %false %63 %88 %71
168OpStore %_4_ok %89
169%90 = OpLoad %bool %_4_ok
170OpSelectionMerge %92 None
171OpBranchConditional %90 %91 %92
172%91 = OpLabel
173%96 = OpLoad %float %_0_one
174%97 = OpLoad %float %_1_two
175%98 = OpFSub %float %96 %97
176%99 = OpLoad %float %_1_two
177%100 = OpCompositeConstruct %v2float %98 %99
178%95 = OpFNegate %v2float %100
179%101 = OpFOrdEqual %v2bool %94 %95
180%102 = OpAll %bool %101
181OpBranch %92
182%92 = OpLabel
183%103 = OpPhi %bool %false %72 %102 %91
184OpStore %_4_ok %103
185%104 = OpLoad %bool %_4_ok
186OpSelectionMerge %106 None
187OpBranchConditional %104 %105 %106
188%105 = OpLabel
189%107 = OpFunctionCall %bool %test_ivec_b
190OpBranch %106
191%106 = OpLabel
192%108 = OpPhi %bool %false %92 %107 %105
193OpSelectionMerge %110 None
194OpBranchConditional %108 %109 %110
195%109 = OpLabel
196%111 = OpFunctionCall %bool %test_mat_b
197OpBranch %110
198%110 = OpLabel
199%112 = OpPhi %bool %false %106 %111 %109
200OpSelectionMerge %117 None
201OpBranchConditional %112 %115 %116
202%115 = OpLabel
203%118 = OpAccessChain %_ptr_Uniform_v4float %12 %int_0
204%121 = OpLoad %v4float %118
205OpStore %113 %121
206OpBranch %117
207%116 = OpLabel
208%122 = OpAccessChain %_ptr_Uniform_v4float %12 %int_1
209%123 = OpLoad %v4float %122
210OpStore %113 %123
211OpBranch %117
212%117 = OpLabel
213%124 = OpLoad %v4float %113
214OpReturnValue %124
215OpFunctionEnd
216