# Copyright 2020 Google LLC
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Things are easiest for everyone if these source paths are absolute.
_tests = get_path_info("../tests", "abspath")

sksl_fp_error_tests = [
  "$_tests/sksl/errors/GrBadIn.fp",
  "$_tests/sksl/errors/GrBothExplicitReturnAndSkOutColor.fp",
  "$_tests/sksl/errors/GrCannotReturnWithSkOutColor.fp",
  "$_tests/sksl/errors/GrNoFragmentProcessorConstruction.fp",
  "$_tests/sksl/errors/GrNoFragmentProcessorExpressions.fp",
  "$_tests/sksl/errors/GrNoFragmentProcessorLocals.fp",
  "$_tests/sksl/errors/GrNoFragmentProcessorParams.fp",
  "$_tests/sksl/errors/GrNoFragmentProcessorReturn.fp",
]

sksl_fp_tests = [
  "$_tests/sksl/fp/GrChildProcessorAndGlobal.fp",
  "$_tests/sksl/fp/GrChildProcessorFieldAccess.fp",
  "$_tests/sksl/fp/GrChildProcessorInlineFieldAccess.fp",
  "$_tests/sksl/fp/GrChildProcessorSampleCoords.fp",
  "$_tests/sksl/fp/GrChildProcessorSampleMatrixAndCoords.fp",
  "$_tests/sksl/fp/GrChildProcessorSampleMatrixConstant.fp",
  "$_tests/sksl/fp/GrChildProcessorSampleMatrixConstantAndCoords.fp",
  "$_tests/sksl/fp/GrChildProcessorSampleMatrixMultipleUniforms.fp",
  "$_tests/sksl/fp/GrChildProcessorSampleMatrixSingleInUniform.fp",
  "$_tests/sksl/fp/GrChildProcessorSampleMatrixSingleUniform.fp",
  "$_tests/sksl/fp/GrChildProcessorSampleMatrixSingleUniformExpr.fp",
  "$_tests/sksl/fp/GrChildProcessorWithInputExpression.fp",
  "$_tests/sksl/fp/GrChildProcessors.fp",
  "$_tests/sksl/fp/GrChildProcessorsWithInput.fp",
  "$_tests/sksl/fp/GrConditionalInUniform.fp",
  "$_tests/sksl/fp/GrFunction.fp",
  "$_tests/sksl/fp/GrGrSLTypesAreSupported.fp",
  "$_tests/sksl/fp/GrHelloWorld.fp",
  "$_tests/sksl/fp/GrInUniform.fp",
  "$_tests/sksl/fp/GrInUniformCType.fp",
  "$_tests/sksl/fp/GrInlinedFunction.fp",
  "$_tests/sksl/fp/GrKeyIn.fp",
  "$_tests/sksl/fp/GrLayoutWhen.fp",
  "$_tests/sksl/fp/GrMainCoords.fp",
  "$_tests/sksl/fp/GrNestedChildProcessors.fp",
  "$_tests/sksl/fp/GrNonInlinedInUniform.fp",
  "$_tests/sksl/fp/GrNullableChildProcessor.fp",
  "$_tests/sksl/fp/GrSectionClass.fp",
  "$_tests/sksl/fp/GrSectionConstructor.fp",
  "$_tests/sksl/fp/GrSectionConstructorParams.fp",
  "$_tests/sksl/fp/GrSectionCpp.fp",
  "$_tests/sksl/fp/GrSectionDumpInfo.fp",
  "$_tests/sksl/fp/GrSectionEmitCode.fp",
  "$_tests/sksl/fp/GrSectionFields.fp",
  "$_tests/sksl/fp/GrSectionHeader.fp",
  "$_tests/sksl/fp/GrSectionInitializers.fp",
  "$_tests/sksl/fp/GrSectionMake.fp",
  "$_tests/sksl/fp/GrSectionSetData.fp",
  "$_tests/sksl/fp/GrSectionTest.fp",
  "$_tests/sksl/fp/GrTrackedInUniform.fp",
  "$_tests/sksl/fp/GrUniform.fp",
  "$_tests/sksl/fp/GrUniformArrays.fp",
  "$_tests/sksl/fp/GrUseExplicitReturn.fp",
]

