• 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 %scratchVar "scratchVar"
9OpName %_UniformBuffer "_UniformBuffer"
10OpMemberName %_UniformBuffer 0 "colorGreen"
11OpMemberName %_UniformBuffer 1 "colorRed"
12OpName %_entrypoint_v "_entrypoint_v"
13OpName %test_flat_b "test_flat_b"
14OpName %test_if_b "test_if_b"
15OpName %test_else_b "test_else_b"
16OpName %test_loop_if_b "test_loop_if_b"
17OpName %x "x"
18OpName %main "main"
19OpDecorate %sk_FragColor RelaxedPrecision
20OpDecorate %sk_FragColor Location 0
21OpDecorate %sk_FragColor Index 0
22OpDecorate %sk_Clockwise BuiltIn FrontFacing
23OpMemberDecorate %_UniformBuffer 0 Offset 0
24OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
25OpMemberDecorate %_UniformBuffer 1 Offset 16
26OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
27OpDecorate %_UniformBuffer Block
28OpDecorate %18 Binding 0
29OpDecorate %18 DescriptorSet 0
30OpDecorate %37 RelaxedPrecision
31OpDecorate %38 RelaxedPrecision
32OpDecorate %51 RelaxedPrecision
33OpDecorate %52 RelaxedPrecision
34OpDecorate %68 RelaxedPrecision
35OpDecorate %69 RelaxedPrecision
36OpDecorate %100 RelaxedPrecision
37OpDecorate %102 RelaxedPrecision
38OpDecorate %103 RelaxedPrecision
39%float = OpTypeFloat 32
40%v4float = OpTypeVector %float 4
41%_ptr_Output_v4float = OpTypePointer Output %v4float
42%sk_FragColor = OpVariable %_ptr_Output_v4float Output
43%bool = OpTypeBool
44%_ptr_Input_bool = OpTypePointer Input %bool
45%sk_Clockwise = OpVariable %_ptr_Input_bool Input
46%int = OpTypeInt 32 1
47%_ptr_Private_int = OpTypePointer Private %int
48%scratchVar = OpVariable %_ptr_Private_int Private
49%int_0 = OpConstant %int 0
50%_UniformBuffer = OpTypeStruct %v4float %v4float
51%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
52%18 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
53%void = OpTypeVoid
54%23 = OpTypeFunction %void
55%v2float = OpTypeVector %float 2
56%float_0 = OpConstant %float 0
57%27 = OpConstantComposite %v2float %float_0 %float_0
58%_ptr_Function_v2float = OpTypePointer Function %v2float
59%31 = OpTypeFunction %bool
60%true = OpConstantTrue %bool
61%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
62%int_1 = OpConstant %int 1
63%false = OpConstantFalse %bool
64%_ptr_Function_int = OpTypePointer Function %int
65%78 = OpTypeFunction %v4float %_ptr_Function_v2float
66%_ptr_Function_v4float = OpTypePointer Function %v4float
67%_entrypoint_v = OpFunction %void None %23
68%24 = OpLabel
69%28 = OpVariable %_ptr_Function_v2float Function
70OpStore %28 %27
71%30 = OpFunctionCall %v4float %main %28
72OpStore %sk_FragColor %30
73OpReturn
74OpFunctionEnd
75%test_flat_b = OpFunction %bool None %31
76%32 = OpLabel
77OpReturnValue %true
78OpFunctionEnd
79%test_if_b = OpFunction %bool None %31
80%34 = OpLabel
81%35 = OpAccessChain %_ptr_Uniform_v4float %18 %int_0
82%37 = OpLoad %v4float %35
83%38 = OpCompositeExtract %float %37 1
84%39 = OpFOrdGreaterThan %bool %38 %float_0
85OpSelectionMerge %42 None
86OpBranchConditional %39 %40 %41
87%40 = OpLabel
88OpReturnValue %true
89%41 = OpLabel
90%44 = OpLoad %int %scratchVar
91%45 = OpIAdd %int %44 %int_1
92OpStore %scratchVar %45
93OpBranch %42
94%42 = OpLabel
95%46 = OpLoad %int %scratchVar
96%47 = OpIAdd %int %46 %int_1
97OpStore %scratchVar %47
98OpReturnValue %false
99OpFunctionEnd
100%test_else_b = OpFunction %bool None %31
101%49 = OpLabel
102%50 = OpAccessChain %_ptr_Uniform_v4float %18 %int_0
103%51 = OpLoad %v4float %50
104%52 = OpCompositeExtract %float %51 1
105%53 = OpFOrdEqual %bool %52 %float_0
106OpSelectionMerge %56 None
107OpBranchConditional %53 %54 %55
108%54 = OpLabel
109OpReturnValue %false
110%55 = OpLabel
111OpReturnValue %true
112%56 = OpLabel
113OpUnreachable
114OpFunctionEnd
115%test_loop_if_b = OpFunction %bool None %31
116%57 = OpLabel
117%x = OpVariable %_ptr_Function_int Function
118OpStore %x %int_0
119OpBranch %60
120%60 = OpLabel
121OpLoopMerge %64 %63 None
122OpBranch %61
123%61 = OpLabel
124%65 = OpLoad %int %x
125%66 = OpSLessThanEqual %bool %65 %int_1
126OpBranchConditional %66 %62 %64
127%62 = OpLabel
128%67 = OpAccessChain %_ptr_Uniform_v4float %18 %int_0
129%68 = OpLoad %v4float %67
130%69 = OpCompositeExtract %float %68 1
131%70 = OpFOrdEqual %bool %69 %float_0
132OpSelectionMerge %73 None
133OpBranchConditional %70 %71 %72
134%71 = OpLabel
135OpReturnValue %false
136%72 = OpLabel
137OpReturnValue %true
138%73 = OpLabel
139OpBranch %63
140%63 = OpLabel
141%74 = OpLoad %int %x
142%75 = OpIAdd %int %74 %int_1
143OpStore %x %75
144OpBranch %60
145%64 = OpLabel
146%76 = OpLoad %int %scratchVar
147%77 = OpIAdd %int %76 %int_1
148OpStore %scratchVar %77
149OpReturnValue %true
150OpFunctionEnd
151%main = OpFunction %v4float None %78
152%79 = OpFunctionParameter %_ptr_Function_v2float
153%80 = OpLabel
154%94 = OpVariable %_ptr_Function_v4float Function
155OpStore %scratchVar %int_0
156%81 = OpFunctionCall %bool %test_flat_b
157OpSelectionMerge %83 None
158OpBranchConditional %81 %82 %83
159%82 = OpLabel
160%84 = OpFunctionCall %bool %test_if_b
161OpBranch %83
162%83 = OpLabel
163%85 = OpPhi %bool %false %80 %84 %82
164OpSelectionMerge %87 None
165OpBranchConditional %85 %86 %87
166%86 = OpLabel
167%88 = OpFunctionCall %bool %test_else_b
168OpBranch %87
169%87 = OpLabel
170%89 = OpPhi %bool %false %83 %88 %86
171OpSelectionMerge %91 None
172OpBranchConditional %89 %90 %91
173%90 = OpLabel
174%92 = OpFunctionCall %bool %test_loop_if_b
175OpBranch %91
176%91 = OpLabel
177%93 = OpPhi %bool %false %87 %92 %90
178OpSelectionMerge %98 None
179OpBranchConditional %93 %96 %97
180%96 = OpLabel
181%99 = OpAccessChain %_ptr_Uniform_v4float %18 %int_0
182%100 = OpLoad %v4float %99
183OpStore %94 %100
184OpBranch %98
185%97 = OpLabel
186%101 = OpAccessChain %_ptr_Uniform_v4float %18 %int_1
187%102 = OpLoad %v4float %101
188OpStore %94 %102
189OpBranch %98
190%98 = OpLabel
191%103 = OpLoad %v4float %94
192OpReturnValue %103
193OpFunctionEnd
194