skia2/tests/sksl/errors
John Stiles 2630ea3312 Disallow identifier names that overlap existing types.
It's not legal to use identifiers like "int" or "sampler" to name your
variables (or enums, or structs, etc.). SkSL will now report this as an
error instead of relying on the driver to catch this.

(Note that in some contexts, it might be legal by the spec to reuse a
name that you introduced yourself, depending on the scope. In practice,
this confuses Apple GLSL, so we shouldn't support it anyway.)

This caught several existing places in our code where we used the name
"sampler." These were never exposed to the driver (they were intrinsics
that we would replace during compilation) so they were harmless before.

Change-Id: Ia6dcfca8c500d02e1eb5f9427bed8727e114dfc2
Bug: skia:11036
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/340758
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-12-04 16:52:01 +00:00
..
golden Disallow identifier names that overlap existing types. 2020-12-04 16:52:01 +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
ArrayReturnTypes.sksl Remove multi-dimensional array support from the parser. 2020-12-03 20:24:38 +00:00
ArrayTooManyDimensions.sksl Disallow multi-dimensional arrays in SkSL. 2020-12-03 16:28:19 +00:00
ArrayUnspecifiedDimensions.sksl Disallow multi-dimensional arrays in SkSL. 2020-12-03 16:28:19 +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
BooleanArithmetic.sksl Disallow unary minus on boolean vectors. 2020-11-25 17:02:27 +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 Disallow unsized array dimensions on size fields past the frontmost. 2020-11-17 16:44:13 +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
OpaqueTypeInArray.sksl Disallow global variables containing arrays of opaque types. 2020-12-01 20:04:14 +00:00
OpaqueTypeInInterfaceBlock.sksl Disallow opaque types in structs and interface blocks. 2020-11-17 15:25:43 +00:00
OpaqueTypeInStruct.sksl Disallow opaque types in structs and interface blocks. 2020-11-17 15:25:43 +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
Ossfuzz27650.sksl Fix fuzzer crash when casting between int and float. 2020-11-20 14:07:03 +00:00
Ossfuzz27663.sksl Fix double-negation of constant-value construcors. 2020-11-23 17:02:21 +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 Add global struct definitions to SkSL. 2020-11-30 15:26:14 +00:00
RedeclareBasicType.sksl Disallow identifier names that overlap existing types. 2020-12-04 16:52:01 +00:00
RedeclareEnum.sksl Disallow identifier names that overlap existing types. 2020-12-04 16:52:01 +00:00
RedeclareSamplerType.sksl Disallow identifier names that overlap existing types. 2020-12-04 16:52:01 +00:00
RedeclareStruct.sksl Disallow identifier names that overlap existing types. 2020-12-04 16:52:01 +00:00
RedeclareStructTypeWithName.sksl Disallow identifier names that overlap existing types. 2020-12-04 16:52:01 +00:00
RedeclareUserType.sksl Disallow identifier names that overlap existing types. 2020-12-04 16:52:01 +00:00
RedeclareVariable.sksl Disallow identifier names that overlap existing types. 2020-12-04 16:52:01 +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 Disallow multi-dimensional arrays in SkSL. 2020-12-03 16:28:19 +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