Update rive-cpp to 2.0 version
[platform/core/uifw/rive-tizen.git] / submodule / skia / tests / sksl / shared / SwizzleConstants.asm.frag
1 OpCapability Shader
2 %1 = OpExtInstImport "GLSL.std.450"
3 OpMemoryModel Logical GLSL450
4 OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor %sk_Clockwise
5 OpExecutionMode %_entrypoint_v OriginUpperLeft
6 OpName %sk_FragColor "sk_FragColor"
7 OpName %sk_Clockwise "sk_Clockwise"
8 OpName %_UniformBuffer "_UniformBuffer"
9 OpMemberName %_UniformBuffer 0 "testInputs"
10 OpMemberName %_UniformBuffer 1 "colorGreen"
11 OpMemberName %_UniformBuffer 2 "colorRed"
12 OpName %_entrypoint_v "_entrypoint_v"
13 OpName %main "main"
14 OpName %v "v"
15 OpDecorate %sk_FragColor RelaxedPrecision
16 OpDecorate %sk_FragColor Location 0
17 OpDecorate %sk_FragColor Index 0
18 OpDecorate %sk_Clockwise BuiltIn FrontFacing
19 OpMemberDecorate %_UniformBuffer 0 Offset 0
20 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
21 OpMemberDecorate %_UniformBuffer 1 Offset 16
22 OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
23 OpMemberDecorate %_UniformBuffer 2 Offset 32
24 OpMemberDecorate %_UniformBuffer 2 RelaxedPrecision
25 OpDecorate %_UniformBuffer Block
26 OpDecorate %10 Binding 0
27 OpDecorate %10 DescriptorSet 0
28 OpDecorate %v RelaxedPrecision
29 OpDecorate %32 RelaxedPrecision
30 OpDecorate %33 RelaxedPrecision
31 OpDecorate %35 RelaxedPrecision
32 OpDecorate %36 RelaxedPrecision
33 OpDecorate %37 RelaxedPrecision
34 OpDecorate %38 RelaxedPrecision
35 OpDecorate %39 RelaxedPrecision
36 OpDecorate %40 RelaxedPrecision
37 OpDecorate %42 RelaxedPrecision
38 OpDecorate %44 RelaxedPrecision
39 OpDecorate %45 RelaxedPrecision
40 OpDecorate %46 RelaxedPrecision
41 OpDecorate %47 RelaxedPrecision
42 OpDecorate %48 RelaxedPrecision
43 OpDecorate %49 RelaxedPrecision
44 OpDecorate %50 RelaxedPrecision
45 OpDecorate %51 RelaxedPrecision
46 OpDecorate %52 RelaxedPrecision
47 OpDecorate %53 RelaxedPrecision
48 OpDecorate %54 RelaxedPrecision
49 OpDecorate %55 RelaxedPrecision
50 OpDecorate %56 RelaxedPrecision
51 OpDecorate %57 RelaxedPrecision
52 OpDecorate %58 RelaxedPrecision
53 OpDecorate %60 RelaxedPrecision
54 OpDecorate %61 RelaxedPrecision
55 OpDecorate %62 RelaxedPrecision
56 OpDecorate %63 RelaxedPrecision
57 OpDecorate %64 RelaxedPrecision
58 OpDecorate %65 RelaxedPrecision
59 OpDecorate %66 RelaxedPrecision
60 OpDecorate %67 RelaxedPrecision
61 OpDecorate %68 RelaxedPrecision
62 OpDecorate %69 RelaxedPrecision
63 OpDecorate %70 RelaxedPrecision
64 OpDecorate %71 RelaxedPrecision
65 OpDecorate %72 RelaxedPrecision
66 OpDecorate %73 RelaxedPrecision
67 OpDecorate %74 RelaxedPrecision
68 OpDecorate %75 RelaxedPrecision
69 OpDecorate %76 RelaxedPrecision
70 OpDecorate %77 RelaxedPrecision
71 OpDecorate %78 RelaxedPrecision
72 OpDecorate %79 RelaxedPrecision
73 OpDecorate %80 RelaxedPrecision
74 OpDecorate %81 RelaxedPrecision
75 OpDecorate %82 RelaxedPrecision
76 OpDecorate %83 RelaxedPrecision
77 OpDecorate %84 RelaxedPrecision
78 OpDecorate %85 RelaxedPrecision
79 OpDecorate %86 RelaxedPrecision
80 OpDecorate %87 RelaxedPrecision
81 OpDecorate %88 RelaxedPrecision
82 OpDecorate %89 RelaxedPrecision
83 OpDecorate %90 RelaxedPrecision
84 OpDecorate %91 RelaxedPrecision
85 OpDecorate %92 RelaxedPrecision
86 OpDecorate %93 RelaxedPrecision
87 OpDecorate %94 RelaxedPrecision
88 OpDecorate %95 RelaxedPrecision
89 OpDecorate %103 RelaxedPrecision
90 OpDecorate %106 RelaxedPrecision
91 OpDecorate %107 RelaxedPrecision
92 %float = OpTypeFloat 32
93 %v4float = OpTypeVector %float 4
94 %_ptr_Output_v4float = OpTypePointer Output %v4float
95 %sk_FragColor = OpVariable %_ptr_Output_v4float Output
96 %bool = OpTypeBool
97 %_ptr_Input_bool = OpTypePointer Input %bool
98 %sk_Clockwise = OpVariable %_ptr_Input_bool Input
99 %_UniformBuffer = OpTypeStruct %v4float %v4float %v4float
100 %_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
101 %10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
102 %void = OpTypeVoid
103 %15 = OpTypeFunction %void
104 %float_0 = OpConstant %float 0
105 %v2float = OpTypeVector %float 2
106 %19 = OpConstantComposite %v2float %float_0 %float_0
107 %_ptr_Function_v2float = OpTypePointer Function %v2float
108 %23 = OpTypeFunction %v4float %_ptr_Function_v2float
109 %_ptr_Function_v4float = OpTypePointer Function %v4float
110 %_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
111 %int = OpTypeInt 32 1
112 %int_0 = OpConstant %int 0
113 %float_1 = OpConstant %float 1
114 %41 = OpConstantComposite %v4float %float_0 %float_1 %float_1 %float_1
115 %v3float = OpTypeVector %float 3
116 %59 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
117 %true = OpConstantTrue %bool
118 %int_1 = OpConstant %int 1
119 %int_2 = OpConstant %int 2
120 %_entrypoint_v = OpFunction %void None %15
121 %16 = OpLabel
122 %20 = OpVariable %_ptr_Function_v2float Function
123 OpStore %20 %19
124 %22 = OpFunctionCall %v4float %main %20
125 OpStore %sk_FragColor %22
126 OpReturn
127 OpFunctionEnd
128 %main = OpFunction %v4float None %23
129 %24 = OpFunctionParameter %_ptr_Function_v2float
130 %25 = OpLabel
131 %v = OpVariable %_ptr_Function_v4float Function
132 %97 = OpVariable %_ptr_Function_v4float Function
133 %28 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
134 %32 = OpLoad %v4float %28
135 OpStore %v %32
136 %33 = OpCompositeExtract %float %32 0
137 %35 = OpCompositeConstruct %v4float %33 %float_1 %float_1 %float_1
138 OpStore %v %35
139 %36 = OpVectorShuffle %v2float %35 %35 0 1
140 %37 = OpCompositeExtract %float %36 0
141 %38 = OpCompositeExtract %float %36 1
142 %39 = OpCompositeConstruct %v4float %37 %38 %float_1 %float_1
143 OpStore %v %39
144 %40 = OpCompositeConstruct %v4float %37 %float_1 %float_1 %float_1
145 OpStore %v %40
146 OpStore %v %41
147 %42 = OpVectorShuffle %v3float %41 %41 0 1 2
148 %44 = OpCompositeExtract %float %42 0
149 %45 = OpCompositeExtract %float %42 1
150 %46 = OpCompositeExtract %float %42 2
151 %47 = OpCompositeConstruct %v4float %44 %45 %46 %float_1
152 OpStore %v %47
153 %48 = OpVectorShuffle %v2float %47 %47 0 1
154 %49 = OpCompositeExtract %float %48 0
155 %50 = OpCompositeExtract %float %48 1
156 %51 = OpCompositeConstruct %v4float %49 %50 %float_1 %float_1
157 OpStore %v %51
158 %52 = OpCompositeConstruct %v4float %49 %float_0 %float_1 %float_1
159 OpStore %v %52
160 %53 = OpCompositeConstruct %v4float %49 %float_1 %float_0 %float_1
161 OpStore %v %53
162 %54 = OpVectorShuffle %v2float %53 %53 1 2
163 %55 = OpCompositeExtract %float %54 0
164 %56 = OpCompositeExtract %float %54 1
165 %57 = OpCompositeConstruct %v4float %float_1 %55 %56 %float_1
166 OpStore %v %57
167 %58 = OpCompositeConstruct %v4float %float_0 %55 %float_1 %float_1
168 OpStore %v %58
169 OpStore %v %59
170 %60 = OpVectorShuffle %v3float %59 %59 0 1 2
171 %61 = OpCompositeExtract %float %60 0
172 %62 = OpCompositeExtract %float %60 1
173 %63 = OpCompositeExtract %float %60 2
174 %64 = OpCompositeConstruct %v4float %61 %62 %63 %float_1
175 OpStore %v %64
176 %65 = OpVectorShuffle %v2float %64 %64 0 1
177 %66 = OpCompositeExtract %float %65 0
178 %67 = OpCompositeExtract %float %65 1
179 %68 = OpCompositeConstruct %v4float %66 %67 %float_0 %float_1
180 OpStore %v %68
181 %69 = OpVectorShuffle %v2float %68 %68 0 1
182 %70 = OpCompositeExtract %float %69 0
183 %71 = OpCompositeExtract %float %69 1
184 %72 = OpCompositeConstruct %v4float %70 %71 %float_1 %float_0
185 OpStore %v %72
186 %73 = OpVectorShuffle %v2float %72 %72 2 3
187 %74 = OpCompositeExtract %float %73 0
188 %75 = OpCompositeExtract %float %73 1
189 %76 = OpCompositeConstruct %v4float %70 %float_1 %74 %75
190 OpStore %v %76
191 %77 = OpCompositeConstruct %v4float %70 %float_0 %74 %float_1
192 OpStore %v %77
193 %78 = OpCompositeConstruct %v4float %70 %float_1 %float_1 %float_1
194 OpStore %v %78
195 %79 = OpCompositeConstruct %v4float %70 %float_1 %float_0 %float_1
196 OpStore %v %79
197 %80 = OpVectorShuffle %v3float %79 %79 1 2 3
198 %81 = OpCompositeExtract %float %80 0
199 %82 = OpCompositeExtract %float %80 1
200 %83 = OpCompositeExtract %float %80 2
201 %84 = OpCompositeConstruct %v4float %float_1 %81 %82 %83
202 OpStore %v %84
203 %85 = OpVectorShuffle %v2float %84 %84 1 2
204 %86 = OpCompositeExtract %float %85 0
205 %87 = OpCompositeExtract %float %85 1
206 %88 = OpCompositeConstruct %v4float %float_0 %86 %87 %float_1
207 OpStore %v %88
208 %89 = OpCompositeConstruct %v4float %float_0 %86 %float_1 %float_1
209 OpStore %v %89
210 %90 = OpCompositeConstruct %v4float %float_1 %86 %float_1 %float_1
211 OpStore %v %90
212 %91 = OpVectorShuffle %v2float %90 %90 2 3
213 %92 = OpCompositeExtract %float %91 0
214 %93 = OpCompositeExtract %float %91 1
215 %94 = OpCompositeConstruct %v4float %float_0 %float_0 %92 %93
216 OpStore %v %94
217 %95 = OpCompositeConstruct %v4float %float_0 %float_0 %92 %float_1
218 OpStore %v %95
219 OpStore %v %41
220 OpSelectionMerge %100 None
221 OpBranchConditional %true %98 %99
222 %98 = OpLabel
223 %101 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
224 %103 = OpLoad %v4float %101
225 OpStore %97 %103
226 OpBranch %100
227 %99 = OpLabel
228 %104 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
229 %106 = OpLoad %v4float %104
230 OpStore %97 %106
231 OpBranch %100
232 %100 = OpLabel
233 %107 = OpLoad %v4float %97
234 OpReturnValue %107
235 OpFunctionEnd