skia2/tests/sksl/errors
John Stiles 9f681e6df8 Reject $ in variable names for non-builtin code.
These identifiers are reserved for SkSL internal use (and can't be
exposed to GLSL or Metal anyway).

Change-Id: Id554cbf21ed2fb66785e77700ff79424ecdf66db
Bug: skia:12854
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/498036
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-01-24 14:17:36 +00:00
..
ArgumentCountMismatch.glsl
ArgumentMismatch.glsl
ArgumentModifiers.glsl
ArrayConstructorElementCount.glsl Reject array constructors with the wrong number of elements. 2021-02-03 22:33:02 +00:00
ArrayIndexOutOfRange.glsl Improve array-indexing tests. 2021-11-10 18:31:28 +00:00
ArrayInlinedIndexOutOfRange.glsl Improve array-indexing tests. 2021-11-10 18:31:28 +00:00
ArrayNegation.glsl Report an error when negating or plussing an array of scalars. 2021-10-18 16:04:18 +00:00
ArrayOfInvalidSize.glsl Fix error with inlined literals overflowing their types. 2021-11-02 14:26:44 +00:00
ArrayOfVoid.glsl Remove invalid from the list of opaque types. 2021-11-17 15:49:32 +00:00
ArrayPlus.glsl Report an error when negating or plussing an array of scalars. 2021-10-18 16:04:18 +00:00
ArrayReturnTypes.glsl
ArraySplitDimensions.glsl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArraySplitDimensionsInFuncBody.glsl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArraySplitDimensionsInFuncDecl.glsl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArraySplitDimensionsInStruct.glsl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArrayTooManyDimensions.glsl
ArrayTooManyDimensionsInFuncBody.glsl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArrayTooManyDimensionsInFuncDecl.glsl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArrayTooManyDimensionsInStruct.glsl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArrayTypeTooManyDimensions.glsl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArrayTypeTooManyDimensionsInFuncBody.glsl Reenable DSLParser 2021-09-16 15:28:19 +00:00
ArrayTypeTooManyDimensionsInFuncDecl.glsl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArrayTypeTooManyDimensionsInStruct.glsl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArrayUnspecifiedDimensions.glsl Allow const int variables to be used for array sizes. 2021-10-18 14:23:33 +00:00
AssignmentTypeMismatch.glsl Remove invalid from the list of opaque types. 2021-11-17 15:49:32 +00:00
BadCaps.glsl
BadConstInitializers.glsl Align SkSL const rules more closely with GLSL 2021-02-26 17:44:11 +00:00
BadFieldAccess.glsl Refactored swizzle domain testing 2021-09-03 14:50:57 +00:00
BadIndex.glsl
BadModifiers.glsl Remove large swaths of code related to .fp files 2021-07-08 16:53:47 +00:00
BadOctal.glsl Report invalid octal numbers correctly. 2021-11-16 14:32:59 +00:00
BinaryInvalidType.glsl SkSL: Ensure struct declarations contain at least one member 2021-02-12 20:57:56 +00:00
BinaryTypeCoercion.glsl
BinaryTypeMismatch.glsl
BitShiftFloat.glsl
BitShiftFloatMatrix.glsl
BitShiftFloatVector.glsl
BooleanArithmetic.glsl
BreakOutsideLoop.glsl
CallNonFunction.glsl
CanExitWithoutReturningValue.glsl Disallow continue inside a switch. 2021-09-21 19:26:40 +00:00
ComparisonDimensional.glsl Reland "Better Matrix/Scalar testing" 2022-01-14 19:12:00 +00:00
ConstructorArgumentCount.glsl Add hints to slicing-constructor error messages. 2021-07-13 14:12:23 +00:00
ConstructorTypeMismatch.glsl Add hints to slicing-constructor error messages. 2021-07-13 14:12:23 +00:00
ContinueOutsideLoop.glsl
DivideByZero.glsl
DoTypeMismatch.glsl
DuplicateFunction.glsl
DuplicateOutput.glsl
DuplicateSymbol.glsl Fixed DSLParser assertion error uncovered by fuzzer 2021-09-20 13:48:41 +00:00
EmptyArray.glsl Add unit test for array of zero or negative size. 2021-04-09 14:38:47 +00:00
EmptyStruct.glsl SkSL: Ensure struct declarations contain at least one member 2021-02-12 20:57:56 +00:00
ErrorsInDeadCode.glsl
FloatRemainder.glsl
ForInitStmt.glsl Simplify for init-stmts at the IR level. 2021-04-20 14:38:36 +00:00
ForTypeMismatch.glsl
FunctionParameterOfVoid.glsl Allow function declarations to take (void). 2021-05-21 19:21:23 +00:00
GenericArgumentMismatch.glsl
IfTypeMismatch.glsl
IncompleteExpression.glsl Report incomplete expression-statements as errors. 2021-11-09 22:10:18 +00:00
IncompleteFunctionCall.glsl Report incomplete expression-statements as errors. 2021-11-09 22:10:18 +00:00
InterfaceBlockMemberReservedName.glsl Prevent interface block members from using invalid names. 2021-12-28 20:57:18 +00:00
InterfaceBlockReservedName.glsl Prevent structs/interface-blocks from claiming builtin types. 2021-12-28 19:32:22 +00:00
InterfaceBlockScope.glsl
InterfaceBlockStorageModifiers.glsl
InterfaceBlockWithNoMembers.glsl Fix fuzzer-discovered null deref with empty interface blocks. 2021-09-17 14:19:14 +00:00
IntrinsicInGlobalVariable.glsl Fix assertion when calling a built-in function at global scope. 2021-08-27 17:05:21 +00:00
InvalidAssignment.glsl Reland "Optimize away swizzles of constant variables." 2021-04-30 13:12:18 +00:00
InvalidOutParams.glsl
InvalidToken.glsl
InvalidUnary.glsl
InVarWithInitializerExpression.glsl Force global initializers to be constant expressions 2021-03-15 16:54:05 +00:00
LastFragColorWithoutCaps.glsl Report an error if sk_LastFragColor is referenced without fbFetchSupport 2021-09-15 15:41:49 +00:00
LayoutInFunctions.glsl Rename SkSL 'srgb_unpremul' to just 'color' 2021-12-07 17:56:27 +00:00
LayoutInInterfaceBlock.asm.frag Prevent 'binding' and 'set' on struct/interface block fields 2021-11-29 15:53:57 +00:00
LayoutInInterfaceBlock.glsl Prevent 'binding' and 'set' on struct/interface block fields 2021-11-29 15:53:57 +00:00
LayoutInStruct.asm.frag Prevent 'binding' and 'set' on struct/interface block fields 2021-11-29 15:53:57 +00:00
LayoutInStruct.glsl Prevent 'binding' and 'set' on struct/interface block fields 2021-11-29 15:53:57 +00:00
LayoutRepeatedQualifiers.glsl Rename SkSL 'srgb_unpremul' to just 'color' 2021-12-07 17:56:27 +00:00
MatrixIndexOutOfRange.glsl Add tests for matrix constant-expressions. 2021-11-10 20:59:36 +00:00
MatrixInlinedIndexOutOfRange.glsl Add tests for matrix constant-expressions. 2021-11-10 20:59:36 +00:00
MatrixToVectorCast3x3.glsl Add hints to slicing-constructor error messages. 2021-07-13 14:12:23 +00:00
MatrixToVectorCastBoolean.glsl Add hints to slicing-constructor error messages. 2021-07-13 14:12:23 +00:00
MatrixToVectorCastInteger.glsl Add hints to slicing-constructor error messages. 2021-07-13 14:12:23 +00:00
MatrixToVectorCastTooSmall.glsl Add hints to slicing-constructor error messages. 2021-07-13 14:12:23 +00:00
MismatchedNumbers.glsl Generate more diagnostics from IRGenerator, when given bad code. 2021-09-07 20:13:55 +00:00
ModifiersInStruct.glsl Remove custom SkVertices data and runtime effect varying support 2021-04-19 17:49:25 +00:00
MultipleFields.glsl Duplicate field names in struct 2022-01-06 22:44:16 +00:00
MultipleFieldsInInterfaceBlocks.glsl Interface blocks no longer allow duplicate fields 2022-01-07 16:44:08 +00:00
NoES3ModifierInUserCode.glsl Add $es3 modifier to SkSL. 2021-08-13 14:07:40 +00:00
OpaqueTypeAssignment.glsl Fix fuzzer-discovered assertion with global variables. 2021-08-27 21:38:19 +00:00
OpaqueTypeConstruction.glsl
OpaqueTypeInArray.glsl Reenable DSLParser 2021-09-16 15:28:19 +00:00
OpaqueTypeInInterfaceBlock.glsl Reenable DSLParser 2021-09-16 15:28:19 +00:00
OpaqueTypeInStruct.glsl
OpenArray.glsl Reenable DSLParser 2021-09-16 15:28:19 +00:00
Ossfuzz26700.glsl Reenable DSLParser 2021-09-16 15:28:19 +00:00
Ossfuzz27614.glsl Fix fuzzer-discovered error with ~ prefix on literals. 2021-02-26 17:30:26 +00:00
Ossfuzz27650.glsl Generate more diagnostics from IRGenerator, when given bad code. 2021-09-07 20:13:55 +00:00
Ossfuzz27663.glsl Convert IRGenerator::convertPrefixExpr to PrefixExpression::Make. 2021-02-26 22:34:05 +00:00
Ossfuzz28050.glsl Generate more diagnostics from IRGenerator, when given bad code. 2021-09-07 20:13:55 +00:00
Ossfuzz29444.glsl Reenable DSLParser 2021-09-16 15:28:19 +00:00
Ossfuzz29845.glsl Reenable DSLParser 2021-09-16 15:28:19 +00:00
Ossfuzz29849.glsl
Ossfuzz31410.glsl Fix fuzzer-discovered error with ~ prefix on literals. 2021-02-26 17:30:26 +00:00
Ossfuzz31469.glsl Detect functions that fail to return a value, without using CFG. 2021-03-04 22:47:05 +00:00
Ossfuzz32156.glsl Allow const int variables to be used for array sizes. 2021-10-18 14:23:33 +00:00
Ossfuzz32587.glsl Replace trio of XxxxLiteral types with a single Literal type. 2021-09-13 17:32:34 +00:00
Ossfuzz32851.glsl Add regression test for oss-fuzz finding. 2021-04-05 19:39:16 +00:00
Ossfuzz36850.asm.frag Reenable DSLParser 2021-09-16 15:28:19 +00:00
Ossfuzz37457.glsl Fix assertion discovered by fuzzer. 2021-08-23 14:23:46 +00:00
Ossfuzz37465.glsl Fix const function-parameter assertion discovered by fuzzer. 2021-08-23 19:28:29 +00:00
Ossfuzz37469.asm.frag Reenable DSLParser 2021-09-16 15:28:19 +00:00
Ossfuzz37620.glsl Report intermediate expressions as errors in For next-exprs. 2021-08-25 17:26:21 +00:00
Ossfuzz38106.glsl Reenable DSLParser 2021-09-16 15:28:19 +00:00
Ossfuzz38107.glsl Reland "Fixed DSL assertion error on source files containing nulls" 2021-09-15 15:00:23 +00:00
Ossfuzz38108.glsl Fixed DSLParser assertion error uncovered by fuzzer 2021-09-20 13:48:41 +00:00
Ossfuzz38140.glsl Reenable DSLParser 2021-09-16 15:28:19 +00:00
Ossfuzz38560.glsl Fix for-statement assertion detected by the fuzzer. 2021-09-13 13:34:48 +00:00
Ossfuzz38865.glsl Fix for fuzzer-discovered error with invalid var-initializers. 2021-09-24 20:15:31 +00:00
Ossfuzz38944.glsl Fix for fuzzer-discovered error with invalid var-initializers. 2021-09-24 20:15:31 +00:00
Ossfuzz39000.glsl Fixed fuzzer-discovered bug with interface blocks 2021-09-21 14:12:47 +00:00
Ossfuzz40427.glsl Fix for fuzzer-discovered error with negation. 2021-10-28 16:14:42 +00:00
Ossfuzz40428.glsl Fix error with inlined literals overflowing their types. 2021-11-02 14:26:44 +00:00
Ossfuzz40479.glsl Fix error with inlined literals overflowing their types. 2021-11-02 14:26:44 +00:00
Ossfuzz40660.glsl Fix fuzzer-discovered error with no-op arithmetic. 2021-11-03 14:57:48 +00:00
OverflowFloatLiteral.glsl Reenable DSLParser 2021-09-16 15:28:19 +00:00
OverflowInlinedLiteral.glsl Fix error with inlined literals overflowing their types. 2021-11-02 14:26:44 +00:00
OverflowInt64Literal.glsl Add test for literals that overflow int64. 2021-06-01 17:34:23 +00:00
OverflowIntLiteral.glsl Report int-literal overflow via cast-from-float. 2021-10-29 14:55:30 +00:00
OverflowParamArraySize.glsl Allow non-trivial constant expressions for array sizes. 2021-10-12 21:04:33 +00:00
OverflowUintLiteral.glsl Report int-literal overflow via cast-from-float. 2021-10-29 14:55:30 +00:00
PrecisionQualifiersDisallowed.glsl Honor lowp/mediump/highp precision qualifiers in IRGenerator. 2021-08-04 21:29:10 +00:00
PrivateTypes.glsl Replace illegal DSLTypes with Poison types. 2021-10-06 00:12:07 +00:00
PrivateVariables.glsl Reject $ in variable names for non-builtin code. 2022-01-24 14:17:36 +00:00
ProgramTooLarge_Globals.glsl Enforce basic limits on global size in SkSL. 2021-11-04 18:34:19 +00:00
ProgramTooLarge_Stack.glsl Enforce basic limits on function stack size in SkSL. 2021-11-04 18:17:44 +00:00
PrototypeInFuncBody.glsl Reenable DSLParser 2021-09-16 15:28:19 +00:00
RedeclareBasicType.glsl
RedeclareSamplerType.glsl
RedeclareStruct.glsl
RedeclareStructTypeWithName.glsl
RedeclareUserType.glsl Match GLSL scoping rules more closely in SkSL. 2021-10-12 21:53:28 +00:00
RedeclareVariable.glsl
ReservedNameAsm.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameAttribute.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameCast.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameDouble.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameDvec2.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameDvec3.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameDvec4.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameEnum.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameExtern.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameExternal.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameFixed.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameFvec2.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameFvec3.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameFvec4.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameGoto.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameHvec2.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameHvec3.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameHvec4.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameInput.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameInterface.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameInvariant.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameLong.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameNamespace.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameOutput.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNamePacked.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNamePrecision.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNamePublic.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameSampler1DShadow.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameSampler2DRectShadow.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameSampler2DShadow.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameSampler3DRect.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameSamplerCube.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameSizeof.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameStatic.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameSuperp.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameTemplate.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameThis.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameTypedef.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameUnion.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameUnsigned.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameUsing.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameVarying.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReservedNameVolatile.glsl Add a distinct error message for reserved words. 2021-10-21 14:26:06 +00:00
ReturnDifferentType.glsl
ReturnFromVoid.glsl Fix assertion when returning intermediate types. 2021-08-27 16:27:15 +00:00
ReturnMissingValue.glsl Detect functions that fail to return a value, without using CFG. 2021-03-04 22:47:05 +00:00
ReturnTypeMismatch.glsl
SelfReferentialInitializerExpression.glsl
SpuriousFloat.glsl
StaticIfTest.glsl
StaticSwitchConditionalBreak.glsl Remove usage of sqrt() as an optimization barrier in tests. 2021-05-24 17:18:54 +00:00
StaticSwitchTest.glsl SkSL: Turn DSL parser off again 2021-09-07 14:21:57 +00:00
StaticSwitchWithConditionalBreak.glsl Fix switch optimization pass. 2021-02-23 15:38:24 +00:00
StaticSwitchWithConditionalContinue.glsl Fix switch optimization pass. 2021-02-23 15:38:24 +00:00
StaticSwitchWithConditionalReturn.glsl Fix switch optimization pass. 2021-02-23 15:38:24 +00:00
StructMemberReservedName.glsl Add test for structs/interface-blocks with invalid member names. 2021-12-28 20:55:32 +00:00
StructNameWithoutIdentifier.glsl Remove ASTNode::TypeData 2021-01-28 16:56:59 +00:00
StructTooDeeplyNested.glsl
StructVariableReservedName.glsl Prevent structs/interface-blocks from claiming builtin types. 2021-12-28 19:32:22 +00:00
SwitchDuplicateCase.glsl Migrate convertSwitch to SwitchStatement::Make. 2021-02-23 19:16:40 +00:00
SwitchDuplicateDefault.glsl Add test for duplicate default switch-case. 2021-02-19 20:31:50 +00:00
SwitchTypes.glsl
SwitchWithContinueInside.glsl Disallow continue inside a switch. 2021-09-21 19:26:40 +00:00
SwizzleConstantOutput.glsl
SwizzleDomain.glsl Enforce consistency in swizzle domains. 2021-07-09 20:30:22 +00:00
SwizzleMatrix.glsl Reenable DSLParser 2021-09-16 15:28:19 +00:00
SwizzleOnlyLiterals.glsl
SwizzleOutOfBounds.glsl
SwizzleTooManyComponents.glsl Reenable DSLParser 2021-09-16 15:28:19 +00:00
TernaryMismatch.glsl
UndeclaredFunction.glsl
UndefinedFunction.asm.frag
UndefinedFunction.glsl
UndefinedSymbol.glsl Fix for fuzzer-discovered error with invalid var-initializers. 2021-09-24 20:15:31 +00:00
UniformVarWithInitializerExpression.glsl Force global initializers to be constant expressions 2021-03-15 16:54:05 +00:00
UnknownDivideByZero.glsl Added detection for non-constant-folded divide by zero errors in 2021-02-06 03:13:16 +00:00
UnscopedVariableInDoWhile.glsl Fix line numbers of several DSLParser errors 2021-09-03 22:12:22 +00:00
UnscopedVariableInElse.glsl
UnscopedVariableInFor.glsl Disallow unscoped for blocks which declare a variable. 2021-03-04 17:04:40 +00:00
UnscopedVariableInIf.glsl
UnscopedVariableInWhile.glsl
UnsupportedGLSLIdentifiers.glsl Mark symbols starting with gl_ as reserved words. 2021-11-01 22:43:44 +00:00
UnusedInterfaceBlock.asm.frag Fix for fuzzer-discovered error in SPIR-V compilation. 2021-04-19 15:55:04 +00:00
UsingInvalidValue.glsl Fix for fuzzer-discovered error with invalid var-initializers. 2021-09-24 20:15:31 +00:00
VectorIndexOutOfRange.glsl Add tests for matrix constant-expressions. 2021-11-10 20:59:36 +00:00
VectorInlinedIndexOutOfRange.glsl Improve array-indexing tests. 2021-11-10 18:31:28 +00:00
VectorSlice.glsl Add hints to slicing-constructor error messages. 2021-07-13 14:12:23 +00:00
VertexEarlyReturn.glsl SkSL: Turn DSL parser off again 2021-09-07 14:21:57 +00:00
VoidConstructor.glsl Add test for construction of void. 2021-11-17 16:04:35 +00:00
VoidInStruct.glsl Remove void from the list of opaque types. 2021-11-17 15:21:41 +00:00
VoidVariable.glsl Remove void from the list of opaque types. 2021-11-17 15:21:41 +00:00
WhileTypeMismatch.glsl