xref: /aosp_15_r20/external/skia/resources/sksl/BUILD.bazel (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1load("//bazel:skia_rules.bzl", "skia_filegroup")
2
3# Necessary to give the //resources:resources skia_filegroup visibility to files in this directory.
4skia_filegroup(
5    name = "sksl",
6    srcs = [
7        ":sksl_blend_tests",
8        ":sksl_compute_tests",
9        ":sksl_error_tests",
10        ":sksl_folding_tests",
11        ":sksl_glsl_tests",
12        ":sksl_inliner_tests",
13        ":sksl_metal_tests",
14        ":sksl_rte_error_tests",
15        ":sksl_rte_tests",
16        ":sksl_settings_tests",
17        ":sksl_shared_tests",
18        ":sksl_spirv_tests",
19        ":sksl_wgsl_tests",
20    ],
21    visibility = ["//resources:__pkg__"],
22)
23
24## Tests in sksl_minify_tests_sources will be compiled with sksl-minify, and are expected to
25## generate a .minified.sksl file.
26skia_filegroup(
27    name = "sksl_minify_tests_sources",
28    srcs = [
29        ":sksl_folding_tests",
30        ":sksl_mesh_tests",
31        ":sksl_rte_tests",
32    ],
33    visibility = ["//tools/sksl-minify:__pkg__"],
34)
35
36# Tests in sksl_glsl_tests_sources will be compiled with --settings on, and are expected to generate
37# a .glsl output file.
38skia_filegroup(
39    name = "sksl_glsl_tests_sources",
40    srcs = [
41        ":sksl_error_tests",
42        ":sksl_folding_tests",
43        ":sksl_glsl_tests",
44        ":sksl_inliner_tests",
45        ":sksl_shared_tests",
46    ],
47    visibility = ["//tools/skslc:__pkg__"],
48)
49
50# Tests in sksl_glsl_settings_tests_sources will be compiled twice, once with --settings and once
51# using --nosettings. In the latter mode, StandaloneSettings is appended to the output filename.
52skia_filegroup(
53    name = "sksl_glsl_settings_tests_sources",
54    srcs = [
55        ":sksl_blend_tests",
56        ":sksl_settings_tests",
57    ],
58    visibility = ["//tools/skslc:__pkg__"],
59)
60
61# Tests in sksl_metal_tests_sources will be compiled with --settings on, and are expected to
62# generate a .metal output file.
63skia_filegroup(
64    name = "sksl_metal_tests_sources",
65    srcs = [
66        ":sksl_blend_tests",
67        ":sksl_compute_tests",
68        ":sksl_metal_tests",
69        ":sksl_shared_tests",
70    ],
71    visibility = ["//tools/skslc:__pkg__"],
72)
73
74## Tests in sksl_skrp_tests_sources will be compiled with --settings on, and are expected to
75## generate a .skrp output file.
76skia_filegroup(
77    name = "sksl_skrp_tests_sources",
78    srcs = [
79        ":sksl_folding_tests",
80        ":sksl_rte_tests",
81        ":sksl_shared_tests",
82    ],
83    visibility = ["//tools/skslc:__pkg__"],
84)
85
86## Tests in sksl_stage_tests_sources will be compiled with --settings on, and are expected to
87## generate a .stage output file.
88skia_filegroup(
89    name = "sksl_stage_tests_sources",
90    srcs = [
91        ":sksl_mesh_error_tests",
92        ":sksl_mesh_tests",
93        ":sksl_rte_tests",
94    ],
95    visibility = ["//tools/skslc:__pkg__"],
96)
97
98# Tests in sksl_spirv_tests_sources will be compiled with --settings on, and are expected to
99# generate a .asm.(frag|vert|geom) output file.
100skia_filegroup(
101    name = "sksl_spirv_tests_sources",
102    srcs = [
103        ":sksl_blend_tests",
104        ":sksl_compute_tests",
105        ":sksl_shared_tests",
106        ":sksl_spirv_tests",
107    ],
108    visibility = ["//tools/skslc:__pkg__"],
109)
110
111# Tests in sksl_hlsl_tests_sources will be compiled with --settings on, and are expected to
112# generate a .hlsl output file.
113skia_filegroup(
114    name = "sksl_hlsl_tests_sources",
115    srcs = [
116        ":sksl_blend_tests",
117        ":sksl_shared_tests",
118    ],
119    visibility = ["//tools/skslc:__pkg__"],
120)
121
122# Tests in sksl_wgsl_tests_sources will be compiled with --settings on, and are expected to generate
123# a .wgsl output file.
124skia_filegroup(
125    name = "sksl_wgsl_tests_sources",
126    srcs = [
127        ":sksl_blend_tests",
128        ":sksl_compute_tests",
129        ":sksl_folding_tests",
130        ":sksl_shared_tests",
131        ":sksl_wgsl_tests",
132    ],
133    visibility = ["//tools/skslc:__pkg__"],
134)
135
136skia_filegroup(
137    name = "sksl_blend_tests",
138    srcs = [
139        "blend/BlendClear.sksl",
140        "blend/BlendColor.sksl",
141        "blend/BlendColorBurn.sksl",
142        "blend/BlendColorDodge.sksl",
143        "blend/BlendDarken.sksl",
144        "blend/BlendDifference.sksl",
145        "blend/BlendDst.sksl",
146        "blend/BlendDstAtop.sksl",
147        "blend/BlendDstIn.sksl",
148        "blend/BlendDstOut.sksl",
149        "blend/BlendDstOver.sksl",
150        "blend/BlendExclusion.sksl",
151        "blend/BlendHardLight.sksl",
152        "blend/BlendHue.sksl",
153        "blend/BlendLighten.sksl",
154        "blend/BlendLuminosity.sksl",
155        "blend/BlendModulate.sksl",
156        "blend/BlendMultiply.sksl",
157        "blend/BlendOverlay.sksl",
158        "blend/BlendPlus.sksl",
159        "blend/BlendSaturation.sksl",
160        "blend/BlendScreen.sksl",
161        "blend/BlendSoftLight.sksl",
162        "blend/BlendSrc.sksl",
163        "blend/BlendSrcAtop.sksl",
164        "blend/BlendSrcIn.sksl",
165        "blend/BlendSrcOut.sksl",
166        "blend/BlendSrcOver.sksl",
167        "blend/BlendXor.sksl",
168    ],
169)
170
171skia_filegroup(
172    name = "sksl_compute_tests",
173    srcs = [
174        "compute/ArrayAdd.compute",
175        "compute/AtomicDeclarations.compute",
176        "compute/AtomicOperations.compute",
177        "compute/AtomicOperationsOverArrayAndStruct.compute",
178        "compute/Barrier.compute",
179        "compute/BuiltinStageInputs.compute",
180        "compute/Desaturate.compute",
181        "compute/DesaturateFunction.compute",
182        "compute/DesaturateReadWrite.compute",
183        "compute/MatrixMultiply.compute",
184        "compute/ModuleStructInArray.compute",
185        "compute/ModuleStructInExpression.compute",
186        "compute/ModuleStructInInterfaceBlock.compute",
187        "compute/ModuleStructInVariable.compute",
188        "compute/Raytrace.compute",
189        "compute/Uniforms.compute",
190        "compute/Workgroup.compute",
191    ],
192)
193
194skia_filegroup(
195    name = "sksl_error_tests",
196    srcs = [
197        "errors/ArgumentCountMismatch.rts",
198        "errors/ArgumentMismatch.rts",
199        "errors/ArgumentModifiers.rts",
200        "errors/ArrayConstructorElementCount.sksl",
201        "errors/ArrayIndexOutOfRange.rts",
202        "errors/ArrayInlinedIndexOutOfRange.sksl",
203        "errors/ArrayNegation.rts",
204        "errors/ArrayOfInvalidSize.rts",
205        "errors/ArrayOfVoid.rts",
206        "errors/ArrayPlus.rts",
207        "errors/ArrayReturnTypes.rts",
208        "errors/ArraySplitDimensions.rts",
209        "errors/ArraySplitDimensionsInFuncBody.rts",
210        "errors/ArraySplitDimensionsInFuncDecl.rts",
211        "errors/ArraySplitDimensionsInStruct.rts",
212        "errors/ArrayTooManyDimensions.rts",
213        "errors/ArrayTooManyDimensionsInFuncBody.rts",
214        "errors/ArrayTooManyDimensionsInFuncBodyUnsized1.rts",
215        "errors/ArrayTooManyDimensionsInFuncBodyUnsized2.rts",
216        "errors/ArrayTooManyDimensionsInFuncDecl.rts",
217        "errors/ArrayTooManyDimensionsInFuncDeclUnsized1.rts",
218        "errors/ArrayTooManyDimensionsInFuncDeclUnsized2.rts",
219        "errors/ArrayTooManyDimensionsInStruct.rts",
220        "errors/ArrayTooManyDimensionsInStructUnsized1.rts",
221        "errors/ArrayTooManyDimensionsInStructUnsized2.rts",
222        "errors/ArrayTooManyDimensionsUnsized1.rts",
223        "errors/ArrayTooManyDimensionsUnsized2.rts",
224        "errors/ArrayTypeTooManyDimensions.rts",
225        "errors/ArrayTypeTooManyDimensionsInFuncBody.rts",
226        "errors/ArrayTypeTooManyDimensionsInFuncBodyUnsized1.rts",
227        "errors/ArrayTypeTooManyDimensionsInFuncBodyUnsized2.rts",
228        "errors/ArrayTypeTooManyDimensionsInFuncDecl.rts",
229        "errors/ArrayTypeTooManyDimensionsInFuncDeclUnsized1.rts",
230        "errors/ArrayTypeTooManyDimensionsInFuncDeclUnsized2.rts",
231        "errors/ArrayTypeTooManyDimensionsInStruct.rts",
232        "errors/ArrayTypeTooManyDimensionsInStructUnsized1.rts",
233        "errors/ArrayTypeTooManyDimensionsInStructUnsized2.rts",
234        "errors/ArrayTypeTooManyDimensionsUnsized1.rts",
235        "errors/ArrayTypeTooManyDimensionsUnsized2.rts",
236        "errors/ArrayUnspecifiedDimensions.sksl",
237        "errors/AssignmentTypeMismatch.rts",
238        "errors/BadCaps.sksl",
239        "errors/BadConstInitializers.rts",
240        "errors/BadFieldAccess.rts",
241        "errors/BadIndex.rts",
242        "errors/BadModifiers.sksl",
243        "errors/BadOctal.rts",
244        "errors/BinaryInvalidType.rts",
245        "errors/BinaryTypeCoercion.sksl",
246        "errors/BinaryTypeMismatch.rts",
247        "errors/BitShiftFloat.rts",
248        "errors/BitShiftFloatMatrix.rts",
249        "errors/BitShiftFloatVector.rts",
250        "errors/BooleanArithmetic.sksl",
251        "errors/BreakOutsideLoop.rts",
252        "errors/CallMain.rts",
253        "errors/CallNonFunction.rts",
254        "errors/CanExitWithoutReturningValue.sksl",
255        "errors/CommasAsConstantExpressions.rts",
256        "errors/CommasWithArrays.sksl",
257        "errors/ComparisonDimensional.rts",
258        "errors/ConstructorArgumentCount.rts",
259        "errors/ConstructorTypeMismatch.rts",
260        "errors/ContinueOutsideLoop.rts",
261        "errors/DivideByZero.rts",
262        "errors/DoTypeMismatch.sksl",
263        "errors/DuplicateBinding.sksl",
264        "errors/DuplicateBuiltinFunction.rts",
265        "errors/DuplicateFunction.rts",
266        "errors/DuplicateInterfaceBlockField.sksl",
267        "errors/DuplicateInterfaceBlockName.sksl",
268        "errors/DuplicateOutput.sksl",
269        "errors/DuplicateRTAdjust.sksl",
270        "errors/DuplicateSkClockwise.sksl",
271        "errors/DuplicateSymbol.rts",
272        "errors/DuplicateSymbolInSwitch.rts",
273        "errors/DuplicateWorkgroupSize.compute",
274        "errors/EmptyArray.rts",
275        "errors/EmptyBuffer.sksl",
276        "errors/EmptyStruct.rts",
277        "errors/ErrorsInDeadCode.rts",
278        "errors/FloatRemainder.rts",
279        "errors/ForInitStmt.sksl",
280        "errors/ForLoopInductionVariableScope.sksl",
281        "errors/ForTypeMismatch.rts",
282        "errors/FunctionParamBadType.rts",
283        "errors/FunctionParamShadowedByLocal.rts",
284        "errors/FunctionParameterOfVoid.rts",
285        "errors/GenericArgumentMismatch.rts",
286        "errors/IfTypeMismatch.rts",
287        "errors/IllegalRecursionComplex.rts",
288        "errors/IllegalRecursionMutual.rts",
289        "errors/IllegalRecursionSimple.rts",
290        "errors/InVarWithInitializerExpression.sksl",
291        "errors/IncompleteExpression.rts",
292        "errors/IncompleteFunctionCall.rts",
293        "errors/InterfaceBlockMemberReservedName.sksl",
294        "errors/InterfaceBlockPrivateType.sksl",
295        "errors/InterfaceBlockReservedName.sksl",
296        "errors/InterfaceBlockScope.sksl",
297        "errors/InterfaceBlockStorageModifiers.sksl",
298        "errors/InterfaceBlockWithArrayOfStructOfBool.sksl",
299        "errors/InterfaceBlockWithInvalidNestedStruct.sksl",
300        "errors/InterfaceBlockWithInvalidStruct.sksl",
301        "errors/InterfaceBlockWithNoMembers.sksl",
302        "errors/IntrinsicInGlobalVariable.sksl",
303        "errors/InvalidAssignment.rts",
304        "errors/InvalidAssignmentPipelineInputs.sksl",
305        "errors/InvalidAtomicDeclarations.compute",
306        "errors/InvalidAtomicOperations.compute",
307        "errors/InvalidBackendBindingFlagsMetal.sksl",
308        "errors/InvalidBackendBindingFlagsSPIRV.sksl",
309        "errors/InvalidBackendBindingFlagsWGSL.sksl",
310        "errors/InvalidCapsUsage.sksl",
311        "errors/InvalidComputeMainParameters.compute",
312        "errors/InvalidComputeMainReturn.compute",
313        "errors/InvalidExtensionDirective.sksl",
314        "errors/InvalidInOutType.compute",
315        "errors/InvalidLocalSizeQualifier.compute",
316        "errors/InvalidOutParams.sksl",
317        "errors/InvalidToken.rts",
318        "errors/InvalidUnary.rts",
319        "errors/InvalidUniformTypes.sksl",
320        "errors/InvalidUnsizedArray.compute",
321        "errors/InvalidVersionDirective.sksl",
322        "errors/InvalidWorkgroupCompute.compute",
323        "errors/InvalidWorkgroupRTS.rts",
324        "errors/LayoutInFunctions.sksl",
325        "errors/LayoutInInterfaceBlock.sksl",
326        "errors/LayoutInStruct.sksl",
327        "errors/LayoutRepeatedQualifiers.sksl",
328        "errors/MatrixIndexOutOfRange.rts",
329        "errors/MatrixIndexOutOfRangeES3.sksl",
330        "errors/MatrixInlinedIndexOutOfRange.sksl",
331        "errors/MatrixToVectorCast3x3.rts",
332        "errors/MatrixToVectorCastBoolean.rts",
333        "errors/MatrixToVectorCastInteger.rts",
334        "errors/MatrixToVectorCastTooSmall.rts",
335        "errors/MismatchedNumbers.rts",
336        "errors/MismatchedNumbersES3.sksl",
337        "errors/MisplacedLocalSizeQualifier.sksl",
338        "errors/MissingWorkgroupSize.compute",
339        "errors/ModifiersInStruct.rts",
340        "errors/ModifiersRepeated.sksl",
341        "errors/MultipleBackendFlags.sksl",
342        "errors/MultipleFields.rts",
343        "errors/MultipleFieldsInInterfaceBlocks.sksl",
344        "errors/NoES3ModifierInUserCode.sksl",
345        "errors/OpaqueTypeAssignment.sksl",
346        "errors/OpaqueTypeConstruction.sksl",
347        "errors/OpaqueTypeInArray.sksl",
348        "errors/OpaqueTypeInInterfaceBlock.sksl",
349        "errors/OpaqueTypeInStruct.sksl",
350        "errors/OpaqueTypeOutParam.sksl",
351        "errors/OpenArray.rts",
352        "errors/Ossfuzz26700.sksl",
353        "errors/Ossfuzz27614.sksl",
354        "errors/Ossfuzz27650.sksl",
355        "errors/Ossfuzz27663.sksl",
356        "errors/Ossfuzz28050.sksl",
357        "errors/Ossfuzz29444.sksl",
358        "errors/Ossfuzz29845.sksl",
359        "errors/Ossfuzz29849.sksl",
360        "errors/Ossfuzz31410.sksl",
361        "errors/Ossfuzz31469.sksl",
362        "errors/Ossfuzz32156.sksl",
363        "errors/Ossfuzz32587.sksl",
364        "errors/Ossfuzz32851.sksl",
365        "errors/Ossfuzz37457.sksl",
366        "errors/Ossfuzz37465.sksl",
367        "errors/Ossfuzz37620.sksl",
368        "errors/Ossfuzz38106.sksl",
369        "errors/Ossfuzz38107.sksl",
370        "errors/Ossfuzz38108.sksl",
371        "errors/Ossfuzz38140.sksl",
372        "errors/Ossfuzz38560.sksl",
373        "errors/Ossfuzz38865.sksl",
374        "errors/Ossfuzz38944.sksl",
375        "errors/Ossfuzz39000.sksl",
376        "errors/Ossfuzz40427.sksl",
377        "errors/Ossfuzz40428.sksl",
378        "errors/Ossfuzz40479.sksl",
379        "errors/Ossfuzz40660.sksl",
380        "errors/Ossfuzz44045.sksl",
381        "errors/Ossfuzz44551.sksl",
382        "errors/Ossfuzz44555.sksl",
383        "errors/Ossfuzz44557.sksl",
384        "errors/Ossfuzz44559.sksl",
385        "errors/Ossfuzz44561.sksl",
386        "errors/Ossfuzz44565.sksl",
387        "errors/Ossfuzz47935.sksl",
388        "errors/Ossfuzz48592.sksl",
389        "errors/Ossfuzz49558.sksl",
390        "errors/Ossfuzz50798.sksl",
391        "errors/Ossfuzz50922.sksl",
392        "errors/Ossfuzz56373.sksl",
393        "errors/Ossfuzz58037.sksl",
394        "errors/Ossfuzz58375.sksl",
395        "errors/Ossfuzz63793.sksl",
396        "errors/Ossfuzz70643.sksl",
397        "errors/OverflowFloatIntrinsic.sksl",
398        "errors/OverflowFloatLiteral.rts",
399        "errors/OverflowInlinedLiteral.sksl",
400        "errors/OverflowInt64Literal.rts",
401        "errors/OverflowIntLiteral.rts",
402        "errors/OverflowParamArraySize.rts",
403        "errors/OverflowShortLiteral.sksl",
404        "errors/OverflowUintLiteral.sksl",
405        "errors/OverloadedBuiltin.sksl",
406        "errors/OverloadedMain.sksl",
407        "errors/PixelFormatMismatch.compute",
408        "errors/PixelFormatMissing.compute",
409        "errors/PixelFormatOverloads.compute",
410        "errors/PrecisionQualifiersDisallowed.sksl",
411        "errors/PrivateTypes.rts",
412        "errors/PrivateVariables.rts",
413        "errors/ProgramTooLarge_Globals.rts",
414        "errors/ProgramTooLarge_InterfaceBlock.sksl",
415        "errors/ProgramTooLarge_Parameters.rts",
416        "errors/ProgramTooLarge_Stack.rts",
417        "errors/ProgramTooLarge_Struct.rts",
418        "errors/PrototypeInFuncBody.rts",
419        "errors/RTAdjustType.sksl",
420        "errors/ReadonlyWriteonly.compute",
421        "errors/RedeclareBasicType.rts",
422        "errors/RedeclareBuiltinVariables.sksl",
423        "errors/RedeclareSamplerType.sksl",
424        "errors/RedeclareShaderType.rts",
425        "errors/RedeclareStruct.rts",
426        "errors/RedeclareStructTypeWithName.rts",
427        "errors/RedeclareUserType.rts",
428        "errors/RedeclareVariable.rts",
429        "errors/ReservedNameAsm.rts",
430        "errors/ReservedNameAtomic.rts",
431        "errors/ReservedNameAttribute.rts",
432        "errors/ReservedNameCast.rts",
433        "errors/ReservedNameDmat2.rts",
434        "errors/ReservedNameDmat3.rts",
435        "errors/ReservedNameDmat4.rts",
436        "errors/ReservedNameDouble.rts",
437        "errors/ReservedNameDvec2.rts",
438        "errors/ReservedNameDvec3.rts",
439        "errors/ReservedNameDvec4.rts",
440        "errors/ReservedNameEnum.rts",
441        "errors/ReservedNameExtern.rts",
442        "errors/ReservedNameExternal.rts",
443        "errors/ReservedNameFixed.rts",
444        "errors/ReservedNameFvec2.rts",
445        "errors/ReservedNameFvec3.rts",
446        "errors/ReservedNameFvec4.rts",
447        "errors/ReservedNameGoto.rts",
448        "errors/ReservedNameHvec2.rts",
449        "errors/ReservedNameHvec3.rts",
450        "errors/ReservedNameHvec4.rts",
451        "errors/ReservedNameImage.rts",
452        "errors/ReservedNameInput.rts",
453        "errors/ReservedNameInterface.rts",
454        "errors/ReservedNameInvariant.rts",
455        "errors/ReservedNameLong.rts",
456        "errors/ReservedNameNamespace.rts",
457        "errors/ReservedNameOutput.rts",
458        "errors/ReservedNamePacked.rts",
459        "errors/ReservedNamePrecision.rts",
460        "errors/ReservedNamePublic.rts",
461        "errors/ReservedNameSampler.rts",
462        "errors/ReservedNameSizeof.rts",
463        "errors/ReservedNameStatic.rts",
464        "errors/ReservedNameSubpassInput.rts",
465        "errors/ReservedNameSuperp.rts",
466        "errors/ReservedNameTemplate.rts",
467        "errors/ReservedNameTexture.rts",
468        "errors/ReservedNameThis.rts",
469        "errors/ReservedNameTypedef.rts",
470        "errors/ReservedNameUnion.rts",
471        "errors/ReservedNameUnsigned.rts",
472        "errors/ReservedNameUsing.rts",
473        "errors/ReservedNameVarying.rts",
474        "errors/ReservedNameVolatile.rts",
475        "errors/ReturnDifferentType.rts",
476        "errors/ReturnFromVoid.rts",
477        "errors/ReturnMissingValue.rts",
478        "errors/ReturnTypeMismatch.rts",
479        "errors/SamplerExternalOES.frag",
480        "errors/SelfReferentialInitializerExpression.rts",
481        "errors/SpuriousFloat.rts",
482        "errors/StructMemberReservedName.rts",
483        "errors/StructNameWithoutIdentifier.rts",
484        "errors/StructRedefinition.rts",
485        "errors/StructTooDeeplyNested.rts",
486        "errors/StructVariableReservedName.rts",
487        "errors/SwitchDuplicateCase.rts",
488        "errors/SwitchDuplicateDefault.rts",
489        "errors/SwitchDuplicateVariable.rts",
490        "errors/SwitchHoistingAtomicArray.sksl",
491        "errors/SwitchTypes.rts",
492        "errors/SwitchVariableScope.rts",
493        "errors/SwitchWithContinueInside.sksl",
494        "errors/SwizzleConstantOutput.rts",
495        "errors/SwizzleDomain.rts",
496        "errors/SwizzleMatrix.rts",
497        "errors/SwizzleOnlyLiterals.rts",
498        "errors/SwizzleOutOfBounds.rts",
499        "errors/SwizzleTooManyComponents.rts",
500        "errors/TernaryMismatch.rts",
501        "errors/UnassignedOutParameter.rts",
502        "errors/UndeclaredFunction.rts",
503        "errors/UndefinedFunction.rts",
504        "errors/UndefinedSymbol.rts",
505        "errors/UniformStructFanOut.sksl",
506        "errors/UniformVarWithInitializerExpression.rts",
507        "errors/UnknownDivideByZero.sksl",
508        "errors/UnscopedVariableInDoWhile.sksl",
509        "errors/UnscopedVariableInElse.rts",
510        "errors/UnscopedVariableInFor.rts",
511        "errors/UnscopedVariableInIf.rts",
512        "errors/UnscopedVariableInWhile.sksl",
513        "errors/UnsupportedGLSLIdentifiers.rts",
514        "errors/UsingInvalidValue.rts",
515        "errors/VectorIndexOutOfRange.rts",
516        "errors/VectorInlinedIndexOutOfRange.sksl",
517        "errors/VectorSlice.rts",
518        "errors/VertexEarlyReturn.vert",
519        "errors/VoidConstructor.rts",
520        "errors/VoidInStruct.rts",
521        "errors/VoidVariable.rts",
522        "errors/WhileTypeMismatch.sksl",
523    ],
524)
525
526skia_filegroup(
527    name = "sksl_folding_tests",
528    srcs = [
529        "folding/ArrayFolding.sksl",
530        "folding/ArraySizeFolding.rts",
531        "folding/AssignmentOps.rts",
532        "folding/BoolFolding.rts",
533        "folding/CastFolding.rts",
534        "folding/FloatFolding.rts",
535        "folding/IntFoldingES2.rts",
536        "folding/IntFoldingES3.sksl",
537        "folding/LogicalNot.rts",
538        "folding/MatrixFoldingES2.rts",
539        "folding/MatrixFoldingES3.sksl",
540        "folding/MatrixNoOpFolding.rts",
541        "folding/MatrixScalarNoOpFolding.rts",
542        "folding/MatrixVectorNoOpFolding.rts",
543        "folding/Negation.rts",
544        "folding/PreserveSideEffects.rts",
545        "folding/SelfAssignment.rts",
546        "folding/ShortCircuitBoolFolding.rts",
547        "folding/StructFieldFolding.rts",
548        "folding/StructFieldNoFolding.rts",
549        "folding/SwitchCaseFolding.rts",
550        "folding/SwizzleFolding.rts",
551        "folding/TernaryFolding.rts",
552        "folding/VectorScalarFolding.rts",
553        "folding/VectorVectorFolding.rts",
554    ],
555)
556
557skia_filegroup(
558    name = "sksl_glsl_tests",
559    srcs = [
560        "glsl/ForceHighPrecision.sksl",
561        "glsl/LastFragColorWithoutCaps.sksl",
562        "glsl/LayoutQualifiers.sksl",
563        "glsl/ShortIntPrecision.sksl",
564        "glsl/TextureSharpenVersion110.sksl",
565        "glsl/TextureVersion110.sksl",
566        "glsl/Underscores.sksl",
567        "glsl/UsesPrecisionModifiers.sksl",
568        "glsl/Version110.sksl",
569        "glsl/Version450Core.sksl",
570        "workarounds/LastFragColor.sksl",
571    ],
572)
573
574skia_filegroup(
575    name = "sksl_inliner_tests",
576    srcs = [
577        "inliner/CommaExpressionsAllowInlining.sksl",
578        "inliner/DoWhileBodyMustBeInlinedIntoAScope.sksl",
579        "inliner/DoWhileTestCannotBeInlined.sksl",
580        "inliner/ForBodyMustBeInlinedIntoAScope.sksl",
581        "inliner/ForInitializerExpressionsCanBeInlined.sksl",
582        "inliner/ForWithReturnInsideCannotBeInlined.sksl",
583        "inliner/ForWithoutReturnInsideCanBeInlined.sksl",
584        "inliner/IfBodyMustBeInlinedIntoAScope.sksl",
585        "inliner/IfElseBodyMustBeInlinedIntoAScope.sksl",
586        "inliner/IfElseChainWithReturnsCanBeInlined.sksl",
587        "inliner/IfTestCanBeInlined.sksl",
588        "inliner/IfWithReturnsCanBeInlined.sksl",
589        "inliner/InlineKeywordOverridesThreshold.sksl",
590        "inliner/InlineThreshold.sksl",
591        "inliner/InlineUnscopedVariable.sksl",
592        "inliner/InlineWithModifiedArgument.sksl",
593        "inliner/InlineWithNestedBigCalls.sksl",
594        "inliner/InlineWithNestedCalls.sksl",
595        "inliner/InlineWithUnmodifiedArgument.sksl",
596        "inliner/InlineWithUnnecessaryBlocks.sksl",
597        "inliner/InlinerAvoidsVariableNameOverlap.sksl",
598        "inliner/InlinerElidesTempVarForReturnsInsideBlock.sksl",
599        "inliner/InlinerManglesNames.sksl",
600        "inliner/InlinerUsesTempVarForMultipleReturns.sksl",
601        "inliner/InlinerUsesTempVarForReturnsInsideBlockWithVar.sksl",
602        "inliner/IntrinsicNameCollision.sksl",
603        "inliner/ModifiedArrayParametersCannotBeInlined.sksl",
604        "inliner/ModifiedStructParametersCannotBeInlined.sksl",
605        "inliner/NoInline.sksl",
606        "inliner/Ossfuzz37994.sksl",
607        "inliner/Ossfuzz66207.sksl",
608        "inliner/ShortCircuitEvaluationsCannotInlineRightHandSide.sksl",
609        "inliner/StaticSwitch.sksl",
610        "inliner/StructsCanBeInlinedSafely.sksl",
611        "inliner/SwitchWithCastCanBeInlined.sksl",
612        "inliner/SwitchWithoutReturnInsideCanBeInlined.sksl",
613        "inliner/SwizzleCanBeInlinedDirectly.sksl",
614        "inliner/TernaryResultsCannotBeInlined.sksl",
615        "inliner/TernaryTestCanBeInlined.sksl",
616        "inliner/TrivialArgumentsInlineDirectly.sksl",
617        "inliner/TrivialArgumentsInlineDirectlyES3.sksl",
618        "inliner/TypeShadowing.sksl",
619        "inliner/WhileBodyMustBeInlinedIntoAScope.sksl",
620        "inliner/WhileTestCannotBeInlined.sksl",
621    ],
622)
623
624skia_filegroup(
625    name = "sksl_metal_tests",
626    srcs = [
627        "metal/CastHalf4ToMat2x2.sksl",
628        "metal/CastMat2x2ToMat3x3.sksl",
629        "metal/CastMat2x3ToMat4x4.sksl",
630        "metal/CastMat4x4ToMat3x4.sksl",
631        "metal/CastMat4x4ToMat4x3.sksl",
632        "metal/LastFragColorWithoutCaps.sksl",
633        "metal/LayoutMtlSampler.sksl",
634        "metal/NumericGlobals.sksl",
635        "metal/OpaqueTypeInInterfaceBlock.sksl",
636        "metal/OpaqueTypeInStruct.sksl",
637        "metal/Ossfuzz48371.sksl",
638        "metal/OutParams.sksl",
639        "metal/OutVarsRequireLocation.sksl",
640        "metal/SamplerGlobals.sksl",
641        "metal/SwizzleHelper.sksl",
642        "workarounds/LastFragColor.sksl",
643    ],
644)
645
646skia_filegroup(
647    name = "sksl_mesh_tests",
648    srcs = [
649        "mesh/MeshFragment.mfrag",
650        "mesh/MeshFragmentWithBlender.mfrag",
651        "mesh/MeshFragmentWithColorFilter.mfrag",
652        "mesh/MeshFragmentWithShader.mfrag",
653        "mesh/MeshVertex.mvert",
654    ],
655)
656
657skia_filegroup(
658    name = "sksl_mesh_error_tests",
659    srcs = [
660        "errors/InvalidMeshFragmentMainParameters.mfrag",
661        "errors/InvalidMeshFragmentMainReturn.mfrag",
662        "errors/InvalidMeshVertexMainParameters.mvert",
663        "errors/InvalidMeshVertexMainReturn.mvert",
664        "errors/MeshVertexWithBlender.mvert",
665        "errors/MeshVertexWithColorFilter.mvert",
666        "errors/MeshVertexWithShader.mvert",
667    ],
668)
669
670skia_filegroup(
671    name = "sksl_rte_error_tests",
672    srcs = [
673        "runtime_errors/Caps.rts",
674        "runtime_errors/DerivativesES2.rts",
675        "runtime_errors/ES3Types.rts",
676        "runtime_errors/FirstClassArrays.rts",
677        "runtime_errors/FragCoordAccess.rts",
678        "runtime_errors/IllegalArrayOps.rts",
679        "runtime_errors/IllegalIndexing.rts",
680        "runtime_errors/IllegalLayoutFlags.rts",
681        "runtime_errors/IllegalModifiers.rts",
682        "runtime_errors/IllegalOperators.rts",
683        "runtime_errors/IllegalPrecisionQualifiers.rts",
684        "runtime_errors/IllegalShaderSampling.rts",
685        "runtime_errors/IllegalShaderUse.rts",
686        "runtime_errors/IllegalStatements.rts",
687        "runtime_errors/InvalidBlendMain.rtb",
688        "runtime_errors/InvalidColorFilterFeatures.rtcf",
689        "runtime_errors/InvalidColorFilterMain.rtcf",
690        "runtime_errors/InvalidShaderMain.rts",
691        "runtime_errors/InvalidUniformTypes.rts",
692        "runtime_errors/InvalidUniformTypesES3.rts",
693        "runtime_errors/LoopConditionErrors.rts",
694        "runtime_errors/LoopExpressionErrors.rts",
695        "runtime_errors/LoopInitializerErrors.rts",
696        "runtime_errors/LoopStructureErrors.rts",
697        "runtime_errors/Ossfuzz36655.rts",
698        "runtime_errors/Ossfuzz38131.rts",
699        "runtime_errors/Ossfuzz45279.rts",
700        "runtime_errors/Ossfuzz66263.rts",
701        "runtime_errors/PrivateFunctions.rts",
702        "runtime_errors/ProgramTooLarge_StackDepth.rts",
703        "runtime_errors/ReservedNameSamplerTypes.rts",
704        "runtime_errors/ReservedNameSubpassInputTypes.rts",
705        "runtime_errors/ReservedNameTexture2D.rts",
706        "runtime_errors/TypeAliases.rts",
707        "runtime_errors/UnsupportedExtension.rts",
708        "runtime_errors/UnsupportedTypeFragmentProcessor.rts",
709        "runtime_errors/UnsupportedTypeSampler.rts",
710        "runtime_errors/UnsupportedTypeTexture.rts",
711    ],
712)
713
714skia_filegroup(
715    name = "sksl_rte_tests",
716    srcs = [
717        "realistic/BlueNeurons.rts",
718        "realistic/HSLColorFilter.rtcf",
719        "realistic/HighContrastFilter.rtcf",
720        "realistic/RippleShader.rts",
721        "runtime/AllowNarrowingConversions.rts",
722        "runtime/ArrayIndexing.rts",
723        "runtime/ArrayNarrowingConversions.rts",
724        "runtime/Blend.rtb",
725        "runtime/ChildEffectSimple.rts",
726        "runtime/ChildEffectSpecialization.privrts",
727        "runtime/ChildEffectSpecializationFanOut.privrts",
728        "runtime/ChildEffects.rts",
729        "runtime/ColorConversion.rts",
730        "runtime/Commutative.rts",
731        "runtime/ConstPreservation.rts",
732        "runtime/ConversionConstructors.rts",
733        "runtime/DivideByZero.rts",
734        "runtime/FragCoordAccess.privrts",
735        "runtime/FunctionParameterAliasingFirst.rts",
736        "runtime/FunctionParameterAliasingSecond.rts",
737        "runtime/GLSLTypeNames.rts",
738        "runtime/GLSLTypeNamesES3.rts",
739        "runtime/GlobalVariables.rts",
740        "runtime/IfElseBinding.rts",
741        "runtime/IncrementDisambiguation.rts",
742        "runtime/LargeProgram_BlocklessLoops.rts",
743        "runtime/LargeProgram_FlatLoop.rts",
744        "runtime/LargeProgram_Functions.rts",
745        "runtime/LargeProgram_NestedLoops.rts",
746        "runtime/LargeProgram_SplitLoops.rts",
747        "runtime/LargeProgram_StackDepth.rts",
748        "runtime/LargeProgram_ZeroIterFor.rts",
749        "runtime/LoopFloat.rts",
750        "runtime/LoopInt.rts",
751        "runtime/MultipleCallsInOneStatement.rts",
752        "runtime/Ossfuzz52603.rts",
753        "runtime/Ossfuzz65111.rtb",
754        "runtime/PrecisionQualifiers.rts",
755        "runtime/QualifierOrder.rts",
756        "runtime/RecursiveComparison_Arrays.rts",
757        "runtime/RecursiveComparison_Structs.rts",
758        "runtime/RecursiveComparison_Types.rts",
759        "runtime/RecursiveComparison_Vectors.rts",
760        "runtime/SampleWithExplicitCoord.rts",
761        "runtime/SharedFunctions.rts",
762        "runtime/Switch.rts",
763        "runtime/SwitchDefaultOnly.rts",
764        "runtime/SwitchWithFallthrough.rts",
765        "runtime/SwitchWithLoops.rts",
766        "runtime/VectorIndexing.rts",
767    ],
768)
769
770skia_filegroup(
771    name = "sksl_settings_tests",
772    srcs = [
773        "glsl/BuiltinVariableSetup.sksl",
774        "glsl/TypePrecision.sksl",
775        "inliner/ExponentialGrowth.sksl",
776        "inliner/InlinerCanBeDisabled.sksl",
777        "shared/Derivatives.sksl",
778        "shared/Optimizations.sksl",
779        "shared/Switch.sksl",
780        "shared/SwitchDefaultOnly.sksl",
781        "shared/SwitchWithFallthrough.sksl",
782        "shared/SwitchWithFallthroughAndVarDecls.sksl",
783        "shared/SwitchWithFallthroughGroups.sksl",
784        "shared/SwitchWithLoops.sksl",
785        "shared/SwitchWithLoopsES3.sksl",
786        "workarounds/AbsInt.sksl",
787        "workarounds/BlendGuardedDivide.sksl",
788        "workarounds/BuiltinDeterminantSupport.sksl",
789        "workarounds/BuiltinFMASupport.sksl",
790        "workarounds/DualSourceBlending.sksl",
791        "workarounds/FractNegative.sksl",
792        "workarounds/FragCoords.sksl",
793        "workarounds/LoopCondition.sksl",
794        "workarounds/MinAndAbsTogether.sksl",
795        "workarounds/NegatedAtan.sksl",
796        "workarounds/NegatedLdexp.sksl",
797        "workarounds/PowWithConstantExponent.sksl",
798        "workarounds/RewriteDoWhileLoops.sksl",
799        "workarounds/RewriteMatrixComparisons.sksl",
800        "workarounds/RewriteMatrixVectorMultiply.sksl",
801        "workarounds/TernaryShortCircuit.sksl",
802        "workarounds/VoidInSequenceExpressions.sksl",
803        "workarounds/VoidInSequenceExpressionsWithVoidMain.sksl",
804    ],
805)
806
807skia_filegroup(
808    name = "sksl_shared_tests",
809    srcs = [
810        "intrinsics/AbsFloat.sksl",
811        "intrinsics/AbsInt.sksl",
812        "intrinsics/Acos.sksl",
813        "intrinsics/Acosh.sksl",
814        "intrinsics/All.sksl",
815        "intrinsics/Any.sksl",
816        "intrinsics/Asin.sksl",
817        "intrinsics/Asinh.sksl",
818        "intrinsics/Atan.sksl",
819        "intrinsics/Atanh.sksl",
820        "intrinsics/BitCount.sksl",
821        "intrinsics/Ceil.sksl",
822        "intrinsics/ClampFloat.sksl",
823        "intrinsics/ClampInt.sksl",
824        "intrinsics/ClampUInt.sksl",
825        "intrinsics/Cos.sksl",
826        "intrinsics/Cosh.sksl",
827        "intrinsics/Cross.sksl",
828        "intrinsics/CrossNoInline.sksl",
829        "intrinsics/DFdx.sksl",
830        "intrinsics/DFdy.sksl",
831        "intrinsics/DFdyNoRTFlip.sksl",
832        "intrinsics/Degrees.sksl",
833        "intrinsics/Determinant.sksl",
834        "intrinsics/Distance.sksl",
835        "intrinsics/Dot.sksl",
836        "intrinsics/Equal.sksl",
837        "intrinsics/Exp.sksl",
838        "intrinsics/Exp2.sksl",
839        "intrinsics/FaceForward.sksl",
840        "intrinsics/FindLSB.sksl",
841        "intrinsics/FindMSB.sksl",
842        "intrinsics/FloatBitsToInt.sksl",
843        "intrinsics/FloatBitsToUint.sksl",
844        "intrinsics/Floor.sksl",
845        "intrinsics/Fma.sksl",
846        "intrinsics/Fract.sksl",
847        "intrinsics/Frexp.sksl",
848        "intrinsics/Fwidth.sksl",
849        "intrinsics/GreaterThan.sksl",
850        "intrinsics/GreaterThanEqual.sksl",
851        "intrinsics/IntBitsToFloat.sksl",
852        "intrinsics/Inverse.sksl",
853        "intrinsics/Inversesqrt.sksl",
854        "intrinsics/IsInf.sksl",
855        "intrinsics/IsNan.sksl",
856        "intrinsics/Ldexp.sksl",
857        "intrinsics/Length.sksl",
858        "intrinsics/LessThan.sksl",
859        "intrinsics/LessThanEqual.sksl",
860        "intrinsics/Log.sksl",
861        "intrinsics/Log2.sksl",
862        "intrinsics/MatrixCompMultES2.sksl",
863        "intrinsics/MatrixCompMultES3.sksl",
864        "intrinsics/MaxFloat.sksl",
865        "intrinsics/MaxInt.sksl",
866        "intrinsics/MaxUint.sksl",
867        "intrinsics/MinFloat.sksl",
868        "intrinsics/MinInt.sksl",
869        "intrinsics/MinUint.sksl",
870        "intrinsics/MixBool.sksl",
871        "intrinsics/MixFloatES2.sksl",
872        "intrinsics/MixFloatES3.sksl",
873        "intrinsics/Mod.sksl",
874        "intrinsics/Modf.sksl",
875        "intrinsics/Normalize.sksl",
876        "intrinsics/Not.sksl",
877        "intrinsics/NotEqual.sksl",
878        "intrinsics/OuterProduct.sksl",
879        "intrinsics/Pack.sksl",
880        "intrinsics/PackHalf2x16.sksl",
881        "intrinsics/PackSnorm2x16.sksl",
882        "intrinsics/PackUnorm2x16.sksl",
883        "intrinsics/Pow.sksl",
884        "intrinsics/Radians.sksl",
885        "intrinsics/Reflect.sksl",
886        "intrinsics/Refract.sksl",
887        "intrinsics/Round.sksl",
888        "intrinsics/RoundEven.sksl",
889        "intrinsics/Sample.sksl",
890        "intrinsics/SampleGrad.sksl",
891        "intrinsics/SampleLod.sksl",
892        "intrinsics/Saturate.sksl",
893        "intrinsics/SignFloat.sksl",
894        "intrinsics/SignInt.sksl",
895        "intrinsics/Sin.sksl",
896        "intrinsics/Sinh.sksl",
897        "intrinsics/Smoothstep.sksl",
898        "intrinsics/Sqrt.sksl",
899        "intrinsics/Step.sksl",
900        "intrinsics/Tan.sksl",
901        "intrinsics/Tanh.sksl",
902        "intrinsics/Transpose.sksl",
903        "intrinsics/Trunc.sksl",
904        "intrinsics/UintBitsToFloat.sksl",
905        "intrinsics/Unpack.sksl",
906        "realistic/GaussianBlur.sksl",
907        "shared/ArrayCast.sksl",
908        "shared/ArrayComparison.sksl",
909        "shared/ArrayConstructors.sksl",
910        "shared/ArrayFollowedByScalar.sksl",
911        "shared/ArrayIndexTypes.sksl",
912        "shared/ArrayNarrowingConversions.sksl",
913        "shared/ArrayTypes.sksl",
914        "shared/ArrayUnsizedParam.sksl",
915        "shared/Assignment.sksl",
916        "shared/Caps.sksl",
917        "shared/CastsRoundTowardZero.sksl",
918        "shared/Clockwise.sksl",
919        "shared/ClockwiseNoRTFlip.sksl",
920        "shared/CommaMixedTypes.sksl",
921        "shared/CommaSideEffects.sksl",
922        "shared/CompileTimeConstantVariables.sksl",
923        "shared/ComplexDelete.sksl",
924        "shared/ConstArray.sksl",
925        "shared/ConstGlobal.sksl",
926        "shared/ConstVariableComparison.sksl",
927        "shared/ConstantCompositeAccessViaConstantIndex.sksl",
928        "shared/ConstantCompositeAccessViaDynamicIndex.sksl",
929        "shared/ConstantIf.sksl",
930        "shared/Control.sksl",
931        "shared/DeadDoWhileLoop.sksl",
932        "shared/DeadGlobals.sksl",
933        "shared/DeadIfStatement.sksl",
934        "shared/DeadLoopVariable.sksl",
935        "shared/DeadReturn.sksl",
936        "shared/DeadReturnES3.sksl",
937        "shared/DeadStripFunctions.sksl",
938        "shared/DependentInitializers.sksl",
939        "shared/DerivativesUnused.sksl",
940        "shared/Discard.sksl",
941        "shared/DoWhileControlFlow.sksl",
942        "shared/DoubleNegation.sksl",
943        "shared/EmptyBlocksES2.sksl",
944        "shared/EmptyBlocksES3.sksl",
945        "shared/ForLoopControlFlow.sksl",
946        "shared/ForLoopMultipleInitES3.sksl",
947        "shared/ForLoopShadowing.sksl",
948        "shared/FragCoords.sksl",
949        "shared/FragCoordsNoRTFlip.sksl",
950        "shared/FunctionAnonymousParameters.sksl",
951        "shared/FunctionArgTypeMatch.sksl",
952        "shared/FunctionParametersOfTextureAndSamplerType.sksl",
953        "shared/FunctionPrototype.sksl",
954        "shared/FunctionReturnTypeMatch.sksl",
955        "shared/Functions.sksl",
956        "shared/GeometricIntrinsics.sksl",
957        "shared/HelloWorld.sksl",
958        "shared/Hex.sksl",
959        "shared/HexUnsigned.sksl",
960        "shared/IfStatement.sksl",
961        "shared/InoutParameters.sksl",
962        "shared/InoutParamsAreDistinct.sksl",
963        "shared/InstanceID.vert",
964        "shared/InstanceIDInFunction.vert",
965        "shared/IntegerDivisionES3.sksl",
966        "shared/InterfaceBlockBuffer.sksl",
967        "shared/InterfaceBlockInoutArray.sksl",
968        "shared/InterfaceBlockMultipleAnonymous.sksl",
969        "shared/InterfaceBlockNamed.sksl",
970        "shared/InterfaceBlockNamedArray.sksl",
971        "shared/InterpolantIn.frag",
972        "shared/InterpolantOut.vert",
973        "shared/LogicalAndShortCircuit.sksl",
974        "shared/LogicalOrShortCircuit.sksl",
975        "shared/Matrices.sksl",
976        "shared/MatricesNonsquare.sksl",
977        "shared/MatrixConstructorsES2.sksl",
978        "shared/MatrixConstructorsES3.sksl",
979        "shared/MatrixEquality.sksl",
980        "shared/MatrixIndexLookup.sksl",
981        "shared/MatrixIndexStore.sksl",
982        "shared/MatrixOpEqualsES2.sksl",
983        "shared/MatrixOpEqualsES3.sksl",
984        "shared/MatrixScalarMath.sksl",
985        "shared/MatrixSwizzleStore.sksl",
986        "shared/MatrixToVectorCast.sksl",
987        "shared/MultipleAssignments.sksl",
988        "shared/NestedComparisonIntrinsics.sksl",
989        "shared/NoFragCoordsPos.vert",
990        "shared/NoFragCoordsPosRT.vert",
991        "shared/NormalizationVert.vert",
992        "shared/NumberCasts.sksl",
993        "shared/NumberConversions.sksl",
994        "shared/Octal.sksl",
995        "shared/Offset.sksl",
996        "shared/OperatorsES2.sksl",
997        "shared/OperatorsES3.sksl",
998        "shared/Ossfuzz26167.sksl",
999        "shared/Ossfuzz26759.sksl",
1000        "shared/Ossfuzz28794.sksl",
1001        "shared/Ossfuzz28904.sksl",
1002        "shared/Ossfuzz29085.sksl",
1003        "shared/Ossfuzz29494.sksl",
1004        "shared/Ossfuzz36770.sksl",
1005        "shared/Ossfuzz36852.sksl",
1006        "shared/Ossfuzz37466.sksl",
1007        "shared/Ossfuzz37677.sksl",
1008        "shared/Ossfuzz37900.sksl",
1009        "shared/Ossfuzz41000.sksl",
1010        "shared/Ossfuzz50636.sksl",
1011        "shared/Ossfuzz58483.sksl",
1012        "shared/Ossfuzz60077.sksl",
1013        "shared/Ossfuzz63170.sksl",
1014        "shared/OutParams.sksl",
1015        "shared/OutParamsAreDistinct.sksl",
1016        "shared/OutParamsAreDistinctFromGlobal.sksl",
1017        "shared/OutParamsDoubleSwizzle.sksl",
1018        "shared/OutParamsFunctionCallInArgument.sksl",
1019        "shared/Overflow.sksl",
1020        "shared/PostfixExpressions.sksl",
1021        "shared/PrefixExpressionsES2.sksl",
1022        "shared/PrefixExpressionsES3.sksl",
1023        "shared/RectangleTexture.sksl",
1024        "shared/ReservedInGLSLButAllowedInSkSL.sksl",
1025        "shared/ResizeMatrix.sksl",
1026        "shared/ResizeMatrixNonsquare.sksl",
1027        "shared/ReturnBadTypeFromMain.sksl",
1028        "shared/ReturnColorFromMain.sksl",
1029        "shared/ReturnsValueOnEveryPathES2.sksl",
1030        "shared/ReturnsValueOnEveryPathES3.sksl",
1031        "shared/SampleLocations.vert",
1032        "shared/SampleMask.sksl",
1033        "shared/ScalarConversionConstructorsES2.sksl",
1034        "shared/ScalarConversionConstructorsES3.sksl",
1035        "shared/ScopedSymbol.sksl",
1036        "shared/StackingVectorCasts.sksl",
1037        "shared/StaticSwitch.sksl",
1038        "shared/StaticSwitchWithBreak.sksl",
1039        "shared/StaticSwitchWithBreakInsideBlock.sksl",
1040        "shared/StaticSwitchWithConditionalBreak.sksl",
1041        "shared/StaticSwitchWithConditionalBreakInsideBlock.sksl",
1042        "shared/StaticSwitchWithFallthroughA.sksl",
1043        "shared/StaticSwitchWithFallthroughB.sksl",
1044        "shared/StaticSwitchWithStaticConditionalBreak.sksl",
1045        "shared/StaticSwitchWithStaticConditionalBreakInsideBlock.sksl",
1046        "shared/StaticSwitchWithVarDecl.sksl",
1047        "shared/StorageBuffer.sksl",
1048        "shared/StorageBufferVertex.vert",
1049        "shared/StructArrayFollowedByScalar.sksl",
1050        "shared/StructComparison.sksl",
1051        "shared/StructIndexLookup.sksl",
1052        "shared/StructIndexStore.sksl",
1053        "shared/StructMaxDepth.sksl",
1054        "shared/Structs.sksl",
1055        "shared/StructsInFunctions.sksl",
1056        "shared/SwitchWithEarlyReturn.sksl",
1057        "shared/SwizzleAsLValue.sksl",
1058        "shared/SwizzleAsLValueES3.sksl",
1059        "shared/SwizzleBoolConstants.sksl",
1060        "shared/SwizzleByConstantIndex.sksl",
1061        "shared/SwizzleByIndex.sksl",
1062        "shared/SwizzleConstants.sksl",
1063        "shared/SwizzleIndexLookup.sksl",
1064        "shared/SwizzleIndexStore.sksl",
1065        "shared/SwizzleLTRB.sksl",
1066        "shared/SwizzleOpt.sksl",
1067        "shared/SwizzleScalar.sksl",
1068        "shared/SwizzleScalarBool.sksl",
1069        "shared/SwizzleScalarInt.sksl",
1070        "shared/TemporaryIndexLookup.sksl",
1071        "shared/TernaryAsLValueEntirelyFoldable.sksl",
1072        "shared/TernaryAsLValueFoldableTest.sksl",
1073        "shared/TernaryComplexNesting.sksl",
1074        "shared/TernaryExpression.sksl",
1075        "shared/TernaryNesting.sksl",
1076        "shared/TernaryOneZeroOptimization.sksl",
1077        "shared/TernarySideEffects.sksl",
1078        "shared/TernaryTrueFalseOptimization.sksl",
1079        "shared/Texture2D.sksl",
1080        "shared/TextureSharpen.sksl",
1081        "shared/UnaryPositiveNegative.sksl",
1082        "shared/UniformArray.sksl",
1083        "shared/UniformBuffers.sksl",
1084        "shared/UniformMatrixResize.sksl",
1085        "shared/UnusedVariables.sksl",
1086        "shared/VectorConstructors.sksl",
1087        "shared/VectorScalarMath.sksl",
1088        "shared/VectorToMatrixCast.sksl",
1089        "shared/VertexID.vert",
1090        "shared/VertexIDInFunction.vert",
1091        "shared/WhileLoopControlFlow.sksl",
1092    ],
1093)
1094
1095skia_filegroup(
1096    name = "sksl_spirv_tests",
1097    srcs = [
1098        "errors/ArrayUnspecifiedDimensions.sksl",
1099        "errors/LayoutInInterfaceBlock.sksl",
1100        "errors/LayoutInStruct.sksl",
1101        "errors/Ossfuzz36850.sksl",
1102        "errors/Ossfuzz37469.sksl",
1103        "errors/UndefinedFunction.rts",
1104        "shared/Switch.sksl",
1105        "shared/SwitchDefaultOnly.sksl",
1106        "shared/SwitchWithFallthrough.sksl",
1107        "shared/SwitchWithLoops.sksl",
1108        "spirv/ArrayStrideInDifferentLayouts.sksl",
1109        "spirv/CombinedSamplerTypeDawnCompatMode.sksl",
1110        "spirv/ConstantVectorFromVector.sksl",
1111        "spirv/ConstantVectorize.sksl",
1112        "spirv/FunctionParametersOfTextureAndSamplerTypeDawnCompatMode.sksl",
1113        "spirv/InterfaceBlockPushConstant.sksl",
1114        "spirv/LayoutMultipleOf4.sksl",
1115        "spirv/LayoutOutOfOrder.sksl",
1116        "spirv/MixedSamplerTypes.sksl",
1117        "spirv/OpaqueTypeInArray.sksl",
1118        "spirv/Ossfuzz35916.sksl",
1119        "spirv/Ossfuzz37627.sksl",
1120        "spirv/Ossfuzz44096.sksl",
1121        "spirv/Ossfuzz53202.sksl",
1122        "spirv/Ossfuzz65538.sksl",
1123        "spirv/Ossfuzz70523.sksl",
1124        "spirv/SpecializationInCall.sksl",
1125        "spirv/SpecializedFieldAccess.sksl",
1126        "spirv/SpecializedSamplerFunctions.sksl",
1127        "spirv/StructArrayMemberInDifferentLayouts.sksl",
1128        "spirv/UnusedInterfaceBlock.sksl",
1129        "spirv/WrongCombinedSamplerLayoutForWebGPUSampler.sksl",
1130        "workarounds/DualSourceBlending.sksl",
1131        "workarounds/MustDeclareFragmentFrontFacing.sksl",
1132        "workarounds/RewriteMatrixVectorMultiply.sksl",
1133    ],
1134)
1135
1136skia_filegroup(
1137    name = "sksl_wgsl_tests",
1138    srcs = [
1139        "runtime/GLSLTypeNames.rts",
1140        "runtime/GLSLTypeNamesES3.rts",
1141        "runtime/GlobalVariables.rts",
1142        "runtime/LargeProgram_BlocklessLoops.rts",
1143        "runtime/LargeProgram_FlatLoop.rts",
1144        "runtime/LargeProgram_Functions.rts",
1145        "runtime/LargeProgram_NestedLoops.rts",
1146        "runtime/LargeProgram_SplitLoops.rts",
1147        "runtime/LargeProgram_ZeroIterFor.rts",
1148        "runtime/LoopFloat.rts",
1149        "runtime/LoopInt.rts",
1150        "runtime/QualifierOrder.rts",
1151        "runtime/RecursiveComparison_Arrays.rts",
1152        "runtime/RecursiveComparison_Structs.rts",
1153        "runtime/RecursiveComparison_Types.rts",
1154        "runtime/RecursiveComparison_Vectors.rts",
1155        "shared/Derivatives.sksl",
1156        "shared/Optimizations.sksl",
1157        "shared/Switch.sksl",
1158        "shared/SwitchDefaultOnly.sksl",
1159        "shared/SwitchWithFallthrough.sksl",
1160        "shared/SwitchWithFallthroughAndVarDecls.sksl",
1161        "shared/SwitchWithFallthroughGroups.sksl",
1162        "shared/SwitchWithLoops.sksl",
1163        "shared/SwitchWithLoopsES3.sksl",
1164        "spirv/CombinedSamplerTypeDawnCompatMode.sksl",
1165        "spirv/FunctionParametersOfTextureAndSamplerTypeDawnCompatMode.sksl",
1166        "wgsl/BuiltinFragmentStageIO.sksl",
1167        "wgsl/BuiltinVertexStageIO.vert",
1168        "wgsl/CastMat2x2ToMat3x3.sksl",
1169        "wgsl/CastMat2x2ToVec4.sksl",
1170        "wgsl/CastMat2x3ToMat4x4.sksl",
1171        "wgsl/CastMat4x4ToMat3x4.sksl",
1172        "wgsl/CastMat4x4ToMat4x3.sksl",
1173        "wgsl/CastVec4ToMat2x2.sksl",
1174        "wgsl/EntrypointIsWrittenLast.sksl",
1175        "wgsl/Equality.sksl",
1176        "wgsl/FunctionCallDependencies.sksl",
1177        "wgsl/GlobalUniforms.sksl",
1178        "wgsl/IfStatement.sksl",
1179        "wgsl/IndexExpression.sksl",
1180        "wgsl/InterfaceBlockUniforms.sksl",
1181        "wgsl/MainDoesNotHaveFragCoordParameter.sksl",
1182        "wgsl/MainHasVoidReturn.sksl",
1183        "wgsl/MatrixConstructorDiagonal.sksl",
1184        "wgsl/OutParams.sksl",
1185        "wgsl/PixelLocalStorage.sksl",
1186        "wgsl/Sample.sksl",
1187        "wgsl/SubpassInput.sksl",
1188        "wgsl/TextureIntrinsics.compute",
1189        "wgsl/UniformArrays.sksl",
1190        "wgsl/UniformMatrices.sksl",
1191        "wgsl/UserDefinedPipelineIO.sksl",
1192        "wgsl/VertexPositionOutputIsAlwaysDeclared.vert",
1193        "wgsl/WorkgroupSize.compute",
1194    ],
1195)
1196