sksl_error_tests = [
  "$_tests/sksl/errors/ArgumentCountMismatch.sksl",
  "$_tests/sksl/errors/ArgumentMismatch.sksl",
  "$_tests/sksl/errors/ArgumentModifiers.sksl",
  "$_tests/sksl/errors/AssignmentTypeMismatch.sksl",
  "$_tests/sksl/errors/BadCaps.sksl",
  "$_tests/sksl/errors/BadFieldAccess.sksl",
  "$_tests/sksl/errors/BadIndex.sksl",
  "$_tests/sksl/errors/BadModifiers.sksl",
  "$_tests/sksl/errors/BinaryTypeCoercion.sksl",
  "$_tests/sksl/errors/BinaryTypeMismatch.sksl",
  "$_tests/sksl/errors/BitShiftFloat.sksl",
  "$_tests/sksl/errors/BitShiftFloatMatrix.sksl",
  "$_tests/sksl/errors/BitShiftFloatVector.sksl",
  "$_tests/sksl/errors/BreakOutsideLoop.sksl",
  "$_tests/sksl/errors/CallNonFunction.sksl",
  "$_tests/sksl/errors/CanExitWithoutReturningValue.sksl",
  "$_tests/sksl/errors/ConstructorArgumentCount.sksl",
  "$_tests/sksl/errors/ConstructorTypeMismatch.sksl",
  "$_tests/sksl/errors/ContinueOutsideLoop.sksl",
  "$_tests/sksl/errors/DivideByZero.sksl",
  "$_tests/sksl/errors/DoTypeMismatch.sksl",
  "$_tests/sksl/errors/DuplicateFunction.sksl",
  "$_tests/sksl/errors/DuplicateOutput.sksl",
  "$_tests/sksl/errors/DuplicateSymbol.sksl",
  "$_tests/sksl/errors/EnumValueMustBeConstInt.sksl",
  "$_tests/sksl/errors/ErrorsInDeadCode.sksl",
  "$_tests/sksl/errors/FieldAfterRuntimeArray.sksl",
  "$_tests/sksl/errors/ForTypeMismatch.sksl",
  "$_tests/sksl/errors/GenericArgumentMismatch.sksl",
  "$_tests/sksl/errors/IfTypeMismatch.sksl",
  "$_tests/sksl/errors/InterfaceBlockScope.sksl",
  "$_tests/sksl/errors/InterfaceBlockStorageModifiers.sksl",
  "$_tests/sksl/errors/InvalidAssignment.sksl",
  "$_tests/sksl/errors/InvalidOutParams.sksl",
  "$_tests/sksl/errors/InvalidUnary.sksl",
  "$_tests/sksl/errors/OpenArray.sksl",
  "$_tests/sksl/errors/ReturnDifferentType.sksl",
  "$_tests/sksl/errors/ReturnFromVoid.sksl",
  "$_tests/sksl/errors/ReturnMissingValue.sksl",
  "$_tests/sksl/errors/ReturnTypeMismatch.sksl",
  "$_tests/sksl/errors/SpuriousFloat.sksl",
  "$_tests/sksl/errors/StaticIfTest.sksl",
  "$_tests/sksl/errors/StaticSwitchConditionalBreak.sksl",
  "$_tests/sksl/errors/StaticSwitchTest.sksl",
  "$_tests/sksl/errors/SwitchDuplicateCase.sksl",
  "$_tests/sksl/errors/SwitchTypes.sksl",
  "$_tests/sksl/errors/SwizzleConstantOutput.sksl",
  "$_tests/sksl/errors/SwizzleMatrix.sksl",
  "$_tests/sksl/errors/SwizzleOnlyLiterals.sksl",
  "$_tests/sksl/errors/SwizzleOutOfBounds.sksl",
  "$_tests/sksl/errors/SwizzleTooManyComponents.sksl",
  "$_tests/sksl/errors/TernaryMismatch.sksl",
  "$_tests/sksl/errors/UndefinedFunction.sksl",
  "$_tests/sksl/errors/UndefinedSymbol.sksl",
  "$_tests/sksl/errors/Unreachable.sksl",
  "$_tests/sksl/errors/UnsupportedGLSLIdentifiers.sksl",
  "$_tests/sksl/errors/UseWithoutInitializeArrayIndex.sksl",
  "$_tests/sksl/errors/UseWithoutInitializeBinaryExpr.sksl",
  "$_tests/sksl/errors/UseWithoutInitializeDeadIf.sksl",
  "$_tests/sksl/errors/UseWithoutInitializeDeadSwitch.sksl",
  "$_tests/sksl/errors/UseWithoutInitializeReturnValue.sksl",
  "$_tests/sksl/errors/UseWithoutInitializeVarDecl.sksl",
  "$_tests/sksl/errors/UsingInvalidValue.sksl",
  "$_tests/sksl/errors/WhileTypeMismatch.sksl",
]

