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