skia2/tests/sksl/errors
John Stiles b4b627e62a Disallow usage of private types ($vec, etc) in non-builtin code.
This fixes a fuzzer crash in Metal.

Private types aren't meant to be used directly; we can't generate a
valid MemoryLayout for them. We will now detect them during IR
generation and report an error. (Note that unreferenced structs
currently don't have any IR representation at all, so structs have to be
used somewhere in the code to trigger the error.)

Bug: oss-fuzz:27288
Change-Id: I432f0a69fbb54cd33ff5b90a9f3d4757a9370117
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334830
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-11-13 21:55:50 +00:00
..
golden Disallow usage of private types ($vec, etc) in non-builtin code. 2020-11-13 21:55:50 +00:00
ArgumentCountMismatch.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
ArgumentMismatch.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
ArgumentModifiers.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
ArrayTooManyDimensions.sksl Add unit test for array with many dimensions. 2020-11-10 15:58:47 +00:00
AssignmentTypeMismatch.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
BadCaps.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
BadFieldAccess.sksl Add unit tests for assignment and invalid field access. 2020-09-25 21:42:22 +00:00
BadIndex.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
BadModifiers.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
BinaryTypeCoercion.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
BinaryTypeMismatch.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
BitShiftFloat.sksl SkSL: Only allow bitwise ops on integral types 2020-09-17 18:12:34 +00:00
BitShiftFloatMatrix.sksl SkSL: Only allow bitwise ops on integral types 2020-09-17 18:12:34 +00:00
BitShiftFloatVector.sksl SkSL: Only allow bitwise ops on integral types 2020-09-17 18:12:34 +00:00
BreakOutsideLoop.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
CallNonFunction.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
CanExitWithoutReturningValue.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
ConstructorArgumentCount.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
ConstructorTypeMismatch.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
ContinueOutsideLoop.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
DivideByZero.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
DoTypeMismatch.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
DuplicateFunction.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
DuplicateOutput.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
DuplicateSymbol.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
EnumValueMustBeConstInt.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
ErrorsInDeadCode.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
FieldAfterRuntimeArray.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
ForTypeMismatch.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
GenericArgumentMismatch.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
GrBadIn.fp Migrate several SkSLFP tests to golden outputs. 2020-09-17 16:46:18 +00:00
GrBothExplicitReturnAndSkOutColor.fp
GrCannotReturnWithSkOutColor.fp Migrate several SkSLFP tests to golden outputs. 2020-09-17 16:46:18 +00:00
GrMainParameterWrongType.fp Remove two uses of setModifiersHandle 2020-10-13 14:15:18 +00:00
GrMainTooManyParameters.fp Remove two uses of setModifiersHandle 2020-10-13 14:15:18 +00:00
GrNoFragmentProcessorConstruction.fp Migrate several SkSLFP tests to golden outputs. 2020-09-17 16:46:18 +00:00
GrNoFragmentProcessorExpressions.fp Migrate several SkSLFP tests to golden outputs. 2020-09-17 16:46:18 +00:00
GrNoFragmentProcessorLocals.fp Migrate several SkSLFP tests to golden outputs. 2020-09-17 16:46:18 +00:00
GrNoFragmentProcessorParams.fp Migrate several SkSLFP tests to golden outputs. 2020-09-17 16:46:18 +00:00
GrNoFragmentProcessorReturn.fp Migrate several SkSLFP tests to golden outputs. 2020-09-17 16:46:18 +00:00
GrRecursion.fp Add unit test demonstrating recursion codegen bug. 2020-10-23 16:33:15 +00:00
IfTypeMismatch.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
InterfaceBlockScope.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
InterfaceBlockStorageModifiers.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
InterfaceBlockWithNoMembers.sksl Migrate CrbugOssfuzz21688 to a golden-output test. 2020-11-04 22:34:13 +00:00
InvalidAssignment.sksl Disallow assignment to unfoldable ternaries in SkSL. 2020-09-25 21:26:40 +00:00
InvalidOutParams.sksl Add new unit tests for SkSL. 2020-09-23 20:30:47 +00:00
InvalidUnary.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
InVarWithInitializerExpression.sksl Add unit test for fuzzer-detected error with in vars. 2020-11-09 18:14:56 +00:00
ModifiersInStruct.sksl Reject struct vardecls with modifiers. 2020-10-09 22:34:23 +00:00
OpenArray.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
Ossfuzz26700.sksl Fix unknown-identifier issue discovered by fuzzer. 2020-10-30 19:11:31 +00:00
Ossfuzz26759.sksl Add unit test for error discovered by fuzzer. 2020-10-30 18:18:31 +00:00
OverflowIntLiteral.sksl Add unit tests for overflowing int and uint literal limits. 2020-11-11 16:11:15 +00:00
OverflowUintLiteral.sksl Add unit tests for overflowing int and uint literal limits. 2020-11-11 16:11:15 +00:00
PrivateTypes.sksl Disallow usage of private types ($vec, etc) in non-builtin code. 2020-11-13 21:55:50 +00:00
ReturnDifferentType.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
ReturnFromVoid.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
ReturnMissingValue.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
ReturnTypeMismatch.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
SelfReferentialInitializerExpression.sksl Add unit test for self-referential initializer expressions. 2020-10-23 14:36:05 +00:00
SpuriousFloat.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
StaticIfTest.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
StaticSwitchConditionalBreak.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
StaticSwitchTest.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
StructTooDeeplyNested.sksl Limit struct nesting depth to a maximum of eight levels. 2020-11-10 16:58:37 +00:00
SwitchDuplicateCase.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
SwitchTypes.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
SwizzleConstantOutput.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
SwizzleMatrix.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
SwizzleOnlyLiterals.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
SwizzleOutOfBounds.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
SwizzleTooManyComponents.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
TernaryMismatch.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
UndeclaredFunction.sksl Add test cases to function-prototype golden outputs. 2020-11-02 17:17:23 +00:00
UndefinedFunction.sksl Add test cases to function-prototype golden outputs. 2020-11-02 17:17:23 +00:00
UndefinedSymbol.sksl
Unreachable.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
UnsupportedGLSLIdentifiers.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
UseWithoutInitializeArrayIndex.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
UseWithoutInitializeBinaryExpr.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
UseWithoutInitializeDeadIf.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
UseWithoutInitializeDeadSwitch.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
UseWithoutInitializeReturnValue.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
UseWithoutInitializeVarDecl.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
UsingInvalidValue.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00
WhileTypeMismatch.sksl Migrate SkSL error tests to golden outputs. 2020-09-18 13:46:17 +00:00