sksl_glsl_tests = [
  "$_tests/sksl/glsl/ForceHighPrecision.sksl",
  "$_tests/sksl/glsl/IncompleteShortIntPrecision.sksl",
  "$_tests/sksl/glsl/LayoutQualifiers.sksl",
  "$_tests/sksl/glsl/ShortIntPrecision.sksl",
  "$_tests/sksl/glsl/TextureSharpenVersion110.sksl",
  "$_tests/sksl/glsl/TextureVersion110.sksl",
  "$_tests/sksl/glsl/UsesPrecisionModifiers.sksl",
  "$_tests/sksl/glsl/Version110.sksl",
  "$_tests/sksl/glsl/Version450Core.sksl",
]

sksl_shared_tests = [
  "$_tests/sksl/shared/ArrayConstructors.sksl",
  "$_tests/sksl/shared/ArrayIndexTypes.sksl",
  "$_tests/sksl/shared/ArrayTypes.sksl",
  "$_tests/sksl/shared/Assignment.sksl",
  "$_tests/sksl/shared/BoolFolding.sksl",
  "$_tests/sksl/shared/Caps.sksl",
  "$_tests/sksl/shared/CastsRoundTowardZero.sksl",
  "$_tests/sksl/shared/Clockwise.sksl",
  "$_tests/sksl/shared/ComplexDelete.sksl",
  "$_tests/sksl/shared/ConstArray.sksl",
  "$_tests/sksl/shared/ConstVariableComparison.sksl",
  "$_tests/sksl/shared/ConstantIf.sksl",
  "$_tests/sksl/shared/Control.sksl",
  "$_tests/sksl/shared/DeadDoWhileLoop.sksl",
  "$_tests/sksl/shared/DeadLoopVariable.sksl",
  "$_tests/sksl/shared/DependentInitializers.sksl",
  "$_tests/sksl/shared/DerivativesUnused.sksl",
  "$_tests/sksl/shared/Discard.sksl",
  "$_tests/sksl/shared/FloatFolding.sksl",
  "$_tests/sksl/shared/FrExp.sksl",
  "$_tests/sksl/shared/FragCoordsFlipY.sksl",
  "$_tests/sksl/shared/FragCoordsNew.sksl",
  "$_tests/sksl/shared/FragCoordsOld.sksl",
  "$_tests/sksl/shared/FunctionArgumentMatch.sksl",
  "$_tests/sksl/shared/FunctionPrototype.sksl",
  "$_tests/sksl/shared/Functions.sksl",
  "$_tests/sksl/shared/Geometry.geom",
  "$_tests/sksl/shared/GeometryExtension.geom",
  "$_tests/sksl/shared/GeometryGSInvocations.geom",
  "$_tests/sksl/shared/GeometryNoGSInvocations.geom",
  "$_tests/sksl/shared/Height.sksl",
  "$_tests/sksl/shared/HelloWorld.sksl",
  "$_tests/sksl/shared/Hex.sksl",
  "$_tests/sksl/shared/InstanceID.vert",
  "$_tests/sksl/shared/IntFolding.sksl",
  "$_tests/sksl/shared/InterfaceBlockAnonymous.sksl",
  "$_tests/sksl/shared/InterfaceBlockArray.sksl",
  "$_tests/sksl/shared/InterfaceBlockNamed.sksl",
  "$_tests/sksl/shared/Matrices.sksl",
  "$_tests/sksl/shared/MatrixFolding.sksl",
  "$_tests/sksl/shared/MultipleAssignments.sksl",
  "$_tests/sksl/shared/NegatedVectorLiteral.sksl",
  "$_tests/sksl/shared/NoFragCoordsPos.vert",
  "$_tests/sksl/shared/NoFragCoordsPosRT.vert",
  "$_tests/sksl/shared/NormalizationGeo.geom",
  "$_tests/sksl/shared/NormalizationVert.vert",
  "$_tests/sksl/shared/NumberConversions.sksl",
  "$_tests/sksl/shared/Offset.sksl",
  "$_tests/sksl/shared/Operators.sksl",
  "$_tests/sksl/shared/OutParams.sksl",
  "$_tests/sksl/shared/OutParamsTricky.sksl",
  "$_tests/sksl/shared/RectangleTexture.sksl",
  "$_tests/sksl/shared/ResizeMatrix.sksl",
  "$_tests/sksl/shared/SampleMask.sksl",
  "$_tests/sksl/shared/ScopedSymbol.sksl",
  "$_tests/sksl/shared/ShortCircuitBoolFolding.sksl",
  "$_tests/sksl/shared/StackingVectorCasts.sksl",
  "$_tests/sksl/shared/StaticIf.sksl",
  "$_tests/sksl/shared/StaticSwitch.sksl",
  "$_tests/sksl/shared/StaticSwitchWithBreak.sksl",
  "$_tests/sksl/shared/StaticSwitchWithBreakInsideBlock.sksl",
  "$_tests/sksl/shared/StaticSwitchWithConditionalBreak.sksl",
  "$_tests/sksl/shared/StaticSwitchWithConditionalBreakInsideBlock.sksl",
  "$_tests/sksl/shared/StaticSwitchWithFallthroughA.sksl",
  "$_tests/sksl/shared/StaticSwitchWithFallthroughB.sksl",
  "$_tests/sksl/shared/StaticSwitchWithStaticConditionalBreak.sksl",
  "$_tests/sksl/shared/StaticSwitchWithStaticConditionalBreakInsideBlock.sksl",
  "$_tests/sksl/shared/Structs.sksl",
  "$_tests/sksl/shared/Switch.sksl",
  "$_tests/sksl/shared/SwitchContainingDeadCode.sksl",
  "$_tests/sksl/shared/SwitchWithFallthrough.sksl",
  "$_tests/sksl/shared/SwizzleBoolConstants.sksl",
  "$_tests/sksl/shared/SwizzleConstants.sksl",
  "$_tests/sksl/shared/SwizzleLTRB.sksl",
  "$_tests/sksl/shared/SwizzleOpt.sksl",
  "$_tests/sksl/shared/SwizzleScalar.sksl",
  "$_tests/sksl/shared/TernaryAsLValueEntirelyFoldable.sksl",
  "$_tests/sksl/shared/TernaryAsLValueFoldableTest.sksl",
  "$_tests/sksl/shared/Texture.sksl",
  "$_tests/sksl/shared/TextureSharpen.sksl",
  "$_tests/sksl/shared/UnaryPositiveNegative.sksl",
  "$_tests/sksl/shared/UnusedVariables.sksl",
  "$_tests/sksl/shared/VectorConstructors.sksl",
  "$_tests/sksl/shared/VectorFolding.sksl",
  "$_tests/sksl/shared/VertexID.vert",
  "$_tests/sksl/shared/Width.sksl",
]

