1# Copyright 2020 Google LLC
2#
3# Use of this source code is governed by a BSD-style license that can be
4# found in the LICENSE file.
5
6# Things are easiest for everyone if these source paths are absolute.
7_tests = get_path_info("../tests", "abspath")
8
9sksl_fp_error_tests = [
10  "$_tests/sksl/errors/GrBadIn.fp",
11  "$_tests/sksl/errors/GrBothExplicitReturnAndSkOutColor.fp",
12  "$_tests/sksl/errors/GrCannotReturnWithSkOutColor.fp",
13  "$_tests/sksl/errors/GrMainParameterWrongType.fp",
14  "$_tests/sksl/errors/GrMainTooManyParameters.fp",
15  "$_tests/sksl/errors/GrNoFragmentProcessorConstruction.fp",
16  "$_tests/sksl/errors/GrNoFragmentProcessorExpressions.fp",
17  "$_tests/sksl/errors/GrNoFragmentProcessorLocals.fp",
18  "$_tests/sksl/errors/GrNoFragmentProcessorParams.fp",
19  "$_tests/sksl/errors/GrNoFragmentProcessorReturn.fp",
20  "$_tests/sksl/errors/GrRecursion.fp",
21]
22
23sksl_fp_tests = [
24  "$_tests/sksl/fp/GrChildProcessorAndGlobal.fp",
25  "$_tests/sksl/fp/GrChildProcessorFieldAccess.fp",
26  "$_tests/sksl/fp/GrChildProcessorInlineFieldAccess.fp",
27  "$_tests/sksl/fp/GrChildProcessorSampleCoords.fp",
28  "$_tests/sksl/fp/GrChildProcessorSampleMatrixAndCoords.fp",
29  "$_tests/sksl/fp/GrChildProcessorSampleMatrixConstant.fp",
30  "$_tests/sksl/fp/GrChildProcessorSampleMatrixConstantAndCoords.fp",
31  "$_tests/sksl/fp/GrChildProcessorSampleMatrixMultipleUniforms.fp",
32  "$_tests/sksl/fp/GrChildProcessorSampleMatrixSingleInUniform.fp",
33  "$_tests/sksl/fp/GrChildProcessorSampleMatrixSingleUniform.fp",
34  "$_tests/sksl/fp/GrChildProcessorSampleMatrixSingleUniformExpr.fp",
35  "$_tests/sksl/fp/GrChildProcessorWithInputExpression.fp",
36  "$_tests/sksl/fp/GrChildProcessors.fp",
37  "$_tests/sksl/fp/GrChildProcessorsWithInput.fp",
38  "$_tests/sksl/fp/GrConditionalInUniform.fp",
39  "$_tests/sksl/fp/GrFunction.fp",
40  "$_tests/sksl/fp/GrGrSLTypesAreSupported.fp",
41  "$_tests/sksl/fp/GrHelloWorld.fp",
42  "$_tests/sksl/fp/GrInUniform.fp",
43  "$_tests/sksl/fp/GrInUniformCType.fp",
44  "$_tests/sksl/fp/GrInlinedFunction.fp",
45  "$_tests/sksl/fp/GrKeyIn.fp",
46  "$_tests/sksl/fp/GrLayoutWhen.fp",
47  "$_tests/sksl/fp/GrMainCoords.fp",
48  "$_tests/sksl/fp/GrModuloOp.fp",
49  "$_tests/sksl/fp/GrNestedCall.fp",
50  "$_tests/sksl/fp/GrNestedChildProcessors.fp",
51  "$_tests/sksl/fp/GrNonInlinedInUniform.fp",
52  "$_tests/sksl/fp/GrNullableChildProcessor.fp",
53  "$_tests/sksl/fp/GrSectionClass.fp",
54  "$_tests/sksl/fp/GrSectionConstructor.fp",
55  "$_tests/sksl/fp/GrSectionConstructorParams.fp",
56  "$_tests/sksl/fp/GrSectionCpp.fp",
57  "$_tests/sksl/fp/GrSectionDumpInfo.fp",
58  "$_tests/sksl/fp/GrSectionEmitCode.fp",
59  "$_tests/sksl/fp/GrSectionFields.fp",
60  "$_tests/sksl/fp/GrSectionHeader.fp",
61  "$_tests/sksl/fp/GrSectionInitializers.fp",
62  "$_tests/sksl/fp/GrSectionMake.fp",
63  "$_tests/sksl/fp/GrSectionSetData.fp",
64  "$_tests/sksl/fp/GrSectionTest.fp",
65  "$_tests/sksl/fp/GrTrackedInUniform.fp",
66  "$_tests/sksl/fp/GrUniform.fp",
67  "$_tests/sksl/fp/GrUniformArrays.fp",
68  "$_tests/sksl/fp/GrUseExplicitReturn.fp",
69]
70
71sksl_error_tests = [
72  "$_tests/sksl/errors/ArgumentCountMismatch.sksl",
73  "$_tests/sksl/errors/ArgumentMismatch.sksl",
74  "$_tests/sksl/errors/ArgumentModifiers.sksl",
75  "$_tests/sksl/errors/ArrayTooManyDimensions.sksl",
76  "$_tests/sksl/errors/AssignmentTypeMismatch.sksl",
77  "$_tests/sksl/errors/BadCaps.sksl",
78  "$_tests/sksl/errors/BadFieldAccess.sksl",
79  "$_tests/sksl/errors/BadIndex.sksl",
80  "$_tests/sksl/errors/BadModifiers.sksl",
81  "$_tests/sksl/errors/BinaryTypeCoercion.sksl",
82  "$_tests/sksl/errors/BinaryTypeMismatch.sksl",
83  "$_tests/sksl/errors/BitShiftFloat.sksl",
84  "$_tests/sksl/errors/BitShiftFloatMatrix.sksl",
85  "$_tests/sksl/errors/BitShiftFloatVector.sksl",
86  "$_tests/sksl/errors/BreakOutsideLoop.sksl",
87  "$_tests/sksl/errors/CallNonFunction.sksl",
88  "$_tests/sksl/errors/CanExitWithoutReturningValue.sksl",
89  "$_tests/sksl/errors/ConstructorArgumentCount.sksl",
90  "$_tests/sksl/errors/ConstructorTypeMismatch.sksl",
91  "$_tests/sksl/errors/ContinueOutsideLoop.sksl",
92  "$_tests/sksl/errors/DivideByZero.sksl",
93  "$_tests/sksl/errors/DoTypeMismatch.sksl",
94  "$_tests/sksl/errors/DuplicateFunction.sksl",
95  "$_tests/sksl/errors/DuplicateOutput.sksl",
96  "$_tests/sksl/errors/DuplicateSymbol.sksl",
97  "$_tests/sksl/errors/EnumValueMustBeConstInt.sksl",
98  "$_tests/sksl/errors/ErrorsInDeadCode.sksl",
99  "$_tests/sksl/errors/FieldAfterRuntimeArray.sksl",
100  "$_tests/sksl/errors/ForTypeMismatch.sksl",
101  "$_tests/sksl/errors/GenericArgumentMismatch.sksl",
102  "$_tests/sksl/errors/IfTypeMismatch.sksl",
103  "$_tests/sksl/errors/InVarWithInitializerExpression.sksl",
104  "$_tests/sksl/errors/InterfaceBlockScope.sksl",
105  "$_tests/sksl/errors/InterfaceBlockStorageModifiers.sksl",
106  "$_tests/sksl/errors/InterfaceBlockWithNoMembers.sksl",
107  "$_tests/sksl/errors/InvalidAssignment.sksl",
108  "$_tests/sksl/errors/InvalidOutParams.sksl",
109  "$_tests/sksl/errors/InvalidUnary.sksl",
110  "$_tests/sksl/errors/ModifiersInStruct.sksl",
111  "$_tests/sksl/errors/OpenArray.sksl",
112  "$_tests/sksl/errors/Ossfuzz26700.sksl",
113  "$_tests/sksl/errors/Ossfuzz26759.sksl",
114  "$_tests/sksl/errors/OverflowIntLiteral.sksl",
115  "$_tests/sksl/errors/OverflowUintLiteral.sksl",
116  "$_tests/sksl/errors/ReturnDifferentType.sksl",
117  "$_tests/sksl/errors/ReturnFromVoid.sksl",
118  "$_tests/sksl/errors/ReturnMissingValue.sksl",
119  "$_tests/sksl/errors/ReturnTypeMismatch.sksl",
120  "$_tests/sksl/errors/SelfReferentialInitializerExpression.sksl",
121  "$_tests/sksl/errors/SpuriousFloat.sksl",
122  "$_tests/sksl/errors/StaticIfTest.sksl",
123  "$_tests/sksl/errors/StaticSwitchConditionalBreak.sksl",
124  "$_tests/sksl/errors/StaticSwitchTest.sksl",
125  "$_tests/sksl/errors/StructTooDeeplyNested.sksl",
126  "$_tests/sksl/errors/SwitchDuplicateCase.sksl",
127  "$_tests/sksl/errors/SwitchTypes.sksl",
128  "$_tests/sksl/errors/SwizzleConstantOutput.sksl",
129  "$_tests/sksl/errors/SwizzleMatrix.sksl",
130  "$_tests/sksl/errors/SwizzleOnlyLiterals.sksl",
131  "$_tests/sksl/errors/SwizzleOutOfBounds.sksl",
132  "$_tests/sksl/errors/SwizzleTooManyComponents.sksl",
133  "$_tests/sksl/errors/TernaryMismatch.sksl",
134  "$_tests/sksl/errors/UndeclaredFunction.sksl",
135  "$_tests/sksl/errors/UndefinedFunction.sksl",
136  "$_tests/sksl/errors/UndefinedSymbol.sksl",
137  "$_tests/sksl/errors/Unreachable.sksl",
138  "$_tests/sksl/errors/UnsupportedGLSLIdentifiers.sksl",
139  "$_tests/sksl/errors/UseWithoutInitializeArrayIndex.sksl",
140  "$_tests/sksl/errors/UseWithoutInitializeBinaryExpr.sksl",
141  "$_tests/sksl/errors/UseWithoutInitializeDeadIf.sksl",
142  "$_tests/sksl/errors/UseWithoutInitializeDeadSwitch.sksl",
143  "$_tests/sksl/errors/UseWithoutInitializeReturnValue.sksl",
144  "$_tests/sksl/errors/UseWithoutInitializeVarDecl.sksl",
145  "$_tests/sksl/errors/UsingInvalidValue.sksl",
146  "$_tests/sksl/errors/WhileTypeMismatch.sksl",
147]
148
149sksl_glsl_tests = [
150  "$_tests/sksl/glsl/ForceHighPrecision.sksl",
151  "$_tests/sksl/glsl/IncompleteShortIntPrecision.sksl",
152  "$_tests/sksl/glsl/LayoutQualifiers.sksl",
153  "$_tests/sksl/glsl/ShortIntPrecision.sksl",
154  "$_tests/sksl/glsl/TextureSharpenVersion110.sksl",
155  "$_tests/sksl/glsl/TextureVersion110.sksl",
156  "$_tests/sksl/glsl/UsesPrecisionModifiers.sksl",
157  "$_tests/sksl/glsl/Version110.sksl",
158  "$_tests/sksl/glsl/Version450Core.sksl",
159]
160
161sksl_shared_tests = [
162  "$_tests/sksl/shared/ArrayConstructors.sksl",
163  "$_tests/sksl/shared/ArrayIndexTypes.sksl",
164  "$_tests/sksl/shared/ArrayMaxDimensions.sksl",
165  "$_tests/sksl/shared/ArrayTypes.sksl",
166  "$_tests/sksl/shared/Assignment.sksl",
167  "$_tests/sksl/shared/BoolFolding.sksl",
168  "$_tests/sksl/shared/Caps.sksl",
169  "$_tests/sksl/shared/CastsRoundTowardZero.sksl",
170  "$_tests/sksl/shared/Clockwise.sksl",
171  "$_tests/sksl/shared/ComplexDelete.sksl",
172  "$_tests/sksl/shared/ConstArray.sksl",
173  "$_tests/sksl/shared/ConstVariableComparison.sksl",
174  "$_tests/sksl/shared/ConstantIf.sksl",
175  "$_tests/sksl/shared/Control.sksl",
176  "$_tests/sksl/shared/DeadDoWhileLoop.sksl",
177  "$_tests/sksl/shared/DeadIfStatement.sksl",
178  "$_tests/sksl/shared/DeadLoopVariable.sksl",
179  "$_tests/sksl/shared/DependentInitializers.sksl",
180  "$_tests/sksl/shared/DerivativesUnused.sksl",
181  "$_tests/sksl/shared/Discard.sksl",
182  "$_tests/sksl/shared/FloatFolding.sksl",
183  "$_tests/sksl/shared/FrExp.sksl",
184  "$_tests/sksl/shared/FragCoordsFlipY.sksl",
185  "$_tests/sksl/shared/FragCoordsNew.sksl",
186  "$_tests/sksl/shared/FragCoordsOld.sksl",
187  "$_tests/sksl/shared/FunctionArgumentMatch.sksl",
188  "$_tests/sksl/shared/FunctionPrototype.sksl",
189  "$_tests/sksl/shared/Functions.sksl",
190  "$_tests/sksl/shared/Geometry.geom",
191  "$_tests/sksl/shared/GeometryExtension.geom",
192  "$_tests/sksl/shared/GeometryGSInvocations.geom",
193  "$_tests/sksl/shared/GeometryNoGSInvocations.geom",
194  "$_tests/sksl/shared/GeometryNoGSInvocationsReorder.geom",
195  "$_tests/sksl/shared/Height.sksl",
196  "$_tests/sksl/shared/HelloWorld.sksl",
197  "$_tests/sksl/shared/Hex.sksl",
198  "$_tests/sksl/shared/InstanceID.vert",
199  "$_tests/sksl/shared/IntFolding.sksl",
200  "$_tests/sksl/shared/InterfaceBlockAnonymous.sksl",
201  "$_tests/sksl/shared/InterfaceBlockArray.sksl",
202  "$_tests/sksl/shared/InterfaceBlockNamed.sksl",
203  "$_tests/sksl/shared/Matrices.sksl",
204  "$_tests/sksl/shared/MatrixFolding.sksl",
205  "$_tests/sksl/shared/MultipleAssignments.sksl",
206  "$_tests/sksl/shared/NegatedVectorLiteral.sksl",
207  "$_tests/sksl/shared/NoFragCoordsPos.vert",
208  "$_tests/sksl/shared/NoFragCoordsPosRT.vert",
209  "$_tests/sksl/shared/NormalizationGeo.geom",
210  "$_tests/sksl/shared/NormalizationVert.vert",
211  "$_tests/sksl/shared/NumberConversions.sksl",
212  "$_tests/sksl/shared/Offset.sksl",
213  "$_tests/sksl/shared/Operators.sksl",
214  "$_tests/sksl/shared/Ossfuzz26167.sksl",
215  "$_tests/sksl/shared/OutParams.sksl",
216  "$_tests/sksl/shared/OutParamsTricky.sksl",
217  "$_tests/sksl/shared/RectangleTexture.sksl",
218  "$_tests/sksl/shared/ResizeMatrix.sksl",
219  "$_tests/sksl/shared/SampleMask.sksl",
220  "$_tests/sksl/shared/ScopedSymbol.sksl",
221  "$_tests/sksl/shared/ShortCircuitBoolFolding.sksl",
222  "$_tests/sksl/shared/StackingVectorCasts.sksl",
223  "$_tests/sksl/shared/StaticIf.sksl",
224  "$_tests/sksl/shared/StaticSwitch.sksl",
225  "$_tests/sksl/shared/StaticSwitchWithBreak.sksl",
226  "$_tests/sksl/shared/StaticSwitchWithBreakInsideBlock.sksl",
227  "$_tests/sksl/shared/StaticSwitchWithConditionalBreak.sksl",
228  "$_tests/sksl/shared/StaticSwitchWithConditionalBreakInsideBlock.sksl",
229  "$_tests/sksl/shared/StaticSwitchWithFallthroughA.sksl",
230  "$_tests/sksl/shared/StaticSwitchWithFallthroughB.sksl",
231  "$_tests/sksl/shared/StaticSwitchWithStaticConditionalBreak.sksl",
232  "$_tests/sksl/shared/StaticSwitchWithStaticConditionalBreakInsideBlock.sksl",
233  "$_tests/sksl/shared/Structs.sksl",
234  "$_tests/sksl/shared/StructMaxDepth.sksl",
235  "$_tests/sksl/shared/Switch.sksl",
236  "$_tests/sksl/shared/SwitchContainingDeadCode.sksl",
237  "$_tests/sksl/shared/SwitchWithFallthrough.sksl",
238  "$_tests/sksl/shared/SwizzleBoolConstants.sksl",
239  "$_tests/sksl/shared/SwizzleConstants.sksl",
240  "$_tests/sksl/shared/SwizzleLTRB.sksl",
241  "$_tests/sksl/shared/SwizzleOpt.sksl",
242  "$_tests/sksl/shared/SwizzleScalar.sksl",
243  "$_tests/sksl/shared/TernaryAsLValueEntirelyFoldable.sksl",
244  "$_tests/sksl/shared/TernaryAsLValueFoldableTest.sksl",
245  "$_tests/sksl/shared/Texture1D.sksl",
246  "$_tests/sksl/shared/Texture2D.sksl",
247  "$_tests/sksl/shared/TextureSharpen.sksl",
248  "$_tests/sksl/shared/UnaryPositiveNegative.sksl",
249  "$_tests/sksl/shared/UnusedVariables.sksl",
250  "$_tests/sksl/shared/VectorConstructors.sksl",
251  "$_tests/sksl/shared/VectorFolding.sksl",
252  "$_tests/sksl/shared/VertexID.vert",
253  "$_tests/sksl/shared/Width.sksl",
254]
255
256sksl_inliner_tests = [
257  "$_tests/sksl/inliner/DoWhileBodyMustBeInlinedIntoAScope.sksl",
258  "$_tests/sksl/inliner/DoWhileTestCannotBeInlined.sksl",
259  "$_tests/sksl/inliner/ForBodyMustBeInlinedIntoAScope.sksl",
260  "$_tests/sksl/inliner/ForInitializerExpressionsCanBeInlined.sksl",
261  "$_tests/sksl/inliner/ForWithReturnInsideCannotBeInlined.sksl",
262  "$_tests/sksl/inliner/ForWithoutReturnInsideCanBeInlined.sksl",
263  "$_tests/sksl/inliner/IfBodyMustBeInlinedIntoAScope.sksl",
264  "$_tests/sksl/inliner/IfElseBodyMustBeInlinedIntoAScope.sksl",
265  "$_tests/sksl/inliner/IfElseChainWithReturnsCanBeInlined.sksl",
266  "$_tests/sksl/inliner/IfTestCanBeInlined.sksl",
267  "$_tests/sksl/inliner/IfWithReturnsCanBeInlined.sksl",
268  "$_tests/sksl/inliner/InlineKeywordOverridesThreshold.sksl",
269  "$_tests/sksl/inliner/InlineThreshold.sksl",
270  "$_tests/sksl/inliner/InlineWithInoutArgument.sksl",
271  "$_tests/sksl/inliner/InlineWithModifiedArgument.sksl",
272  "$_tests/sksl/inliner/InlineWithNestedBigCalls.sksl",
273  "$_tests/sksl/inliner/InlineWithNestedCalls.sksl",
274  "$_tests/sksl/inliner/InlineWithUnmodifiedArgument.sksl",
275  "$_tests/sksl/inliner/InlineWithUnnecessaryBlocks.sksl",
276  "$_tests/sksl/inliner/InlinerAvoidsVariableNameOverlap.sksl",
277  "$_tests/sksl/inliner/InlinerManglesNames.sksl",
278  "$_tests/sksl/inliner/ShortCircuitEvaluationsCannotInlineRightHandSide.sksl",
279  "$_tests/sksl/inliner/SwitchWithCastCanBeInlined.sksl",
280  "$_tests/sksl/inliner/SwitchWithReturnInsideCannotBeInlined.sksl",
281  "$_tests/sksl/inliner/SwitchWithoutReturnInsideCanBeInlined.sksl",
282  "$_tests/sksl/inliner/SwizzleCanBeInlinedDirectly.sksl",
283  "$_tests/sksl/inliner/TernaryResultsCannotBeInlined.sksl",
284  "$_tests/sksl/inliner/TernaryTestCanBeInlined.sksl",
285  "$_tests/sksl/inliner/TrivialArgumentsInlineDirectly.sksl",
286  "$_tests/sksl/inliner/WhileBodyMustBeInlinedIntoAScope.sksl",
287  "$_tests/sksl/inliner/WhileTestCannotBeInlined.sksl",
288]
289
290sksl_blend_tests = [
291  "$_tests/sksl/blend/BlendClear.sksl",
292  "$_tests/sksl/blend/BlendColor.sksl",
293  "$_tests/sksl/blend/BlendColorBurn.sksl",
294  "$_tests/sksl/blend/BlendColorDodge.sksl",
295  "$_tests/sksl/blend/BlendDarken.sksl",
296  "$_tests/sksl/blend/BlendDifference.sksl",
297  "$_tests/sksl/blend/BlendDst.sksl",
298  "$_tests/sksl/blend/BlendDstAtop.sksl",
299  "$_tests/sksl/blend/BlendDstIn.sksl",
300  "$_tests/sksl/blend/BlendDstOut.sksl",
301  "$_tests/sksl/blend/BlendDstOver.sksl",
302  "$_tests/sksl/blend/BlendExclusion.sksl",
303  "$_tests/sksl/blend/BlendHardLight.sksl",
304  "$_tests/sksl/blend/BlendHue.sksl",
305  "$_tests/sksl/blend/BlendLighten.sksl",
306  "$_tests/sksl/blend/BlendLuminosity.sksl",
307  "$_tests/sksl/blend/BlendModulate.sksl",
308  "$_tests/sksl/blend/BlendMultiply.sksl",
309  "$_tests/sksl/blend/BlendOverlay.sksl",
310  "$_tests/sksl/blend/BlendPlus.sksl",
311  "$_tests/sksl/blend/BlendSaturation.sksl",
312  "$_tests/sksl/blend/BlendScreen.sksl",
313  "$_tests/sksl/blend/BlendSoftLight.sksl",
314  "$_tests/sksl/blend/BlendSrc.sksl",
315  "$_tests/sksl/blend/BlendSrcAtop.sksl",
316  "$_tests/sksl/blend/BlendSrcIn.sksl",
317  "$_tests/sksl/blend/BlendSrcOut.sksl",
318  "$_tests/sksl/blend/BlendSrcOver.sksl",
319  "$_tests/sksl/blend/BlendXor.sksl",
320]
321
322sksl_settings_tests = [
323  "$_tests/sksl/glsl/TypePrecision.sksl",
324  "$_tests/sksl/inliner/InlinerCanBeDisabled.sksl",
325  "$_tests/sksl/inliner/InlinerWrapsEarlyReturnsWithDoWhileBlock.sksl",
326  "$_tests/sksl/shared/CrossIntrinsic.sksl",
327  "$_tests/sksl/shared/Derivatives.sksl",
328  "$_tests/sksl/shared/DerivativesFlipY.sksl",
329  "$_tests/sksl/workarounds/AbsInt.sksl",
330  "$_tests/sksl/workarounds/BlendGuardedDivide.sksl",
331  "$_tests/sksl/workarounds/BlendModesAllZeroVec.sksl",
332  "$_tests/sksl/workarounds/FractNegative.sksl",
333  "$_tests/sksl/workarounds/FragCoords.sksl",
334  "$_tests/sksl/workarounds/LoopCondition.sksl",
335  "$_tests/sksl/workarounds/MinAndAbsTogether.sksl",
336  "$_tests/sksl/workarounds/NegatedAtan.sksl",
337  "$_tests/sksl/workarounds/PowWithConstantExponent.sksl",
338  "$_tests/sksl/workarounds/RewriteDoWhileLoops.sksl",
339  "$_tests/sksl/workarounds/TernaryShortCircuit.sksl",
340]
341
342# Tests in sksl_fp_tests_sources will be compiled with --settings on, and are expected to generate
343# a .cpp and a .h output file.
344sksl_fp_tests_sources = sksl_fp_error_tests + sksl_fp_tests
345
346# Tests in sksl_glsl_tests_sources will be compiled with --settings on, and are expected to generate
347# a .glsl output file.
348sksl_glsl_tests_sources =
349    sksl_error_tests + sksl_glsl_tests + sksl_inliner_tests + sksl_shared_tests
350
351# Tests in sksl_glsl_settings_tests_sources will be compiled twice, once with --settings and once
352# using --nosettings. In the latter mode, StandaloneSettings is appended to the output filename.
353sksl_glsl_settings_tests_sources = sksl_blend_tests + sksl_settings_tests
354
355# Tests in sksl_metal_tests_sources will be compiled with --settings on, and are expected to
356# generate a .metal output file.
357sksl_metal_tests_sources = sksl_blend_tests + sksl_shared_tests
358