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