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
6sksl_fp_error_tests = [
7  "/sksl/errors/GrBadIn.fp",
8  "/sksl/errors/GrMainParameterWrongType.fp",
9  "/sksl/errors/GrMainTooManyParameters.fp",
10  "/sksl/errors/GrNoFragmentProcessorConstruction.fp",
11  "/sksl/errors/GrNoFragmentProcessorExpressions.fp",
12  "/sksl/errors/GrNoFragmentProcessorLocals.fp",
13  "/sksl/errors/GrNoFragmentProcessorParams.fp",
14  "/sksl/errors/GrNoFragmentProcessorReturn.fp",
15  "/sksl/errors/GrRecursion.fp",
16]
17
18sksl_dsl_fp_tests = [
19  "/sksl/dslfp/GrDSLFPTest_Builtins.fp",
20  "/sksl/dslfp/GrDSLFPTest_DoStatement.fp",
21  "/sksl/dslfp/GrDSLFPTest_ForStatement.fp",
22  "/sksl/dslfp/GrDSLFPTest_HelloWorld.fp",
23  "/sksl/dslfp/GrDSLFPTest_IfStatement.fp",
24  "/sksl/dslfp/GrDSLFPTest_Sample.fp",
25  "/sksl/dslfp/GrDSLFPTest_SwitchStatement.fp",
26  "/sksl/dslfp/GrDSLFPTest_Swizzle.fp",
27  "/sksl/dslfp/GrDSLFPTest_Ternary.fp",
28  "/sksl/dslfp/GrDSLFPTest_WhileStatement.fp",
29]
30
31sksl_fp_tests = [
32  "/sksl/fp/GrChildProcessorAndGlobal.fp",
33  "/sksl/fp/GrChildProcessorSampleCoords.fp",
34  "/sksl/fp/GrChildProcessorSampleWithColor.fp",
35  "/sksl/fp/GrChildProcessorWithInputExpression.fp",
36  "/sksl/fp/GrChildProcessors.fp",
37  "/sksl/fp/GrChildProcessorsWithInput.fp",
38  "/sksl/fp/GrConditionalInUniform.fp",
39  "/sksl/fp/GrFunction.fp",
40  "/sksl/fp/GrFunctionArgTypes.fp",
41  "/sksl/fp/GrFunctionReturnTypes.fp",
42  "/sksl/fp/GrGrSLTypesAreSupported.fp",
43  "/sksl/fp/GrHelloWorld.fp",
44  "/sksl/fp/GrInUniform.fp",
45  "/sksl/fp/GrInUniformCType.fp",
46  "/sksl/fp/GrInlinedFunction.fp",
47  "/sksl/fp/GrKeyIn.fp",
48  "/sksl/fp/GrLayoutWhen.fp",
49  "/sksl/fp/GrMainCoords.fp",
50  "/sksl/fp/GrModuloOp.fp",
51  "/sksl/fp/GrNestedCall.fp",
52  "/sksl/fp/GrNestedChildProcessors.fp",
53  "/sksl/fp/GrNonInlinedInUniform.fp",
54  "/sksl/fp/GrSectionClass.fp",
55  "/sksl/fp/GrSectionConstructor.fp",
56  "/sksl/fp/GrSectionConstructorParams.fp",
57  "/sksl/fp/GrSectionCpp.fp",
58  "/sksl/fp/GrSectionDumpInfo.fp",
59  "/sksl/fp/GrSectionEmitCode.fp",
60  "/sksl/fp/GrSectionFields.fp",
61  "/sksl/fp/GrSectionHeader.fp",
62  "/sksl/fp/GrSectionInitializers.fp",
63  "/sksl/fp/GrSectionMake.fp",
64  "/sksl/fp/GrSectionSetData.fp",
65  "/sksl/fp/GrSectionTest.fp",
66  "/sksl/fp/GrTrackedInUniform.fp",
67  "/sksl/fp/GrUniform.fp",
68  "/sksl/fp/GrUniformArrays.fp",
69  "/sksl/fp/GrUseExplicitReturn.fp",
70]
71
72sksl_error_tests = [
73  "/sksl/errors/ArgumentCountMismatch.sksl",
74  "/sksl/errors/ArgumentMismatch.sksl",
75  "/sksl/errors/ArgumentModifiers.sksl",
76  "/sksl/errors/ArrayConstructorElementCount.sksl",
77  "/sksl/errors/ArrayIndexOutOfRange.sksl",
78  "/sksl/errors/ArrayOfVoid.sksl",
79  "/sksl/errors/ArrayOfVoidInStruct.sksl",
80  "/sksl/errors/ArrayReturnTypes.sksl",
81  "/sksl/errors/ArraySplitDimensions.sksl",
82  "/sksl/errors/ArraySplitDimensionsInFuncBody.sksl",
83  "/sksl/errors/ArraySplitDimensionsInFuncDecl.sksl",
84  "/sksl/errors/ArraySplitDimensionsInStruct.sksl",
85  "/sksl/errors/ArrayTooManyDimensions.sksl",
86  "/sksl/errors/ArrayTooManyDimensionsInFuncBody.sksl",
87  "/sksl/errors/ArrayTooManyDimensionsInFuncDecl.sksl",
88  "/sksl/errors/ArrayTooManyDimensionsInStruct.sksl",
89  "/sksl/errors/ArrayTypeTooManyDimensions.sksl",
90  "/sksl/errors/ArrayTypeTooManyDimensionsInFuncBody.sksl",
91  "/sksl/errors/ArrayTypeTooManyDimensionsInFuncDecl.sksl",
92  "/sksl/errors/ArrayTypeTooManyDimensionsInStruct.sksl",
93  "/sksl/errors/ArrayUnspecifiedDimensions.sksl",
94  "/sksl/errors/AssignmentTypeMismatch.sksl",
95  "/sksl/errors/BadCaps.sksl",
96  "/sksl/errors/BadConstInitializers.sksl",
97  "/sksl/errors/BadFieldAccess.sksl",
98  "/sksl/errors/BadIndex.sksl",
99  "/sksl/errors/BadModifiers.sksl",
100  "/sksl/errors/BinaryInvalidType.sksl",
101  "/sksl/errors/BinaryTypeCoercion.sksl",
102  "/sksl/errors/BinaryTypeMismatch.sksl",
103  "/sksl/errors/BitShiftFloat.sksl",
104  "/sksl/errors/BitShiftFloatMatrix.sksl",
105  "/sksl/errors/BitShiftFloatVector.sksl",
106  "/sksl/errors/BooleanArithmetic.sksl",
107  "/sksl/errors/BreakOutsideLoop.sksl",
108  "/sksl/errors/CallNonFunction.sksl",
109  "/sksl/errors/CanExitWithoutReturningValue.sksl",
110  "/sksl/errors/ConstructorArgumentCount.sksl",
111  "/sksl/errors/ConstructorTypeMismatch.sksl",
112  "/sksl/errors/ContinueOutsideLoop.sksl",
113  "/sksl/errors/DivideByZero.sksl",
114  "/sksl/errors/DoTypeMismatch.sksl",
115  "/sksl/errors/DuplicateFunction.sksl",
116  "/sksl/errors/DuplicateOutput.sksl",
117  "/sksl/errors/DuplicateSymbol.sksl",
118  "/sksl/errors/EmptyArray.sksl",
119  "/sksl/errors/EmptyStruct.sksl",
120  "/sksl/errors/EnumTypeCoercion.sksl",
121  "/sksl/errors/EnumValueMustBeConstInt.sksl",
122  "/sksl/errors/ErrorsInDeadCode.sksl",
123  "/sksl/errors/FloatRemainder.sksl",
124  "/sksl/errors/ForInitStmt.sksl",
125  "/sksl/errors/ForTypeMismatch.sksl",
126  "/sksl/errors/GenericArgumentMismatch.sksl",
127  "/sksl/errors/IfTypeMismatch.sksl",
128  "/sksl/errors/InVarWithInitializerExpression.sksl",
129  "/sksl/errors/InterfaceBlockScope.sksl",
130  "/sksl/errors/InterfaceBlockStorageModifiers.sksl",
131  "/sksl/errors/InterfaceBlockWithNoMembers.sksl",
132  "/sksl/errors/InvalidAssignment.sksl",
133  "/sksl/errors/InvalidOutParams.sksl",
134  "/sksl/errors/InvalidToken.sksl",
135  "/sksl/errors/InvalidUnary.sksl",
136  "/sksl/errors/LayoutInFunctions.sksl",
137  "/sksl/errors/LayoutMultiplePrimitiveTypes.sksl",
138  "/sksl/errors/LayoutRepeatedQualifiers.sksl",
139  "/sksl/errors/MismatchedNumbers.sksl",
140  "/sksl/errors/ModifiersInStruct.sksl",
141  "/sksl/errors/OpaqueTypeAssignment.sksl",
142  "/sksl/errors/OpaqueTypeConstruction.sksl",
143  "/sksl/errors/OpaqueTypeInArray.sksl",
144  "/sksl/errors/OpaqueTypeInInterfaceBlock.sksl",
145  "/sksl/errors/OpaqueTypeInStruct.sksl",
146  "/sksl/errors/OpenArray.sksl",
147  "/sksl/errors/Ossfuzz26700.sksl",
148  "/sksl/errors/Ossfuzz27614.sksl",
149  "/sksl/errors/Ossfuzz27650.sksl",
150  "/sksl/errors/Ossfuzz27663.sksl",
151  "/sksl/errors/Ossfuzz28050.sksl",
152  "/sksl/errors/Ossfuzz29444.sksl",
153  "/sksl/errors/Ossfuzz29845.sksl",
154  "/sksl/errors/Ossfuzz29849.sksl",
155  "/sksl/errors/Ossfuzz31410.sksl",
156  "/sksl/errors/Ossfuzz31469.sksl",
157  "/sksl/errors/Ossfuzz32587.sksl",
158  "/sksl/errors/Ossfuzz32851.sksl",
159  "/sksl/errors/OverflowFloatLiteral.sksl",
160  "/sksl/errors/OverflowIntLiteral.sksl",
161  "/sksl/errors/OverflowParamArraySize.sksl",
162  "/sksl/errors/OverflowUintLiteral.sksl",
163  "/sksl/errors/PrototypeInFuncBody.sksl",
164  "/sksl/errors/PrivateTypes.sksl",
165  "/sksl/errors/RedeclareBasicType.sksl",
166  "/sksl/errors/RedeclareEnum.sksl",
167  "/sksl/errors/RedeclareSamplerType.sksl",
168  "/sksl/errors/RedeclareStruct.sksl",
169  "/sksl/errors/RedeclareStructTypeWithName.sksl",
170  "/sksl/errors/RedeclareUserType.sksl",
171  "/sksl/errors/RedeclareVariable.sksl",
172  "/sksl/errors/ReturnDifferentType.sksl",
173  "/sksl/errors/ReturnFromVoid.sksl",
174  "/sksl/errors/ReturnMissingValue.sksl",
175  "/sksl/errors/ReturnTypeMismatch.sksl",
176  "/sksl/errors/SelfReferentialInitializerExpression.sksl",
177  "/sksl/errors/SpuriousFloat.sksl",
178  "/sksl/errors/StaticIfTest.sksl",
179  "/sksl/errors/StaticSwitchConditionalBreak.sksl",
180  "/sksl/errors/StaticSwitchTest.sksl",
181  "/sksl/errors/StaticSwitchWithConditionalBreak.sksl",
182  "/sksl/errors/StaticSwitchWithConditionalContinue.sksl",
183  "/sksl/errors/StaticSwitchWithConditionalReturn.sksl",
184  "/sksl/errors/StructNameWithoutIdentifier.sksl",
185  "/sksl/errors/StructTooDeeplyNested.sksl",
186  "/sksl/errors/SwitchDuplicateCase.sksl",
187  "/sksl/errors/SwitchDuplicateDefault.sksl",
188  "/sksl/errors/SwitchTypes.sksl",
189  "/sksl/errors/SwizzleConstantOutput.sksl",
190  "/sksl/errors/SwizzleMatrix.sksl",
191  "/sksl/errors/SwizzleOnlyLiterals.sksl",
192  "/sksl/errors/SwizzleOutOfBounds.sksl",
193  "/sksl/errors/SwizzleTooManyComponents.sksl",
194  "/sksl/errors/TernaryMismatch.sksl",
195  "/sksl/errors/UndeclaredFunction.sksl",
196  "/sksl/errors/UndefinedFunction.sksl",
197  "/sksl/errors/UndefinedSymbol.sksl",
198  "/sksl/errors/UniformVarWithInitializerExpression.sksl",
199  "/sksl/errors/UnknownDivideByZero.sksl",
200  "/sksl/errors/UnsupportedGLSLIdentifiers.sksl",
201  "/sksl/errors/UnscopedVariableInDoWhile.sksl",
202  "/sksl/errors/UnscopedVariableInElse.sksl",
203  "/sksl/errors/UnscopedVariableInFor.sksl",
204  "/sksl/errors/UnscopedVariableInIf.sksl",
205  "/sksl/errors/UnscopedVariableInWhile.sksl",
206  "/sksl/errors/UsingInvalidValue.sksl",
207  "/sksl/errors/WhileTypeMismatch.sksl",
208]
209
210sksl_glsl_tests = [
211  "/sksl/glsl/ForceHighPrecision.sksl",
212  "/sksl/glsl/IncompleteShortIntPrecision.sksl",
213  "/sksl/glsl/LayoutQualifiers.sksl",
214  "/sksl/glsl/ShortIntPrecision.sksl",
215  "/sksl/glsl/TextureSharpenVersion110.sksl",
216  "/sksl/glsl/TextureVersion110.sksl",
217  "/sksl/glsl/UsesPrecisionModifiers.sksl",
218  "/sksl/glsl/Version110.sksl",
219  "/sksl/glsl/Version450Core.sksl",
220]
221
222sksl_metal_tests = [
223  "/sksl/metal/CastHalf4ToMat2x2.sksl",
224  "/sksl/metal/CastMat2x2ToMat3x3.sksl",
225  "/sksl/metal/CastMat2x3ToMat4x4.sksl",
226  "/sksl/metal/CastMat4x4ToMat3x4.sksl",
227  "/sksl/metal/CastMat4x4ToMat4x3.sksl",
228  "/sksl/metal/NumericGlobals.sksl",
229  "/sksl/metal/OpaqueTypeInInterfaceBlock.sksl",
230  "/sksl/metal/OpaqueTypeInStruct.sksl",
231  "/sksl/metal/OutParams.sksl",
232  "/sksl/metal/OutVarsRequireLocation.sksl",
233  "/sksl/metal/SamplerGlobals.sksl",
234  "/sksl/metal/SwizzleHelper.sksl",
235]
236
237sksl_spirv_tests = [
238  "/sksl/spirv/ConstantVectorFromVector.sksl",
239  "/sksl/spirv/InterfaceBlockPushConstant.sksl",
240  "/sksl/spirv/LayoutMultipleOf4.sksl",
241  "/sksl/spirv/LayoutOutOfOrder.sksl",
242  "/sksl/spirv/OpaqueTypeInArray.sksl",
243  "/sksl/workarounds/RewriteMatrixVectorMultiply.sksl",
244  "/sksl/errors/UndefinedFunction.sksl",
245  "/sksl/errors/UnusedInterfaceBlock.sksl",
246]
247
248sksl_shared_tests = [
249  "/sksl/intrinsics/AbsFloat.sksl",
250  "/sksl/intrinsics/AbsInt.sksl",
251  "/sksl/intrinsics/Acos.sksl",
252  "/sksl/intrinsics/Acosh.sksl",
253  "/sksl/intrinsics/All.sksl",
254  "/sksl/intrinsics/Any.sksl",
255  "/sksl/intrinsics/Asin.sksl",
256  "/sksl/intrinsics/Asinh.sksl",
257  "/sksl/intrinsics/Atan.sksl",
258  "/sksl/intrinsics/Atanh.sksl",
259  "/sksl/intrinsics/BitCount.sksl",
260  "/sksl/intrinsics/Ceil.sksl",
261  "/sksl/intrinsics/ClampFloat.sksl",
262  "/sksl/intrinsics/ClampInt.sksl",
263  "/sksl/intrinsics/Cos.sksl",
264  "/sksl/intrinsics/Cosh.sksl",
265  "/sksl/intrinsics/Cross.sksl",
266  "/sksl/intrinsics/CrossNoInline.sksl",
267  "/sksl/intrinsics/Degrees.sksl",
268  "/sksl/intrinsics/Determinant.sksl",
269  "/sksl/intrinsics/DFdx.sksl",
270  "/sksl/intrinsics/DFdy.sksl",
271  "/sksl/intrinsics/Distance.sksl",
272  "/sksl/intrinsics/Dot.sksl",
273  "/sksl/intrinsics/Equal.sksl",
274  "/sksl/intrinsics/Exp.sksl",
275  "/sksl/intrinsics/Exp2.sksl",
276  "/sksl/intrinsics/FaceForward.sksl",
277  "/sksl/intrinsics/FindLSB.sksl",
278  "/sksl/intrinsics/FindMSB.sksl",
279  "/sksl/intrinsics/FloatBitsToInt.sksl",
280  "/sksl/intrinsics/FloatBitsToUint.sksl",
281  "/sksl/intrinsics/Floor.sksl",
282  "/sksl/intrinsics/Fma.sksl",
283  "/sksl/intrinsics/Fract.sksl",
284  "/sksl/intrinsics/Frexp.sksl",
285  "/sksl/intrinsics/Fwidth.sksl",
286  "/sksl/intrinsics/GreaterThan.sksl",
287  "/sksl/intrinsics/GreaterThanEqual.sksl",
288  "/sksl/intrinsics/IntBitsToFloat.sksl",
289  "/sksl/intrinsics/Inverse.sksl",
290  "/sksl/intrinsics/Inversesqrt.sksl",
291  "/sksl/intrinsics/IsInf.sksl",
292  "/sksl/intrinsics/IsNan.sksl",
293  "/sksl/intrinsics/Ldexp.sksl",
294  "/sksl/intrinsics/Length.sksl",
295  "/sksl/intrinsics/LessThan.sksl",
296  "/sksl/intrinsics/LessThanEqual.sksl",
297  "/sksl/intrinsics/Log.sksl",
298  "/sksl/intrinsics/Log2.sksl",
299  "/sksl/intrinsics/MatrixCompMult.sksl",
300  "/sksl/intrinsics/MaxFloat.sksl",
301  "/sksl/intrinsics/MaxInt.sksl",
302  "/sksl/intrinsics/MinFloat.sksl",
303  "/sksl/intrinsics/MinInt.sksl",
304  "/sksl/intrinsics/MixFloat.sksl",
305  "/sksl/intrinsics/MixBool.sksl",
306  "/sksl/intrinsics/Mod.sksl",
307  "/sksl/intrinsics/Modf.sksl",
308  "/sksl/intrinsics/Normalize.sksl",
309  "/sksl/intrinsics/Not.sksl",
310  "/sksl/intrinsics/NotEqual.sksl",
311  "/sksl/intrinsics/OuterProduct.sksl",
312  "/sksl/intrinsics/Pack.sksl",
313  "/sksl/intrinsics/Pow.sksl",
314  "/sksl/intrinsics/Radians.sksl",
315  "/sksl/intrinsics/Reflect.sksl",
316  "/sksl/intrinsics/Refract.sksl",
317  "/sksl/intrinsics/Round.sksl",
318  "/sksl/intrinsics/RoundEven.sksl",
319  "/sksl/intrinsics/Saturate.sksl",
320  "/sksl/intrinsics/SignFloat.sksl",
321  "/sksl/intrinsics/SignInt.sksl",
322  "/sksl/intrinsics/Sin.sksl",
323  "/sksl/intrinsics/Sinh.sksl",
324  "/sksl/intrinsics/Smoothstep.sksl",
325  "/sksl/intrinsics/Sqrt.sksl",
326  "/sksl/intrinsics/Step.sksl",
327  "/sksl/intrinsics/Tan.sksl",
328  "/sksl/intrinsics/Tanh.sksl",
329  "/sksl/intrinsics/Transpose.sksl",
330  "/sksl/intrinsics/Trunc.sksl",
331  "/sksl/intrinsics/UintBitsToFloat.sksl",
332  "/sksl/intrinsics/Unpack.sksl",
333  "/sksl/shared/ArrayComparison.sksl",
334  "/sksl/shared/ArrayConstructors.sksl",
335  "/sksl/shared/ArrayIndexTypes.sksl",
336  "/sksl/shared/ArrayTypes.sksl",
337  "/sksl/shared/Assignment.sksl",
338  "/sksl/shared/Caps.sksl",
339  "/sksl/shared/CastsRoundTowardZero.sksl",
340  "/sksl/shared/Clockwise.sksl",
341  "/sksl/shared/CommaMixedTypes.sksl",
342  "/sksl/shared/CommaSideEffects.sksl",
343  "/sksl/shared/ComplexDelete.sksl",
344  "/sksl/shared/ConstArray.sksl",
345  "/sksl/shared/ConstVariableComparison.sksl",
346  "/sksl/shared/ConstantIf.sksl",
347  "/sksl/shared/Control.sksl",
348  "/sksl/shared/DeadDoWhileLoop.sksl",
349  "/sksl/shared/DeadIfStatement.sksl",
350  "/sksl/shared/DeadLoopVariable.sksl",
351  "/sksl/shared/DeadStripFunctions.sksl",
352  "/sksl/shared/DependentInitializers.sksl",
353  "/sksl/shared/DerivativesUnused.sksl",
354  "/sksl/shared/Discard.sksl",
355  "/sksl/shared/DoWhileControlFlow.sksl",
356  "/sksl/shared/EmptyBlocksES2.sksl",
357  "/sksl/shared/EmptyBlocksES3.sksl",
358  "/sksl/shared/Enum.sksl",
359  "/sksl/shared/ForLoopControlFlow.sksl",
360  "/sksl/shared/ForLoopMultipleInit.sksl",
361  "/sksl/shared/FragCoordsFlipY.sksl",
362  "/sksl/shared/FragCoordsNew.sksl",
363  "/sksl/shared/FragCoordsOld.sksl",
364  "/sksl/shared/FunctionArgTypeMatch.sksl",
365  "/sksl/shared/FunctionReturnTypeMatch.sksl",
366  "/sksl/shared/FunctionPrototype.sksl",
367  "/sksl/shared/Functions.sksl",
368  "/sksl/shared/GaussianBlur.sksl",
369  "/sksl/shared/GeometricIntrinsics.sksl",
370  "/sksl/shared/Geometry.geom",
371  "/sksl/shared/GeometryExtension.geom",
372  "/sksl/shared/GeometryGSInvocations.geom",
373  "/sksl/shared/GeometryNoGSInvocations.geom",
374  "/sksl/shared/GeometryNoGSInvocationsReorder.geom",
375  "/sksl/shared/HelloWorld.sksl",
376  "/sksl/shared/Hex.sksl",
377  "/sksl/shared/HexUnsigned.sksl",
378  "/sksl/shared/InstanceID.vert",
379  "/sksl/shared/InterfaceBlockNamed.sksl",
380  "/sksl/shared/InterfaceBlockNamedArray.sksl",
381  "/sksl/shared/Matrices.sksl",
382  "/sksl/shared/MatricesNonsquare.sksl",
383  "/sksl/shared/MatrixEquality.sksl",
384  "/sksl/shared/MultipleAssignments.sksl",
385  "/sksl/shared/NegatedVectorLiteral.sksl",
386  "/sksl/shared/NoFragCoordsPos.vert",
387  "/sksl/shared/NoFragCoordsPosRT.vert",
388  "/sksl/shared/NormalizationGeo.geom",
389  "/sksl/shared/NormalizationVert.vert",
390  "/sksl/shared/NumberCasts.sksl",
391  "/sksl/shared/NumberConversions.sksl",
392  "/sksl/shared/Offset.sksl",
393  "/sksl/shared/OperatorsES2.sksl",
394  "/sksl/shared/OperatorsES3.sksl",
395  "/sksl/shared/Ossfuzz26167.sksl",
396  "/sksl/shared/Ossfuzz26759.sksl",
397  "/sksl/shared/Ossfuzz28794.sksl",
398  "/sksl/shared/Ossfuzz28904.sksl",
399  "/sksl/shared/Ossfuzz29085.sksl",
400  "/sksl/shared/Ossfuzz29494.sksl",
401  "/sksl/shared/OutParams.sksl",
402  "/sksl/shared/OutParamsNoInline.sksl",
403  "/sksl/shared/OutParamsTricky.sksl",
404  "/sksl/shared/RectangleTexture.sksl",
405  "/sksl/shared/ResizeMatrix.sksl",
406  "/sksl/shared/ResizeMatrixNonsquare.sksl",
407  "/sksl/shared/ReturnBadTypeFromMain.sksl",
408  "/sksl/shared/ReturnColorFromMain.sksl",
409  "/sksl/shared/ReturnsValueOnEveryPathES2.sksl",
410  "/sksl/shared/ReturnsValueOnEveryPathES3.sksl",
411  "/sksl/shared/SampleLocations.vert",
412  "/sksl/shared/ScalarConversionConstructorsES2.sksl",
413  "/sksl/shared/ScalarConversionConstructorsES3.sksl",
414  "/sksl/shared/ScopedSymbol.sksl",
415  "/sksl/shared/StackingVectorCasts.sksl",
416  "/sksl/shared/StaticIf.sksl",
417  "/sksl/shared/StaticSwitch.sksl",
418  "/sksl/shared/StaticSwitchWithBreak.sksl",
419  "/sksl/shared/StaticSwitchWithBreakInsideBlock.sksl",
420  "/sksl/shared/StaticSwitchWithConditionalBreak.sksl",
421  "/sksl/shared/StaticSwitchWithConditionalBreakInsideBlock.sksl",
422  "/sksl/shared/StaticSwitchWithContinue.sksl",
423  "/sksl/shared/StaticSwitchWithFallthroughA.sksl",
424  "/sksl/shared/StaticSwitchWithFallthroughB.sksl",
425  "/sksl/shared/StaticSwitchWithStaticConditionalBreak.sksl",
426  "/sksl/shared/StaticSwitchWithStaticConditionalBreakInsideBlock.sksl",
427  "/sksl/shared/Structs.sksl",
428  "/sksl/shared/StructsInFunctions.sksl",
429  "/sksl/shared/StructMaxDepth.sksl",
430  "/sksl/shared/Switch.sksl",
431  "/sksl/shared/SwitchContainingDeadCode.sksl",
432  "/sksl/shared/SwitchWithFallthrough.sksl",
433  "/sksl/shared/SwizzleBoolConstants.sksl",
434  "/sksl/shared/SwizzleByConstantIndex.sksl",
435  "/sksl/shared/SwizzleByIndex.sksl",
436  "/sksl/shared/SwizzleConstants.sksl",
437  "/sksl/shared/SwizzleLTRB.sksl",
438  "/sksl/shared/SwizzleOpt.sksl",
439  "/sksl/shared/SwizzleScalar.sksl",
440  "/sksl/shared/TernaryAsLValueEntirelyFoldable.sksl",
441  "/sksl/shared/TernaryAsLValueFoldableTest.sksl",
442  "/sksl/shared/TernaryExpression.sksl",
443  "/sksl/shared/Texture1D.sksl",
444  "/sksl/shared/Texture2D.sksl",
445  "/sksl/shared/TextureSharpen.sksl",
446  "/sksl/shared/UnaryPositiveNegative.sksl",
447  "/sksl/shared/UniformArray.sksl",
448  "/sksl/shared/UniformBuffers.sksl",
449  "/sksl/shared/Uniforms.sksl",
450  "/sksl/shared/UnusedVariables.sksl",
451  "/sksl/shared/VectorConstructors.sksl",
452  "/sksl/shared/VectorScalarMath.sksl",
453  "/sksl/shared/VertexEarlyReturn.vert",
454  "/sksl/shared/VertexID.vert",
455  "/sksl/shared/WhileLoopControlFlow.sksl",
456]
457
458sksl_folding_tests = [
459  "/sksl/folding/ArrayFolding.sksl",
460  "/sksl/folding/AssignmentOps.sksl",
461  "/sksl/folding/BoolFolding.sksl",
462  "/sksl/folding/CastFolding.sksl",
463  "/sksl/folding/FloatFolding.sksl",
464  "/sksl/folding/IntFoldingES2.sksl",
465  "/sksl/folding/IntFoldingES3.sksl",
466  "/sksl/folding/MatrixFoldingES2.sksl",
467  "/sksl/folding/MatrixFoldingES3.sksl",
468  "/sksl/folding/SelfAssignment.sksl",
469  "/sksl/folding/ShortCircuitBoolFolding.sksl",
470  "/sksl/folding/SwizzleFolding.sksl",
471  "/sksl/folding/VectorScalarFolding.sksl",
472  "/sksl/folding/VectorVectorFolding.sksl",
473]
474
475sksl_inliner_tests = [
476  "/sksl/inliner/DoWhileBodyMustBeInlinedIntoAScope.sksl",
477  "/sksl/inliner/DoWhileTestCannotBeInlined.sksl",
478  "/sksl/inliner/EnumsCanBeInlinedSafely.sksl",
479  "/sksl/inliner/ForBodyMustBeInlinedIntoAScope.sksl",
480  "/sksl/inliner/ForInitializerExpressionsCanBeInlined.sksl",
481  "/sksl/inliner/ForWithReturnInsideCannotBeInlined.sksl",
482  "/sksl/inliner/ForWithoutReturnInsideCanBeInlined.sksl",
483  "/sksl/inliner/IfBodyMustBeInlinedIntoAScope.sksl",
484  "/sksl/inliner/IfElseBodyMustBeInlinedIntoAScope.sksl",
485  "/sksl/inliner/IfElseChainWithReturnsCanBeInlined.sksl",
486  "/sksl/inliner/IfTestCanBeInlined.sksl",
487  "/sksl/inliner/IfWithReturnsCanBeInlined.sksl",
488  "/sksl/inliner/InlineKeywordOverridesThreshold.sksl",
489  "/sksl/inliner/InlineThreshold.sksl",
490  "/sksl/inliner/InlinerElidesTempVarForReturnsInsideBlock.sksl",
491  "/sksl/inliner/InlinerUsesTempVarForMultipleReturns.sksl",
492  "/sksl/inliner/InlinerUsesTempVarForReturnsInsideBlockWithVar.sksl",
493  "/sksl/inliner/InlineWithInoutArgument.sksl",
494  "/sksl/inliner/InlineWithModifiedArgument.sksl",
495  "/sksl/inliner/InlineWithNestedBigCalls.sksl",
496  "/sksl/inliner/InlineWithNestedCalls.sksl",
497  "/sksl/inliner/InlineWithUnmodifiedArgument.sksl",
498  "/sksl/inliner/InlineWithUnnecessaryBlocks.sksl",
499  "/sksl/inliner/InlinerAvoidsVariableNameOverlap.sksl",
500  "/sksl/inliner/InlinerHonorsGLSLOutParamSemantics.sksl",
501  "/sksl/inliner/InlinerManglesNames.sksl",
502  "/sksl/inliner/NoInline.sksl",
503  "/sksl/inliner/ShortCircuitEvaluationsCannotInlineRightHandSide.sksl",
504  "/sksl/inliner/StaticSwitch.sksl",
505  "/sksl/inliner/StructsCanBeInlinedSafely.sksl",
506  "/sksl/inliner/SwitchWithCastCanBeInlined.sksl",
507  "/sksl/inliner/SwitchWithoutReturnInsideCanBeInlined.sksl",
508  "/sksl/inliner/SwizzleCanBeInlinedDirectly.sksl",
509  "/sksl/inliner/TernaryResultsCannotBeInlined.sksl",
510  "/sksl/inliner/TernaryTestCanBeInlined.sksl",
511  "/sksl/inliner/TrivialArgumentsInlineDirectly.sksl",
512  "/sksl/inliner/WhileBodyMustBeInlinedIntoAScope.sksl",
513  "/sksl/inliner/WhileTestCannotBeInlined.sksl",
514]
515
516sksl_blend_tests = [
517  "/sksl/blend/BlendClear.sksl",
518  "/sksl/blend/BlendColor.sksl",
519  "/sksl/blend/BlendColorBurn.sksl",
520  "/sksl/blend/BlendColorDodge.sksl",
521  "/sksl/blend/BlendDarken.sksl",
522  "/sksl/blend/BlendDifference.sksl",
523  "/sksl/blend/BlendDst.sksl",
524  "/sksl/blend/BlendDstAtop.sksl",
525  "/sksl/blend/BlendDstIn.sksl",
526  "/sksl/blend/BlendDstOut.sksl",
527  "/sksl/blend/BlendDstOver.sksl",
528  "/sksl/blend/BlendEnum.sksl",
529  "/sksl/blend/BlendExclusion.sksl",
530  "/sksl/blend/BlendHardLight.sksl",
531  "/sksl/blend/BlendHue.sksl",
532  "/sksl/blend/BlendLighten.sksl",
533  "/sksl/blend/BlendLuminosity.sksl",
534  "/sksl/blend/BlendModulate.sksl",
535  "/sksl/blend/BlendMultiply.sksl",
536  "/sksl/blend/BlendOverlay.sksl",
537  "/sksl/blend/BlendPlus.sksl",
538  "/sksl/blend/BlendSaturation.sksl",
539  "/sksl/blend/BlendScreen.sksl",
540  "/sksl/blend/BlendSoftLight.sksl",
541  "/sksl/blend/BlendSrc.sksl",
542  "/sksl/blend/BlendSrcAtop.sksl",
543  "/sksl/blend/BlendSrcIn.sksl",
544  "/sksl/blend/BlendSrcOut.sksl",
545  "/sksl/blend/BlendSrcOver.sksl",
546  "/sksl/blend/BlendXor.sksl",
547]
548
549sksl_settings_tests = [
550  "/sksl/glsl/TypePrecision.sksl",
551  "/sksl/inliner/ExponentialGrowth.sksl",
552  "/sksl/inliner/InlinerCanBeDisabled.sksl",
553  "/sksl/shared/Derivatives.sksl",
554  "/sksl/shared/DerivativesFlipY.sksl",
555  "/sksl/workarounds/AbsInt.sksl",
556  "/sksl/workarounds/BlendGuardedDivide.sksl",
557  "/sksl/workarounds/BlendModesAllZeroVec.sksl",
558  "/sksl/workarounds/FractNegative.sksl",
559  "/sksl/workarounds/FragCoords.sksl",
560  "/sksl/workarounds/LoopCondition.sksl",
561  "/sksl/workarounds/MinAndAbsTogether.sksl",
562  "/sksl/workarounds/NegatedAtan.sksl",
563  "/sksl/workarounds/PowWithConstantExponent.sksl",
564  "/sksl/workarounds/RewriteDoWhileLoops.sksl",
565  "/sksl/workarounds/RewriteMatrixVectorMultiply.sksl",
566  "/sksl/workarounds/TernaryShortCircuit.sksl",
567]
568
569sksl_rte_tests = [
570  "/sksl/runtime/ArrayIndexing.rts",
571  "/sksl/runtime/ConstPreservation.rts",
572  "/sksl/runtime/ConversionConstructors.rts",
573  "/sksl/runtime/GLSLTypeNames.rts",
574  "/sksl/runtime/GlobalVariables.rts",
575  "/sksl/runtime/LoopInt.rts",
576  "/sksl/runtime/LoopFloat.rts",
577  "/sksl/runtime/SampleWithExplicitCoord.rts",
578  "/sksl/runtime/VectorIndexing.rts",
579]
580
581sksl_rte_error_tests = [
582  "/sksl/runtime_errors/FirstClassArrays.rts",
583  "/sksl/runtime_errors/IllegalArrayOps.rts",
584  "/sksl/runtime_errors/IllegalIndexing.rts",
585  "/sksl/runtime_errors/IllegalOperators.rts",
586  "/sksl/runtime_errors/IllegalShaderUse.rts",
587  "/sksl/runtime_errors/IllegalStatements.rts",
588  "/sksl/runtime_errors/InvalidColorFilterFeatures.rtcf",
589  "/sksl/runtime_errors/InvalidColorFilterMain.rtcf",
590  "/sksl/runtime_errors/InvalidShaderMain.rts",
591  "/sksl/runtime_errors/LoopConditionErrors.rts",
592  "/sksl/runtime_errors/LoopExpressionErrors.rts",
593  "/sksl/runtime_errors/LoopInitializerErrors.rts",
594  "/sksl/runtime_errors/LoopStructureErrors.rts",
595  "/sksl/runtime_errors/UnsupportedTypeFragmentProcessor.rts",
596  "/sksl/runtime_errors/UnsupportedTypeSampler.rts",
597  "/sksl/runtime_errors/UnsupportedTypeTexture.rts",
598]
599
600# Tests in sksl_fp_tests_sources will be compiled with --settings on, and are expected to generate
601# a .cpp and a .h output file.
602sksl_fp_tests_sources = sksl_fp_error_tests + sksl_fp_tests
603
604# Tests in sksl_dsl_fp_tests_sources will be compiled with --settings on, and are expected to
605# generate a .dsl.cpp and a .h output file.
606sksl_dsl_fp_tests_sources = sksl_dsl_fp_tests
607
608# Tests in sksl_glsl_tests_sources will be compiled with --settings on, and are expected to generate
609# a .glsl output file.
610sksl_glsl_tests_sources =
611    sksl_error_tests + sksl_glsl_tests + sksl_inliner_tests +
612    sksl_folding_tests + sksl_shared_tests
613
614# Tests in sksl_glsl_settings_tests_sources will be compiled twice, once with --settings and once
615# using --nosettings. In the latter mode, StandaloneSettings is appended to the output filename.
616sksl_glsl_settings_tests_sources = sksl_blend_tests + sksl_settings_tests
617
618# Tests in sksl_metal_tests_sources will be compiled with --settings on, and are expected to
619# generate a .metal output file.
620sksl_metal_tests_sources =
621    sksl_metal_tests + sksl_blend_tests + sksl_shared_tests
622
623# Tests in sksl_spirv_tests_sources will be compiled with --settings on, and are expected to
624# generate a .asm.(frag|vert|geom) output file.
625sksl_spirv_tests_sources =
626    sksl_blend_tests + sksl_shared_tests + sksl_spirv_tests
627
628## Tests in sksl_skvm_tests_sources will be compiled with --settings on, and are expected to
629## generate a .skvm output file.
630sksl_skvm_tests_sources = sksl_rte_tests + sksl_rte_error_tests
631
632## Tests in sksl_stage_tests_sources will be compiled with --settings on, and are expected to
633## generate a .stage output file.
634sksl_stage_tests_sources = sksl_rte_tests
635