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