skia2/gn/sksl_tests.gni

588 lines
23 KiB
Plaintext
Raw Normal View History

# Copyright 2020 Google LLC
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
sksl_error_tests = [
"/sksl/errors/ArgumentCountMismatch.sksl",
"/sksl/errors/ArgumentMismatch.sksl",
"/sksl/errors/ArgumentModifiers.sksl",
"/sksl/errors/ArrayConstructorElementCount.sksl",
"/sksl/errors/ArrayIndexOutOfRange.sksl",
"/sksl/errors/ArrayOfVoid.sksl",
"/sksl/errors/ArrayOfVoidInStruct.sksl",
"/sksl/errors/ArrayReturnTypes.sksl",
"/sksl/errors/ArraySplitDimensions.sksl",
"/sksl/errors/ArraySplitDimensionsInFuncBody.sksl",
"/sksl/errors/ArraySplitDimensionsInFuncDecl.sksl",
"/sksl/errors/ArraySplitDimensionsInStruct.sksl",
"/sksl/errors/ArrayTooManyDimensions.sksl",
"/sksl/errors/ArrayTooManyDimensionsInFuncBody.sksl",
"/sksl/errors/ArrayTooManyDimensionsInFuncDecl.sksl",
"/sksl/errors/ArrayTooManyDimensionsInStruct.sksl",
"/sksl/errors/ArrayTypeTooManyDimensions.sksl",
"/sksl/errors/ArrayTypeTooManyDimensionsInFuncBody.sksl",
"/sksl/errors/ArrayTypeTooManyDimensionsInFuncDecl.sksl",
"/sksl/errors/ArrayTypeTooManyDimensionsInStruct.sksl",
"/sksl/errors/ArrayUnspecifiedDimensions.sksl",
"/sksl/errors/AssignmentTypeMismatch.sksl",
"/sksl/errors/BadCaps.sksl",
"/sksl/errors/BadConstInitializers.sksl",
"/sksl/errors/BadFieldAccess.sksl",
"/sksl/errors/BadIndex.sksl",
"/sksl/errors/BadModifiers.sksl",
"/sksl/errors/BinaryInvalidType.sksl",
"/sksl/errors/BinaryTypeCoercion.sksl",
"/sksl/errors/BinaryTypeMismatch.sksl",
"/sksl/errors/BitShiftFloat.sksl",
"/sksl/errors/BitShiftFloatMatrix.sksl",
"/sksl/errors/BitShiftFloatVector.sksl",
"/sksl/errors/BooleanArithmetic.sksl",
"/sksl/errors/BreakOutsideLoop.sksl",
"/sksl/errors/CallNonFunction.sksl",
"/sksl/errors/CanExitWithoutReturningValue.sksl",
"/sksl/errors/ConstructorArgumentCount.sksl",
"/sksl/errors/ConstructorTypeMismatch.sksl",
"/sksl/errors/ContinueOutsideLoop.sksl",
"/sksl/errors/DivideByZero.sksl",
"/sksl/errors/DoTypeMismatch.sksl",
"/sksl/errors/DuplicateFunction.sksl",
"/sksl/errors/DuplicateOutput.sksl",
"/sksl/errors/DuplicateSymbol.sksl",
"/sksl/errors/EmptyArray.sksl",
"/sksl/errors/EmptyStruct.sksl",
"/sksl/errors/ErrorsInDeadCode.sksl",
"/sksl/errors/FloatRemainder.sksl",
"/sksl/errors/ForInitStmt.sksl",
"/sksl/errors/ForTypeMismatch.sksl",
"/sksl/errors/FunctionParameterOfVoid.sksl",
"/sksl/errors/GenericArgumentMismatch.sksl",
"/sksl/errors/PrecisionQualifiersDisallowed.sksl",
"/sksl/errors/IfTypeMismatch.sksl",
"/sksl/errors/InVarWithInitializerExpression.sksl",
"/sksl/errors/InterfaceBlockScope.sksl",
"/sksl/errors/InterfaceBlockStorageModifiers.sksl",
"/sksl/errors/InterfaceBlockWithNoMembers.sksl",
"/sksl/errors/InvalidAssignment.sksl",
"/sksl/errors/InvalidOutParams.sksl",
"/sksl/errors/InvalidToken.sksl",
"/sksl/errors/InvalidUnary.sksl",
"/sksl/errors/LayoutInFunctions.sksl",
"/sksl/errors/LayoutMultiplePrimitiveTypes.sksl",
"/sksl/errors/LayoutRepeatedQualifiers.sksl",
"/sksl/errors/MatrixToVectorCast3x3.sksl",
"/sksl/errors/MatrixToVectorCastBoolean.sksl",
"/sksl/errors/MatrixToVectorCastInteger.sksl",
"/sksl/errors/MatrixToVectorCastTooSmall.sksl",
"/sksl/errors/MismatchedNumbers.sksl",
"/sksl/errors/ModifiersInStruct.sksl",
"/sksl/errors/NoES3ModifierInUserCode.sksl",
"/sksl/errors/OpaqueTypeAssignment.sksl",
"/sksl/errors/OpaqueTypeConstruction.sksl",
"/sksl/errors/OpaqueTypeInArray.sksl",
"/sksl/errors/OpaqueTypeInInterfaceBlock.sksl",
"/sksl/errors/OpaqueTypeInStruct.sksl",
"/sksl/errors/OpenArray.sksl",
"/sksl/errors/Ossfuzz26700.sksl",
"/sksl/errors/Ossfuzz27614.sksl",
"/sksl/errors/Ossfuzz27650.sksl",
"/sksl/errors/Ossfuzz27663.sksl",
"/sksl/errors/Ossfuzz28050.sksl",
"/sksl/errors/Ossfuzz29444.sksl",
"/sksl/errors/Ossfuzz29845.sksl",
"/sksl/errors/Ossfuzz29849.sksl",
"/sksl/errors/Ossfuzz31410.sksl",
"/sksl/errors/Ossfuzz31469.sksl",
"/sksl/errors/Ossfuzz32156.sksl",
"/sksl/errors/Ossfuzz32587.sksl",
"/sksl/errors/Ossfuzz32851.sksl",
"/sksl/errors/OverflowFloatLiteral.sksl",
"/sksl/errors/OverflowIntLiteral.sksl",
"/sksl/errors/OverflowInt64Literal.sksl",
"/sksl/errors/OverflowParamArraySize.sksl",
"/sksl/errors/OverflowUintLiteral.sksl",
"/sksl/errors/PrototypeInFuncBody.sksl",
"/sksl/errors/PrivateTypes.sksl",
"/sksl/errors/RedeclareBasicType.sksl",
"/sksl/errors/RedeclareSamplerType.sksl",
"/sksl/errors/RedeclareStruct.sksl",
"/sksl/errors/RedeclareStructTypeWithName.sksl",
"/sksl/errors/RedeclareUserType.sksl",
"/sksl/errors/RedeclareVariable.sksl",
"/sksl/errors/ReturnDifferentType.sksl",
"/sksl/errors/ReturnFromVoid.sksl",
"/sksl/errors/ReturnMissingValue.sksl",
"/sksl/errors/ReturnTypeMismatch.sksl",
"/sksl/errors/SelfReferentialInitializerExpression.sksl",
"/sksl/errors/SpuriousFloat.sksl",
"/sksl/errors/StaticIfTest.sksl",
"/sksl/errors/StaticSwitchConditionalBreak.sksl",
"/sksl/errors/StaticSwitchTest.sksl",
"/sksl/errors/StaticSwitchWithConditionalBreak.sksl",
"/sksl/errors/StaticSwitchWithConditionalContinue.sksl",
"/sksl/errors/StaticSwitchWithConditionalReturn.sksl",
"/sksl/errors/StructNameWithoutIdentifier.sksl",
"/sksl/errors/StructTooDeeplyNested.sksl",
"/sksl/errors/SwitchDuplicateCase.sksl",
"/sksl/errors/SwitchDuplicateDefault.sksl",
"/sksl/errors/SwitchTypes.sksl",
"/sksl/errors/SwizzleConstantOutput.sksl",
"/sksl/errors/SwizzleDomain.sksl",
"/sksl/errors/SwizzleMatrix.sksl",
"/sksl/errors/SwizzleOnlyLiterals.sksl",
"/sksl/errors/SwizzleOutOfBounds.sksl",
"/sksl/errors/SwizzleTooManyComponents.sksl",
"/sksl/errors/TernaryMismatch.sksl",
"/sksl/errors/UndeclaredFunction.sksl",
"/sksl/errors/UndefinedFunction.sksl",
"/sksl/errors/UndefinedSymbol.sksl",
"/sksl/errors/UniformVarWithInitializerExpression.sksl",
"/sksl/errors/UnknownDivideByZero.sksl",
"/sksl/errors/UnsupportedGLSLIdentifiers.sksl",
"/sksl/errors/UnscopedVariableInDoWhile.sksl",
"/sksl/errors/UnscopedVariableInElse.sksl",
"/sksl/errors/UnscopedVariableInFor.sksl",
"/sksl/errors/UnscopedVariableInIf.sksl",
"/sksl/errors/UnscopedVariableInWhile.sksl",
"/sksl/errors/UsingInvalidValue.sksl",
"/sksl/errors/VectorSlice.sksl",
"/sksl/errors/WhileTypeMismatch.sksl",
]
sksl_glsl_tests = [
"/sksl/glsl/ForceHighPrecision.sksl",
"/sksl/glsl/IncompleteShortIntPrecision.sksl",
"/sksl/glsl/LayoutQualifiers.sksl",
"/sksl/glsl/ShortIntPrecision.sksl",
"/sksl/glsl/TextureSharpenVersion110.sksl",
"/sksl/glsl/TextureVersion110.sksl",
"/sksl/glsl/UsesPrecisionModifiers.sksl",
"/sksl/glsl/Version110.sksl",
"/sksl/glsl/Version450Core.sksl",
]
sksl_metal_tests = [
"/sksl/metal/CastHalf4ToMat2x2.sksl",
"/sksl/metal/CastMat2x2ToMat3x3.sksl",
"/sksl/metal/CastMat2x3ToMat4x4.sksl",
"/sksl/metal/CastMat4x4ToMat3x4.sksl",
"/sksl/metal/CastMat4x4ToMat4x3.sksl",
"/sksl/metal/NumericGlobals.sksl",
"/sksl/metal/OpaqueTypeInInterfaceBlock.sksl",
"/sksl/metal/OpaqueTypeInStruct.sksl",
"/sksl/metal/OutParams.sksl",
"/sksl/metal/OutVarsRequireLocation.sksl",
"/sksl/metal/SamplerGlobals.sksl",
"/sksl/metal/SwizzleHelper.sksl",
]
sksl_spirv_tests = [
"/sksl/spirv/ConstantVectorFromVector.sksl",
"/sksl/spirv/InterfaceBlockPushConstant.sksl",
"/sksl/spirv/LayoutMultipleOf4.sksl",
"/sksl/spirv/LayoutOutOfOrder.sksl",
"/sksl/spirv/OpaqueTypeInArray.sksl",
"/sksl/workarounds/RewriteMatrixVectorMultiply.sksl",
"/sksl/errors/Ossfuzz36850.sksl",
"/sksl/errors/UndefinedFunction.sksl",
"/sksl/errors/UnusedInterfaceBlock.sksl",
]
sksl_shared_tests = [
Reland "Add some SkSL intrinsics to our dm tests." This reverts commit b576168c8ca86daa494f2d64f2967e83bd65efa9. Reason for revert: disabled floor test due to undiagnosed ANGLE + DX9 + Intel6000 failures Original change's description: > Revert "Add some SkSL intrinsics to our dm tests." > > This reverts commit 0492a744a52db0eaf360d2d3fce3ec5ca75dc5f0. > > Reason for revert: Intel HD6000 + ANGLE DX9 fails the floor() test. > > Original change's description: > > Add some SkSL intrinsics to our dm tests. > > > > This CL adds dm coverage for: > > - abs(half) > > - sign(half) > > - floor > > - ceil > > > > And creates test output for abs(int) and sign(int); these aren't covered > > by dm because they don't exist in ES2 and so are unsupported by Runtime > > Effects. > > > > Change-Id: Ia3e660408cef50dec8fa4b6bdc12906e96179f6e > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/360419 > > Reviewed-by: Ethan Nicholas <ethannicholas@google.com> > > Commit-Queue: John Stiles <johnstiles@google.com> > > Auto-Submit: John Stiles <johnstiles@google.com> > > TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com > > Change-Id: I62121efee9315b16e61e7d38659b6f629bdf8bd8 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/362056 > Reviewed-by: John Stiles <johnstiles@google.com> > Commit-Queue: John Stiles <johnstiles@google.com> TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com Change-Id: I22f22f631d85d93a8fe5686a99311ec2cf85fa4d Reviewed-on: https://skia-review.googlesource.com/c/skia/+/362103 Reviewed-by: John Stiles <johnstiles@google.com> Commit-Queue: John Stiles <johnstiles@google.com> Auto-Submit: John Stiles <johnstiles@google.com>
2021-01-29 16:44:13 +00:00
"/sksl/intrinsics/AbsFloat.sksl",
"/sksl/intrinsics/AbsInt.sksl",
"/sksl/intrinsics/Acos.sksl",
"/sksl/intrinsics/Acosh.sksl",
"/sksl/intrinsics/All.sksl",
"/sksl/intrinsics/Any.sksl",
"/sksl/intrinsics/Asin.sksl",
"/sksl/intrinsics/Asinh.sksl",
"/sksl/intrinsics/Atan.sksl",
"/sksl/intrinsics/Atanh.sksl",
"/sksl/intrinsics/BitCount.sksl",
"/sksl/intrinsics/Ceil.sksl",
"/sksl/intrinsics/ClampFloat.sksl",
"/sksl/intrinsics/ClampInt.sksl",
"/sksl/intrinsics/Cos.sksl",
"/sksl/intrinsics/Cosh.sksl",
"/sksl/intrinsics/Cross.sksl",
"/sksl/intrinsics/CrossNoInline.sksl",
"/sksl/intrinsics/Degrees.sksl",
"/sksl/intrinsics/Determinant.sksl",
"/sksl/intrinsics/DFdx.sksl",
"/sksl/intrinsics/DFdy.sksl",
"/sksl/intrinsics/Distance.sksl",
"/sksl/intrinsics/Dot.sksl",
"/sksl/intrinsics/Equal.sksl",
"/sksl/intrinsics/Exp.sksl",
"/sksl/intrinsics/Exp2.sksl",
"/sksl/intrinsics/FaceForward.sksl",
"/sksl/intrinsics/FindLSB.sksl",
"/sksl/intrinsics/FindMSB.sksl",
"/sksl/intrinsics/FloatBitsToInt.sksl",
"/sksl/intrinsics/FloatBitsToUint.sksl",
"/sksl/intrinsics/Floor.sksl",
"/sksl/intrinsics/Fma.sksl",
"/sksl/intrinsics/Fract.sksl",
"/sksl/intrinsics/Frexp.sksl",
"/sksl/intrinsics/Fwidth.sksl",
"/sksl/intrinsics/GreaterThan.sksl",
"/sksl/intrinsics/GreaterThanEqual.sksl",
"/sksl/intrinsics/IntBitsToFloat.sksl",
"/sksl/intrinsics/Inverse.sksl",
"/sksl/intrinsics/Inversesqrt.sksl",
"/sksl/intrinsics/IsInf.sksl",
"/sksl/intrinsics/IsNan.sksl",
"/sksl/intrinsics/Ldexp.sksl",
"/sksl/intrinsics/Length.sksl",
"/sksl/intrinsics/LessThan.sksl",
"/sksl/intrinsics/LessThanEqual.sksl",
"/sksl/intrinsics/Log.sksl",
"/sksl/intrinsics/Log2.sksl",
"/sksl/intrinsics/MatrixCompMult.sksl",
"/sksl/intrinsics/MaxFloat.sksl",
"/sksl/intrinsics/MaxInt.sksl",
"/sksl/intrinsics/MinFloat.sksl",
"/sksl/intrinsics/MinInt.sksl",
"/sksl/intrinsics/MixFloat.sksl",
"/sksl/intrinsics/MixBool.sksl",
"/sksl/intrinsics/Mod.sksl",
"/sksl/intrinsics/Modf.sksl",
"/sksl/intrinsics/Normalize.sksl",
"/sksl/intrinsics/Not.sksl",
"/sksl/intrinsics/NotEqual.sksl",
"/sksl/intrinsics/OuterProduct.sksl",
"/sksl/intrinsics/Pack.sksl",
"/sksl/intrinsics/Pow.sksl",
"/sksl/intrinsics/Radians.sksl",
"/sksl/intrinsics/Reflect.sksl",
"/sksl/intrinsics/Refract.sksl",
"/sksl/intrinsics/Round.sksl",
"/sksl/intrinsics/RoundEven.sksl",
"/sksl/intrinsics/Saturate.sksl",
Reland "Add some SkSL intrinsics to our dm tests." This reverts commit b576168c8ca86daa494f2d64f2967e83bd65efa9. Reason for revert: disabled floor test due to undiagnosed ANGLE + DX9 + Intel6000 failures Original change's description: > Revert "Add some SkSL intrinsics to our dm tests." > > This reverts commit 0492a744a52db0eaf360d2d3fce3ec5ca75dc5f0. > > Reason for revert: Intel HD6000 + ANGLE DX9 fails the floor() test. > > Original change's description: > > Add some SkSL intrinsics to our dm tests. > > > > This CL adds dm coverage for: > > - abs(half) > > - sign(half) > > - floor > > - ceil > > > > And creates test output for abs(int) and sign(int); these aren't covered > > by dm because they don't exist in ES2 and so are unsupported by Runtime > > Effects. > > > > Change-Id: Ia3e660408cef50dec8fa4b6bdc12906e96179f6e > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/360419 > > Reviewed-by: Ethan Nicholas <ethannicholas@google.com> > > Commit-Queue: John Stiles <johnstiles@google.com> > > Auto-Submit: John Stiles <johnstiles@google.com> > > TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com > > Change-Id: I62121efee9315b16e61e7d38659b6f629bdf8bd8 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/362056 > Reviewed-by: John Stiles <johnstiles@google.com> > Commit-Queue: John Stiles <johnstiles@google.com> TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com Change-Id: I22f22f631d85d93a8fe5686a99311ec2cf85fa4d Reviewed-on: https://skia-review.googlesource.com/c/skia/+/362103 Reviewed-by: John Stiles <johnstiles@google.com> Commit-Queue: John Stiles <johnstiles@google.com> Auto-Submit: John Stiles <johnstiles@google.com>
2021-01-29 16:44:13 +00:00
"/sksl/intrinsics/SignFloat.sksl",
"/sksl/intrinsics/SignInt.sksl",
"/sksl/intrinsics/Sin.sksl",
"/sksl/intrinsics/Sinh.sksl",
"/sksl/intrinsics/Smoothstep.sksl",
"/sksl/intrinsics/Sqrt.sksl",
"/sksl/intrinsics/Step.sksl",
"/sksl/intrinsics/Tan.sksl",
"/sksl/intrinsics/Tanh.sksl",
"/sksl/intrinsics/Transpose.sksl",
"/sksl/intrinsics/Trunc.sksl",
"/sksl/intrinsics/UintBitsToFloat.sksl",
"/sksl/intrinsics/Unpack.sksl",
Add support for array-cast syntax in SkSL. Compiling a program with "allow narrowing conversions" actually fixes up narrowing casts in the program by inserting casts wherever they would be needed for type-correctness. For instance, compiling the statement `half h = myFloat;` inserts an appropriate narrowing cast: `half h = half(myFloat);`. The Pipeline stage code generator relies on this behavior, as when it re-emits a runtime effect into a complete SkSL program, the narrowing- conversions flag will no longer be set, but that is okay, because the emitted code now contains typecasts anywhere they would be necessary. Logically, this implies that anything which supports narrowing conversions must be castable between high and low precision. In GLSL and SPIR-V, such a cast is trivial, because the types are the same and the precision qualifiers are treated as individual hints on each variable. In Metal, we dodge the issue by only emitting full-precision types. But we also need to emit raw SkSL from an SkSL program (that is what the Pipeline stage generator does). SkSL already supported every typical cast, but GLSL lacked any syntax for casting an array to a different type. This meant SkSL had no array casting syntax as well. SkSL now has array-cast syntax, but it is only allowed for casting low/high-precision arrays to the same base type. (You can't cast an int array to float, or a signed array to unsigned.) Change-Id: Ia20933541c3bd4a946c1ea38209f93008acdb9cb Bug: skia:12248 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/437687 Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-08-10 20:03:44 +00:00
"/sksl/shared/ArrayCast.sksl",
"/sksl/shared/ArrayComparison.sksl",
"/sksl/shared/ArrayConstructors.sksl",
"/sksl/shared/ArrayIndexTypes.sksl",
"/sksl/shared/ArrayNarrowingConversions.sksl",
"/sksl/shared/ArrayTypes.sksl",
"/sksl/shared/Assignment.sksl",
"/sksl/shared/Caps.sksl",
"/sksl/shared/CastsRoundTowardZero.sksl",
"/sksl/shared/Clockwise.sksl",
"/sksl/shared/CommaMixedTypes.sksl",
"/sksl/shared/CommaSideEffects.sksl",
"/sksl/shared/ComplexDelete.sksl",
"/sksl/shared/ConstArray.sksl",
"/sksl/shared/ConstVariableComparison.sksl",
"/sksl/shared/ConstantIf.sksl",
"/sksl/shared/Control.sksl",
"/sksl/shared/DeadDoWhileLoop.sksl",
"/sksl/shared/DeadIfStatement.sksl",
"/sksl/shared/DeadLoopVariable.sksl",
"/sksl/shared/DeadReturn.sksl",
"/sksl/shared/DeadReturnES3.sksl",
"/sksl/shared/DeadStripFunctions.sksl",
"/sksl/shared/DependentInitializers.sksl",
"/sksl/shared/DerivativesUnused.sksl",
"/sksl/shared/Discard.sksl",
"/sksl/shared/DoWhileControlFlow.sksl",
"/sksl/shared/EmptyBlocksES2.sksl",
"/sksl/shared/EmptyBlocksES3.sksl",
"/sksl/shared/ForLoopControlFlow.sksl",
"/sksl/shared/ForLoopMultipleInit.sksl",
"/sksl/shared/FragCoords.sksl",
"/sksl/shared/FunctionArgTypeMatch.sksl",
"/sksl/shared/FunctionReturnTypeMatch.sksl",
"/sksl/shared/FunctionPrototype.sksl",
"/sksl/shared/Functions.sksl",
"/sksl/shared/GaussianBlur.sksl",
"/sksl/shared/GeometricIntrinsics.sksl",
"/sksl/shared/Geometry.geom",
"/sksl/shared/GeometryExtension.geom",
"/sksl/shared/GeometryGSInvocations.geom",
"/sksl/shared/GeometryNoGSInvocations.geom",
"/sksl/shared/GeometryNoGSInvocationsReorder.geom",
"/sksl/shared/HelloWorld.sksl",
"/sksl/shared/Hex.sksl",
"/sksl/shared/HexUnsigned.sksl",
"/sksl/shared/InstanceID.vert",
"/sksl/shared/InterfaceBlockNamed.sksl",
"/sksl/shared/InterfaceBlockNamedArray.sksl",
"/sksl/shared/Matrices.sksl",
"/sksl/shared/MatricesNonsquare.sksl",
"/sksl/shared/MatrixEquality.sksl",
"/sksl/shared/MatrixScalarSplat.sksl",
Reland "Add tests for matrix-vector conversions." This reverts commit f009db5b854b350e9f884fd5268e80271537578b. Reason for revert: test disabled on Win10 + Intel 4400/6100 Original change's description: > Revert "Add tests for matrix-vector conversions." > > This reverts commit a89781215a8182beb0893a004654fef157313259. > > Reason for revert: breakage on Windows > > Original change's description: > > Add tests for matrix-vector conversions. > > > > GLSL supports casting vec4 into mat2 and vice versa, so SkSL should have > > equivalent support. Adding tests as a starting point. > > > > Change-Id: If8bcbf99afcec94d948d5da9e6205cb4a232af18 > > Bug: skia:12067 > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425837 > > Auto-Submit: John Stiles <johnstiles@google.com> > > Commit-Queue: Brian Osman <brianosman@google.com> > > Reviewed-by: Brian Osman <brianosman@google.com> > > TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com > > Change-Id: I2563041f538b1b20074385f1b61af5fc506ffad5 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia:12067 > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426057 > Reviewed-by: John Stiles <johnstiles@google.com> > Commit-Queue: John Stiles <johnstiles@google.com> Bug: skia:12067 Change-Id: I1379914ee39ce340f09b11b3754820db9c645378 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426058 Reviewed-by: John Stiles <johnstiles@google.com> Auto-Submit: John Stiles <johnstiles@google.com> Commit-Queue: John Stiles <johnstiles@google.com>
2021-07-08 22:20:21 +00:00
"/sksl/shared/MatrixToVectorCast.sksl",
"/sksl/shared/MultipleAssignments.sksl",
"/sksl/shared/NegatedVectorLiteral.sksl",
"/sksl/shared/NoFragCoordsPos.vert",
"/sksl/shared/NoFragCoordsPosRT.vert",
"/sksl/shared/NormalizationGeo.geom",
"/sksl/shared/NormalizationVert.vert",
"/sksl/shared/NumberCasts.sksl",
"/sksl/shared/NumberConversions.sksl",
"/sksl/shared/Offset.sksl",
"/sksl/shared/OperatorsES2.sksl",
"/sksl/shared/OperatorsES3.sksl",
"/sksl/shared/Ossfuzz26167.sksl",
"/sksl/shared/Ossfuzz26759.sksl",
"/sksl/shared/Ossfuzz28794.sksl",
"/sksl/shared/Ossfuzz28904.sksl",
"/sksl/shared/Ossfuzz29085.sksl",
"/sksl/shared/Ossfuzz29494.sksl",
"/sksl/shared/Ossfuzz36770.sksl",
"/sksl/shared/Ossfuzz36852.sksl",
"/sksl/shared/OutParams.sksl",
"/sksl/shared/OutParamsNoInline.sksl",
"/sksl/shared/OutParamsTricky.sksl",
"/sksl/shared/Overflow.sksl",
"/sksl/shared/RectangleTexture.sksl",
"/sksl/shared/ResizeMatrix.sksl",
"/sksl/shared/ResizeMatrixNonsquare.sksl",
"/sksl/shared/ReturnBadTypeFromMain.sksl",
"/sksl/shared/ReturnColorFromMain.sksl",
"/sksl/shared/ReturnsValueOnEveryPathES2.sksl",
"/sksl/shared/ReturnsValueOnEveryPathES3.sksl",
"/sksl/shared/SampleLocations.vert",
"/sksl/shared/ScalarConversionConstructorsES2.sksl",
"/sksl/shared/ScalarConversionConstructorsES3.sksl",
"/sksl/shared/ScopedSymbol.sksl",
"/sksl/shared/StackingVectorCasts.sksl",
"/sksl/shared/StaticIf.sksl",
"/sksl/shared/StaticSwitch.sksl",
"/sksl/shared/StaticSwitchWithBreak.sksl",
"/sksl/shared/StaticSwitchWithBreakInsideBlock.sksl",
"/sksl/shared/StaticSwitchWithConditionalBreak.sksl",
"/sksl/shared/StaticSwitchWithConditionalBreakInsideBlock.sksl",
"/sksl/shared/StaticSwitchWithContinue.sksl",
"/sksl/shared/StaticSwitchWithFallthroughA.sksl",
"/sksl/shared/StaticSwitchWithFallthroughB.sksl",
"/sksl/shared/StaticSwitchWithStaticConditionalBreak.sksl",
"/sksl/shared/StaticSwitchWithStaticConditionalBreakInsideBlock.sksl",
"/sksl/shared/Structs.sksl",
"/sksl/shared/StructsInFunctions.sksl",
"/sksl/shared/StructMaxDepth.sksl",
"/sksl/shared/Switch.sksl",
"/sksl/shared/SwitchContainingDeadCode.sksl",
"/sksl/shared/SwitchWithFallthrough.sksl",
"/sksl/shared/SwizzleBoolConstants.sksl",
"/sksl/shared/SwizzleByConstantIndex.sksl",
"/sksl/shared/SwizzleByIndex.sksl",
"/sksl/shared/SwizzleConstants.sksl",
"/sksl/shared/SwizzleLTRB.sksl",
"/sksl/shared/SwizzleOpt.sksl",
"/sksl/shared/SwizzleScalar.sksl",
"/sksl/shared/SwizzleScalarBool.sksl",
"/sksl/shared/SwizzleScalarInt.sksl",
"/sksl/shared/TernaryAsLValueEntirelyFoldable.sksl",
"/sksl/shared/TernaryAsLValueFoldableTest.sksl",
"/sksl/shared/TernaryExpression.sksl",
"/sksl/shared/Texture1D.sksl",
"/sksl/shared/Texture2D.sksl",
"/sksl/shared/TextureSharpen.sksl",
"/sksl/shared/UnaryPositiveNegative.sksl",
"/sksl/shared/UniformArray.sksl",
"/sksl/shared/UniformBuffers.sksl",
"/sksl/shared/Uniforms.sksl",
"/sksl/shared/UnusedVariables.sksl",
"/sksl/shared/VectorConstructors.sksl",
"/sksl/shared/VectorScalarMath.sksl",
Reland "Add tests for matrix-vector conversions." This reverts commit f009db5b854b350e9f884fd5268e80271537578b. Reason for revert: test disabled on Win10 + Intel 4400/6100 Original change's description: > Revert "Add tests for matrix-vector conversions." > > This reverts commit a89781215a8182beb0893a004654fef157313259. > > Reason for revert: breakage on Windows > > Original change's description: > > Add tests for matrix-vector conversions. > > > > GLSL supports casting vec4 into mat2 and vice versa, so SkSL should have > > equivalent support. Adding tests as a starting point. > > > > Change-Id: If8bcbf99afcec94d948d5da9e6205cb4a232af18 > > Bug: skia:12067 > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425837 > > Auto-Submit: John Stiles <johnstiles@google.com> > > Commit-Queue: Brian Osman <brianosman@google.com> > > Reviewed-by: Brian Osman <brianosman@google.com> > > TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com > > Change-Id: I2563041f538b1b20074385f1b61af5fc506ffad5 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia:12067 > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426057 > Reviewed-by: John Stiles <johnstiles@google.com> > Commit-Queue: John Stiles <johnstiles@google.com> Bug: skia:12067 Change-Id: I1379914ee39ce340f09b11b3754820db9c645378 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426058 Reviewed-by: John Stiles <johnstiles@google.com> Auto-Submit: John Stiles <johnstiles@google.com> Commit-Queue: John Stiles <johnstiles@google.com>
2021-07-08 22:20:21 +00:00
"/sksl/shared/VectorToMatrixCast.sksl",
"/sksl/shared/VertexEarlyReturn.vert",
"/sksl/shared/VertexID.vert",
"/sksl/shared/WhileLoopControlFlow.sksl",
]
sksl_folding_tests = [
"/sksl/folding/ArrayFolding.sksl",
"/sksl/folding/AssignmentOps.sksl",
"/sksl/folding/BoolFolding.sksl",
"/sksl/folding/CastFolding.sksl",
"/sksl/folding/FloatFolding.sksl",
"/sksl/folding/IntFoldingES2.sksl",
"/sksl/folding/IntFoldingES3.sksl",
"/sksl/folding/MatrixFoldingES2.sksl",
"/sksl/folding/MatrixFoldingES3.sksl",
"/sksl/folding/SelfAssignment.sksl",
"/sksl/folding/ShortCircuitBoolFolding.sksl",
"/sksl/folding/SwizzleFolding.sksl",
"/sksl/folding/VectorScalarFolding.sksl",
"/sksl/folding/VectorVectorFolding.sksl",
]
sksl_inliner_tests = [
"/sksl/inliner/DoWhileBodyMustBeInlinedIntoAScope.sksl",
"/sksl/inliner/DoWhileTestCannotBeInlined.sksl",
"/sksl/inliner/ForBodyMustBeInlinedIntoAScope.sksl",
"/sksl/inliner/ForInitializerExpressionsCanBeInlined.sksl",
"/sksl/inliner/ForWithReturnInsideCannotBeInlined.sksl",
"/sksl/inliner/ForWithoutReturnInsideCanBeInlined.sksl",
"/sksl/inliner/IfBodyMustBeInlinedIntoAScope.sksl",
"/sksl/inliner/IfElseBodyMustBeInlinedIntoAScope.sksl",
"/sksl/inliner/IfElseChainWithReturnsCanBeInlined.sksl",
"/sksl/inliner/IfTestCanBeInlined.sksl",
"/sksl/inliner/IfWithReturnsCanBeInlined.sksl",
"/sksl/inliner/InlineKeywordOverridesThreshold.sksl",
"/sksl/inliner/InlineThreshold.sksl",
"/sksl/inliner/InlinerElidesTempVarForReturnsInsideBlock.sksl",
"/sksl/inliner/InlinerUsesTempVarForMultipleReturns.sksl",
"/sksl/inliner/InlinerUsesTempVarForReturnsInsideBlockWithVar.sksl",
"/sksl/inliner/InlineWithInoutArgument.sksl",
"/sksl/inliner/InlineWithModifiedArgument.sksl",
"/sksl/inliner/InlineWithNestedBigCalls.sksl",
"/sksl/inliner/InlineWithNestedCalls.sksl",
"/sksl/inliner/InlineWithUnmodifiedArgument.sksl",
"/sksl/inliner/InlineWithUnnecessaryBlocks.sksl",
"/sksl/inliner/InlinerAvoidsVariableNameOverlap.sksl",
"/sksl/inliner/InlinerHonorsGLSLOutParamSemantics.sksl",
"/sksl/inliner/InlinerManglesNames.sksl",
"/sksl/inliner/NoInline.sksl",
"/sksl/inliner/ShortCircuitEvaluationsCannotInlineRightHandSide.sksl",
"/sksl/inliner/StaticSwitch.sksl",
"/sksl/inliner/StructsCanBeInlinedSafely.sksl",
"/sksl/inliner/SwitchWithCastCanBeInlined.sksl",
"/sksl/inliner/SwitchWithoutReturnInsideCanBeInlined.sksl",
"/sksl/inliner/SwizzleCanBeInlinedDirectly.sksl",
"/sksl/inliner/TernaryResultsCannotBeInlined.sksl",
"/sksl/inliner/TernaryTestCanBeInlined.sksl",
"/sksl/inliner/TrivialArgumentsInlineDirectly.sksl",
"/sksl/inliner/WhileBodyMustBeInlinedIntoAScope.sksl",
"/sksl/inliner/WhileTestCannotBeInlined.sksl",
]
sksl_blend_tests = [
"/sksl/blend/BlendClear.sksl",
"/sksl/blend/BlendColor.sksl",
"/sksl/blend/BlendColorBurn.sksl",
"/sksl/blend/BlendColorDodge.sksl",
"/sksl/blend/BlendDarken.sksl",
"/sksl/blend/BlendDifference.sksl",
"/sksl/blend/BlendDst.sksl",
"/sksl/blend/BlendDstAtop.sksl",
"/sksl/blend/BlendDstIn.sksl",
"/sksl/blend/BlendDstOut.sksl",
"/sksl/blend/BlendDstOver.sksl",
"/sksl/blend/BlendExclusion.sksl",
"/sksl/blend/BlendHardLight.sksl",
"/sksl/blend/BlendHue.sksl",
"/sksl/blend/BlendLighten.sksl",
"/sksl/blend/BlendLuminosity.sksl",
"/sksl/blend/BlendModulate.sksl",
"/sksl/blend/BlendMultiply.sksl",
"/sksl/blend/BlendOverlay.sksl",
"/sksl/blend/BlendPlus.sksl",
"/sksl/blend/BlendSaturation.sksl",
"/sksl/blend/BlendScreen.sksl",
"/sksl/blend/BlendSoftLight.sksl",
"/sksl/blend/BlendSrc.sksl",
"/sksl/blend/BlendSrcAtop.sksl",
"/sksl/blend/BlendSrcIn.sksl",
"/sksl/blend/BlendSrcOut.sksl",
"/sksl/blend/BlendSrcOver.sksl",
"/sksl/blend/BlendXor.sksl",
]
sksl_settings_tests = [
"/sksl/glsl/TypePrecision.sksl",
"/sksl/inliner/ExponentialGrowth.sksl",
"/sksl/inliner/InlinerCanBeDisabled.sksl",
"/sksl/shared/Derivatives.sksl",
"/sksl/workarounds/AbsInt.sksl",
"/sksl/workarounds/BlendGuardedDivide.sksl",
"/sksl/workarounds/BlendModesAllZeroVec.sksl",
"/sksl/workarounds/FractNegative.sksl",
"/sksl/workarounds/FragCoords.sksl",
"/sksl/workarounds/LoopCondition.sksl",
"/sksl/workarounds/MinAndAbsTogether.sksl",
"/sksl/workarounds/NegatedAtan.sksl",
"/sksl/workarounds/NegatedLdexp.sksl",
"/sksl/workarounds/PowWithConstantExponent.sksl",
"/sksl/workarounds/RewriteDoWhileLoops.sksl",
"/sksl/workarounds/RewriteMatrixComparisons.sksl",
"/sksl/workarounds/RewriteMatrixVectorMultiply.sksl",
"/sksl/workarounds/TernaryShortCircuit.sksl",
]
sksl_rte_tests = [
"/sksl/runtime/AllowNarrowingConversions.rts",
"/sksl/runtime/ArrayIndexing.rts",
"/sksl/runtime/ArrayNarrowingConversions.rts",
"/sksl/runtime/Blend.rtb",
"/sksl/runtime/ConstPreservation.rts",
"/sksl/runtime/ConversionConstructors.rts",
"/sksl/runtime/GLSLTypeNames.rts",
"/sksl/runtime/GlobalVariables.rts",
"/sksl/runtime/LoopInt.rts",
"/sksl/runtime/LoopFloat.rts",
"/sksl/runtime/PrecisionQualifiers.rts",
"/sksl/runtime/SampleWithExplicitCoord.rts",
"/sksl/runtime/VectorIndexing.rts",
]
sksl_rte_error_tests = [
"/sksl/runtime_errors/FirstClassArrays.rts",
"/sksl/runtime_errors/IllegalArrayOps.rts",
"/sksl/runtime_errors/IllegalIndexing.rts",
"/sksl/runtime_errors/IllegalOperators.rts",
"/sksl/runtime_errors/IllegalPrecisionQualifiers.rts",
"/sksl/runtime_errors/IllegalRecursionComplex.rts",
"/sksl/runtime_errors/IllegalRecursionMutual.rts",
"/sksl/runtime_errors/IllegalRecursionSimple.rts",
"/sksl/runtime_errors/IllegalShaderUse.rts",
"/sksl/runtime_errors/IllegalStatements.rts",
"/sksl/runtime_errors/InvalidBlendMain.rtb",
"/sksl/runtime_errors/InvalidColorFilterFeatures.rtcf",
"/sksl/runtime_errors/InvalidColorFilterMain.rtcf",
"/sksl/runtime_errors/InvalidShaderMain.rts",
"/sksl/runtime_errors/LoopConditionErrors.rts",
"/sksl/runtime_errors/LoopExpressionErrors.rts",
"/sksl/runtime_errors/LoopInitializerErrors.rts",
"/sksl/runtime_errors/LoopStructureErrors.rts",
"/sksl/runtime_errors/Ossfuzz36655.rts",
"/sksl/runtime_errors/UnsupportedTypeFragmentProcessor.rts",
"/sksl/runtime_errors/UnsupportedTypeSampler.rts",
"/sksl/runtime_errors/UnsupportedTypeTexture.rts",
]
# 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_folding_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_metal_tests + sksl_blend_tests + sksl_shared_tests
# Tests in sksl_spirv_tests_sources will be compiled with --settings on, and are expected to
# generate a .asm.(frag|vert|geom) output file.
sksl_spirv_tests_sources =
sksl_blend_tests + sksl_shared_tests + sksl_spirv_tests
## Tests in sksl_skvm_tests_sources will be compiled with --settings on, and are expected to
## generate a .skvm output file.
sksl_skvm_tests_sources = sksl_rte_tests + sksl_rte_error_tests
## Tests in sksl_stage_tests_sources will be compiled with --settings on, and are expected to
## generate a .stage output file.
sksl_stage_tests_sources = sksl_rte_tests