sksl_inliner_tests = [
  "$_tests/sksl/inliner/DoWhileBodyMustBeInlinedIntoAScope.sksl",
  "$_tests/sksl/inliner/DoWhileTestCannotBeInlined.sksl",
  "$_tests/sksl/inliner/ForBodyMustBeInlinedIntoAScope.sksl",
  "$_tests/sksl/inliner/ForInitializerExpressionsCanBeInlined.sksl",
  "$_tests/sksl/inliner/ForWithReturnInsideCannotBeInlined.sksl",
  "$_tests/sksl/inliner/ForWithoutReturnInsideCanBeInlined.sksl",
  "$_tests/sksl/inliner/IfBodyMustBeInlinedIntoAScope.sksl",
  "$_tests/sksl/inliner/IfElseBodyMustBeInlinedIntoAScope.sksl",
  "$_tests/sksl/inliner/IfElseChainWithReturnsCanBeInlined.sksl",
  "$_tests/sksl/inliner/IfTestCanBeInlined.sksl",
  "$_tests/sksl/inliner/IfWithReturnsCanBeInlined.sksl",
  "$_tests/sksl/inliner/InlineKeywordOverridesThreshold.sksl",
  "$_tests/sksl/inliner/InlineThreshold.sksl",
  "$_tests/sksl/inliner/InlineWithInoutArgument.sksl",
  "$_tests/sksl/inliner/InlineWithModifiedArgument.sksl",
  "$_tests/sksl/inliner/InlineWithNestedBigCalls.sksl",
  "$_tests/sksl/inliner/InlineWithNestedCalls.sksl",
  "$_tests/sksl/inliner/InlineWithUnmodifiedArgument.sksl",
  "$_tests/sksl/inliner/InlineWithUnnecessaryBlocks.sksl",
  "$_tests/sksl/inliner/InlinerAvoidsVariableNameOverlap.sksl",
  "$_tests/sksl/inliner/InlinerManglesNames.sksl",
  "$_tests/sksl/inliner/ShortCircuitEvaluationsCannotInlineRightHandSide.sksl",
  "$_tests/sksl/inliner/SwitchWithCastCanBeInlined.sksl",
  "$_tests/sksl/inliner/SwitchWithReturnInsideCannotBeInlined.sksl",
  "$_tests/sksl/inliner/SwitchWithoutReturnInsideCanBeInlined.sksl",
  "$_tests/sksl/inliner/SwizzleCanBeInlinedDirectly.sksl",
  "$_tests/sksl/inliner/TernaryResultsCannotBeInlined.sksl",
  "$_tests/sksl/inliner/TernaryTestCanBeInlined.sksl",
  "$_tests/sksl/inliner/TrivialArgumentsInlineDirectly.sksl",
  "$_tests/sksl/inliner/WhileBodyMustBeInlinedIntoAScope.sksl",
  "$_tests/sksl/inliner/WhileTestCannotBeInlined.sksl",
]

