skia2/resources/sksl/errors
John Stiles ded41aafb2 Fix fuzzer-discovered error with SPIR-V interface arrays.
OSSFuzz discovered a minor variation of oss-fuzz:36770 which tickled a
different bug in SPIR-V RTFlip handling; we did not properly handle the
case where the InterfaceBlock is an array. SPIR-V does not support this
at all, but the IRGenerator allows it, and we don't detect it an an
error until later in the compilation process.

Change-Id: I80bd67a13dad878717dc122462132a2ed675532d
Bug: oss-fuzz:36850
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/437018
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-08-05 21:44:16 +00:00
..
ArgumentCountMismatch.sksl
ArgumentMismatch.sksl
ArgumentModifiers.sksl
ArrayConstructorElementCount.sksl Reject array constructors with the wrong number of elements. 2021-02-03 22:33:02 +00:00
ArrayIndexOutOfRange.sksl Add Convert/Make factory functions to IndexExpression. 2021-03-08 15:55:59 +00:00
ArrayOfVoid.sksl Allow function declarations to take (void). 2021-05-21 19:21:23 +00:00
ArrayOfVoidInStruct.sksl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArrayReturnTypes.sksl
ArraySplitDimensions.sksl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArraySplitDimensionsInFuncBody.sksl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArraySplitDimensionsInFuncDecl.sksl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArraySplitDimensionsInStruct.sksl Remove obsolete TODO. 2021-03-15 14:43:25 +00:00
ArrayTooManyDimensions.sksl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArrayTooManyDimensionsInFuncBody.sksl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArrayTooManyDimensionsInFuncDecl.sksl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArrayTooManyDimensionsInStruct.sksl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArrayTypeTooManyDimensions.sksl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArrayTypeTooManyDimensionsInFuncBody.sksl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArrayTypeTooManyDimensionsInFuncDecl.sksl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArrayTypeTooManyDimensionsInStruct.sksl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArrayUnspecifiedDimensions.sksl
AssignmentTypeMismatch.sksl Clean up type coercion code and IRGenerator::checkValid(). 2021-02-17 22:39:48 +00:00
BadCaps.sksl
BadConstInitializers.sksl Align SkSL const rules more closely with GLSL 2021-02-26 17:44:11 +00:00
BadFieldAccess.sksl
BadIndex.sksl
BadModifiers.sksl Remove custom SkVertices data and runtime effect varying support 2021-04-19 17:49:25 +00:00
BinaryInvalidType.sksl SkSL: Ensure struct declarations contain at least one member 2021-02-12 20:57:56 +00:00
BinaryTypeCoercion.sksl
BinaryTypeMismatch.sksl
BitShiftFloat.sksl
BitShiftFloatMatrix.sksl
BitShiftFloatVector.sksl
BooleanArithmetic.sksl
BreakOutsideLoop.sksl
CallNonFunction.sksl
CanExitWithoutReturningValue.sksl Improve do-while test in CanExitWithoutReturningValue. 2021-03-17 14:50:56 +00:00
ConstructorArgumentCount.sksl
ConstructorTypeMismatch.sksl Add support for struct constructors to SkSL. 2021-04-09 13:54:16 +00:00
ContinueOutsideLoop.sksl
DivideByZero.sksl
DoTypeMismatch.sksl
DuplicateFunction.sksl
DuplicateOutput.sksl
DuplicateSymbol.sksl
EmptyArray.sksl Add unit test for array of zero or negative size. 2021-04-09 14:38:47 +00:00
EmptyStruct.sksl SkSL: Ensure struct declarations contain at least one member 2021-02-12 20:57:56 +00:00
ErrorsInDeadCode.sksl
FloatRemainder.sksl
ForInitStmt.sksl Simplify for init-stmts at the IR level. 2021-04-20 14:38:36 +00:00
ForTypeMismatch.sksl
FunctionParameterOfVoid.sksl Allow function declarations to take (void). 2021-05-21 19:21:23 +00:00
GenericArgumentMismatch.sksl
IfTypeMismatch.sksl
InterfaceBlockScope.sksl
InterfaceBlockStorageModifiers.sksl
InterfaceBlockWithNoMembers.sksl
InvalidAssignment.sksl Remove usage of sqrt() as an optimization barrier in tests. 2021-05-24 17:18:54 +00:00
InvalidOutParams.sksl
InvalidToken.sksl
InvalidUnary.sksl SkSL: Ensure struct declarations contain at least one member 2021-02-12 20:57:56 +00:00
InVarWithInitializerExpression.sksl Force global initializers to be constant expressions 2021-03-15 16:54:05 +00:00
LayoutInFunctions.sksl Remove large swaths of code related to .fp files 2021-07-08 16:53:47 +00:00
LayoutMultiplePrimitiveTypes.sksl Add flags for all layout qualifiers, check for duplicates 2021-02-24 16:22:26 +00:00
LayoutRepeatedQualifiers.sksl Remove large swaths of code related to .fp files 2021-07-08 16:53:47 +00:00
MatrixToVectorCast3x3.sksl Shore up matrix/vector conversion tests. 2021-07-12 15:02:51 +00:00
MatrixToVectorCastBoolean.sksl Shore up matrix/vector conversion tests. 2021-07-12 15:02:51 +00:00
MatrixToVectorCastInteger.sksl Add support for mat2-to-ivec4 conversions in SkSL. 2021-07-12 14:09:18 +00:00
MatrixToVectorCastTooSmall.sksl Add support for matrix-to-vector conversions in SkSL. 2021-07-09 17:55:22 +00:00
MismatchedNumbers.sksl
ModifiersInStruct.sksl Remove custom SkVertices data and runtime effect varying support 2021-04-19 17:49:25 +00:00
OpaqueTypeAssignment.sksl Migrate VarDeclaration conversion out of IRGenerator. 2021-03-22 14:25:26 +00:00
OpaqueTypeConstruction.sksl
OpaqueTypeInArray.sksl
OpaqueTypeInInterfaceBlock.sksl
OpaqueTypeInStruct.sksl
OpenArray.sksl
Ossfuzz26700.sksl
Ossfuzz27614.sksl Fix fuzzer-discovered error with ~ prefix on literals. 2021-02-26 17:30:26 +00:00
Ossfuzz27650.sksl
Ossfuzz27663.sksl
Ossfuzz28050.sksl Fix various fuzzer-generated tests. 2021-04-12 13:44:59 +00:00
Ossfuzz29444.sksl Fix various fuzzer-generated tests. 2021-04-12 13:44:59 +00:00
Ossfuzz29845.sksl
Ossfuzz29849.sksl Fix fuzzer-discovered error with variable scoping. 2021-01-26 17:08:59 +00:00
Ossfuzz31410.sksl Fix fuzzer-discovered error with ~ prefix on literals. 2021-02-26 17:30:26 +00:00
Ossfuzz31469.sksl Fix fuzzer-discovered error with inlining. 2021-03-01 20:06:50 +00:00
Ossfuzz32156.sksl Add regression test for oss-fuzz:32156. 2021-06-01 15:19:13 +00:00
Ossfuzz32587.sksl Fix fuzzer-discovered error with variable declarations. 2021-03-29 14:35:09 +00:00
Ossfuzz32851.sksl Add regression test for oss-fuzz finding. 2021-04-05 19:39:16 +00:00
Ossfuzz36850.sksl Fix fuzzer-discovered error with SPIR-V interface arrays. 2021-08-05 21:44:16 +00:00
OverflowFloatLiteral.sksl
OverflowInt64Literal.sksl Add test for literals that overflow int64. 2021-06-01 17:34:23 +00:00
OverflowIntLiteral.sksl Detect out-of-range integer assignment. 2021-06-01 15:53:43 +00:00
OverflowParamArraySize.sksl
OverflowUintLiteral.sksl
PrecisionQualifiersDisallowed.sksl Honor lowp/mediump/highp precision qualifiers in IRGenerator. 2021-08-04 21:29:10 +00:00
PrivateTypes.sksl
PrototypeInFuncBody.sksl Improve error reporting for invalid var-decls. 2021-02-12 22:26:36 +00:00
RedeclareBasicType.sksl
RedeclareSamplerType.sksl
RedeclareStruct.sksl
RedeclareStructTypeWithName.sksl
RedeclareUserType.sksl
RedeclareVariable.sksl
ReturnDifferentType.sksl
ReturnFromVoid.sksl
ReturnMissingValue.sksl
ReturnTypeMismatch.sksl
SelfReferentialInitializerExpression.sksl
SpuriousFloat.sksl
StaticIfTest.sksl Remove usage of sqrt() as an optimization barrier in tests. 2021-05-24 17:18:54 +00:00
StaticSwitchConditionalBreak.sksl Remove usage of sqrt() as an optimization barrier in tests. 2021-05-24 17:18:54 +00:00
StaticSwitchTest.sksl Remove usage of sqrt() as an optimization barrier in tests. 2021-05-24 17:18:54 +00:00
StaticSwitchWithConditionalBreak.sksl Fix switch optimization pass. 2021-02-23 15:38:24 +00:00
StaticSwitchWithConditionalContinue.sksl Fix switch optimization pass. 2021-02-23 15:38:24 +00:00
StaticSwitchWithConditionalReturn.sksl Fix switch optimization pass. 2021-02-23 15:38:24 +00:00
StructNameWithoutIdentifier.sksl Remove ASTNode::TypeData 2021-01-28 16:56:59 +00:00
StructTooDeeplyNested.sksl
SwitchDuplicateCase.sksl
SwitchDuplicateDefault.sksl Add test for duplicate default switch-case. 2021-02-19 20:31:50 +00:00
SwitchTypes.sksl Disallow initializers on uniform variables 2021-02-18 01:01:38 +00:00
SwizzleConstantOutput.sksl
SwizzleDomain.sksl Enforce consistency in swizzle domains. 2021-07-09 20:30:22 +00:00
SwizzleMatrix.sksl
SwizzleOnlyLiterals.sksl
SwizzleOutOfBounds.sksl
SwizzleTooManyComponents.sksl
TernaryMismatch.sksl
UndeclaredFunction.sksl
UndefinedFunction.sksl
UndefinedSymbol.sksl
UniformVarWithInitializerExpression.sksl Force global initializers to be constant expressions 2021-03-15 16:54:05 +00:00
UnknownDivideByZero.sksl Added detection for non-constant-folded divide by zero errors in 2021-02-06 03:13:16 +00:00
UnscopedVariableInDoWhile.sksl Fix fuzzer-discovered error with variable scoping. 2021-01-26 17:08:59 +00:00
UnscopedVariableInElse.sksl Fix fuzzer-discovered error with variable scoping. 2021-01-26 17:08:59 +00:00
UnscopedVariableInFor.sksl Disallow unscoped for blocks which declare a variable. 2021-03-04 17:04:40 +00:00
UnscopedVariableInIf.sksl Fix fuzzer-discovered error with variable scoping. 2021-01-26 17:08:59 +00:00
UnscopedVariableInWhile.sksl Fix fuzzer-discovered error with variable scoping. 2021-01-26 17:08:59 +00:00
UnsupportedGLSLIdentifiers.sksl
UnusedInterfaceBlock.sksl Fix for fuzzer-discovered error in SPIR-V compilation. 2021-04-19 15:55:04 +00:00
UsingInvalidValue.sksl
VectorSlice.sksl Add test for SkSL vector-slice constructors. 2021-07-12 20:33:44 +00:00
WhileTypeMismatch.sksl