sksl_blend_tests = [
  "$_tests/sksl/blend/BlendClear.sksl",
  "$_tests/sksl/blend/BlendColor.sksl",
  "$_tests/sksl/blend/BlendColorBurn.sksl",
  "$_tests/sksl/blend/BlendColorDodge.sksl",
  "$_tests/sksl/blend/BlendDarken.sksl",
  "$_tests/sksl/blend/BlendDifference.sksl",
  "$_tests/sksl/blend/BlendDst.sksl",
  "$_tests/sksl/blend/BlendDstAtop.sksl",
  "$_tests/sksl/blend/BlendDstIn.sksl",
  "$_tests/sksl/blend/BlendDstOut.sksl",
  "$_tests/sksl/blend/BlendDstOver.sksl",
  "$_tests/sksl/blend/BlendExclusion.sksl",
  "$_tests/sksl/blend/BlendHardLight.sksl",
  "$_tests/sksl/blend/BlendHue.sksl",
  "$_tests/sksl/blend/BlendLighten.sksl",
  "$_tests/sksl/blend/BlendLuminosity.sksl",
  "$_tests/sksl/blend/BlendModulate.sksl",
  "$_tests/sksl/blend/BlendMultiply.sksl",
  "$_tests/sksl/blend/BlendOverlap.sksl",
  "$_tests/sksl/blend/BlendPlus.sksl",
  "$_tests/sksl/blend/BlendSaturation.sksl",
  "$_tests/sksl/blend/BlendScreen.sksl",
  "$_tests/sksl/blend/BlendSoftLight.sksl",
  "$_tests/sksl/blend/BlendSrc.sksl",
  "$_tests/sksl/blend/BlendSrcAtop.sksl",
  "$_tests/sksl/blend/BlendSrcIn.sksl",
  "$_tests/sksl/blend/BlendSrcOut.sksl",
  "$_tests/sksl/blend/BlendSrcOver.sksl",
  "$_tests/sksl/blend/BlendXor.sksl",
]

sksl_settings_tests = [
  "$_tests/sksl/glsl/TypePrecision.sksl",
  "$_tests/sksl/inliner/InlinerWrapsEarlyReturnsWithDoWhileBlock.sksl",
  "$_tests/sksl/shared/Derivatives.sksl",
  "$_tests/sksl/shared/DerivativesFlipY.sksl",
  "$_tests/sksl/workarounds/AbsInt.sksl",
  "$_tests/sksl/workarounds/FractNegative.sksl",
  "$_tests/sksl/workarounds/FragCoords.sksl",
  "$_tests/sksl/workarounds/LoopCondition.sksl",
  "$_tests/sksl/workarounds/MinAndAbsTogether.sksl",
  "$_tests/sksl/workarounds/NegatedAtan.sksl",
  "$_tests/sksl/workarounds/PowWithConstantExponent.sksl",
  "$_tests/sksl/workarounds/RewriteDoWhileLoops.sksl",
  "$_tests/sksl/workarounds/TernaryShortCircuit.sksl",
]

# Tests in sksl_fp_tests_sources will be compiled with --settings on, and are expected to generate
# a .cpp and a .h output file.
sksl_fp_tests_sources = sksl_fp_error_tests + sksl_fp_tests

# Tests in sksl_glsl_tests_sources will be compiled with --settings on, and are expected to generate
# a .glsl output file.
sksl_glsl_tests_sources =
    sksl_error_tests + sksl_glsl_tests + sksl_inliner_tests + sksl_shared_tests

# Tests in sksl_glsl_settings_tests_sources will be compiled twice, once with --settings and once
# using --nosettings. In the latter mode, StandaloneSettings is appended to the output filename.
sksl_glsl_settings_tests_sources = sksl_blend_tests + sksl_settings_tests

# Tests in sksl_metal_tests_sources will be compiled with --settings on, and are expected to
# generate a .metal output file.
sksl_metal_tests_sources = sksl_blend_tests + sksl_shared_tests
