diff options
author | John Stiles <johnstiles@google.com> | 2022-03-22 09:06:12 -0400 |
---|---|---|
committer | SkCQ <skcq-be@skia-corp.google.com.iam.gserviceaccount.com> | 2022-03-24 02:09:39 +0000 |
commit | a7bf23d17e39895bad0fa690c4ac464e1cb84513 (patch) | |
tree | 5cf437112405679050e4616d0d3f993a43fdc3a9 | |
parent | 843619630a0f4126b0572eb093cfaeac4121cd81 (diff) | |
download | skia-a7bf23d17e39895bad0fa690c4ac464e1cb84513.tar.gz |
Rename ES2 error tests from 'H' through 'M' to .rts.
In a few cases, this involved splitting a test into two (an ES2-
compatible portion and a ES3+ portion).
Bug: skia:13042
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Arman Uguray <armansito@google.com>
Commit-Queue: Arman Uguray <armansito@google.com>
Change-Id: I3a776846a3d7d19cb19fa68c67842f7dbafcb420
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524099
Reviewed-by: Derek Sollenberger <djsollen@google.com>
-rw-r--r-- | gn/sksl_tests.gni | 36 | ||||
-rw-r--r-- | resources/sksl/errors/IfTypeMismatch.rts (renamed from resources/sksl/errors/IfTypeMismatch.sksl) | 2 | ||||
-rw-r--r-- | resources/sksl/errors/IncompleteExpression.rts (renamed from resources/sksl/errors/IncompleteExpression.sksl) | 0 | ||||
-rw-r--r-- | resources/sksl/errors/IncompleteFunctionCall.rts (renamed from resources/sksl/errors/IncompleteFunctionCall.sksl) | 0 | ||||
-rw-r--r-- | resources/sksl/errors/InvalidAssignment.rts (renamed from resources/sksl/errors/InvalidAssignment.sksl) | 0 | ||||
-rw-r--r-- | resources/sksl/errors/InvalidOutParams.rts (renamed from resources/sksl/errors/InvalidOutParams.sksl) | 0 | ||||
-rw-r--r-- | resources/sksl/errors/InvalidToken.rts (renamed from resources/sksl/errors/InvalidToken.sksl) | 2 | ||||
-rw-r--r-- | resources/sksl/errors/InvalidUnary.rts (renamed from resources/sksl/errors/InvalidUnary.sksl) | 0 | ||||
-rw-r--r-- | resources/sksl/errors/MatrixIndexOutOfRange.rts | 26 | ||||
-rw-r--r-- | resources/sksl/errors/MatrixIndexOutOfRange.sksl | 50 | ||||
-rw-r--r-- | resources/sksl/errors/MatrixIndexOutOfRangeES3.sksl | 26 | ||||
-rw-r--r-- | resources/sksl/errors/MatrixToVectorCast3x3.rts (renamed from resources/sksl/errors/MatrixToVectorCast3x3.sksl) | 0 | ||||
-rw-r--r-- | resources/sksl/errors/MatrixToVectorCastBoolean.rts (renamed from resources/sksl/errors/MatrixToVectorCastBoolean.sksl) | 0 | ||||
-rw-r--r-- | resources/sksl/errors/MatrixToVectorCastInteger.rts (renamed from resources/sksl/errors/MatrixToVectorCastInteger.sksl) | 0 | ||||
-rw-r--r-- | resources/sksl/errors/MatrixToVectorCastTooSmall.rts (renamed from resources/sksl/errors/MatrixToVectorCastTooSmall.sksl) | 0 | ||||
-rw-r--r-- | resources/sksl/errors/MismatchedNumbers.rts | 64 | ||||
-rw-r--r-- | resources/sksl/errors/MismatchedNumbersES3.sksl (renamed from resources/sksl/errors/MismatchedNumbers.sksl) | 53 | ||||
-rw-r--r-- | resources/sksl/errors/ModifiersInStruct.rts (renamed from resources/sksl/errors/ModifiersInStruct.sksl) | 0 | ||||
-rw-r--r-- | resources/sksl/errors/MultipleFields.rts (renamed from resources/sksl/errors/MultipleFields.sksl) | 0 | ||||
-rw-r--r-- | tests/sksl/errors/MatrixIndexOutOfRange.glsl | 18 | ||||
-rw-r--r-- | tests/sksl/errors/MatrixIndexOutOfRangeES3.glsl | 11 | ||||
-rw-r--r-- | tests/sksl/errors/MismatchedNumbers.glsl | 79 | ||||
-rw-r--r-- | tests/sksl/errors/MismatchedNumbersES3.glsl | 32 |
23 files changed, 214 insertions, 185 deletions
diff --git a/gn/sksl_tests.gni b/gn/sksl_tests.gni index c0bf6592bf..70ca5df716 100644 --- a/gn/sksl_tests.gni +++ b/gn/sksl_tests.gni @@ -62,35 +62,36 @@ sksl_error_tests = [ "/sksl/errors/ForTypeMismatch.rts", "/sksl/errors/FunctionParameterOfVoid.rts", "/sksl/errors/GenericArgumentMismatch.rts", - "/sksl/errors/PrecisionQualifiersDisallowed.sksl", - "/sksl/errors/IfTypeMismatch.sksl", - "/sksl/errors/InVarWithInitializerExpression.sksl", - "/sksl/errors/IncompleteExpression.sksl", - "/sksl/errors/IncompleteFunctionCall.sksl", + "/sksl/errors/IfTypeMismatch.rts", + "/sksl/errors/IncompleteExpression.rts", + "/sksl/errors/IncompleteFunctionCall.rts", "/sksl/errors/InterfaceBlockMemberReservedName.sksl", "/sksl/errors/InterfaceBlockReservedName.sksl", "/sksl/errors/InterfaceBlockScope.sksl", "/sksl/errors/InterfaceBlockStorageModifiers.sksl", "/sksl/errors/InterfaceBlockWithNoMembers.sksl", "/sksl/errors/IntrinsicInGlobalVariable.sksl", - "/sksl/errors/InvalidAssignment.sksl", - "/sksl/errors/InvalidOutParams.sksl", - "/sksl/errors/InvalidToken.sksl", - "/sksl/errors/InvalidUnary.sksl", + "/sksl/errors/InvalidAssignment.rts", + "/sksl/errors/InvalidOutParams.rts", + "/sksl/errors/InvalidToken.rts", + "/sksl/errors/InvalidUnary.rts", + "/sksl/errors/InVarWithInitializerExpression.sksl", "/sksl/errors/LayoutInFunctions.sksl", "/sksl/errors/LayoutInInterfaceBlock.sksl", "/sksl/errors/LayoutInStruct.sksl", "/sksl/errors/LayoutRepeatedQualifiers.sksl", - "/sksl/errors/MatrixIndexOutOfRange.sksl", + "/sksl/errors/MatrixIndexOutOfRange.rts", + "/sksl/errors/MatrixIndexOutOfRangeES3.sksl", "/sksl/errors/MatrixInlinedIndexOutOfRange.sksl", - "/sksl/errors/MatrixToVectorCast3x3.sksl", - "/sksl/errors/MatrixToVectorCastBoolean.sksl", - "/sksl/errors/MatrixToVectorCastInteger.sksl", - "/sksl/errors/MatrixToVectorCastTooSmall.sksl", - "/sksl/errors/MismatchedNumbers.sksl", - "/sksl/errors/MultipleFields.sksl", + "/sksl/errors/MatrixToVectorCast3x3.rts", + "/sksl/errors/MatrixToVectorCastBoolean.rts", + "/sksl/errors/MatrixToVectorCastInteger.rts", + "/sksl/errors/MatrixToVectorCastTooSmall.rts", + "/sksl/errors/MismatchedNumbers.rts", + "/sksl/errors/MismatchedNumbersES3.sksl", + "/sksl/errors/ModifiersInStruct.rts", + "/sksl/errors/MultipleFields.rts", "/sksl/errors/MultipleFieldsInInterfaceBlocks.sksl", - "/sksl/errors/ModifiersInStruct.sksl", "/sksl/errors/NoES3ModifierInUserCode.sksl", "/sksl/errors/OpaqueTypeAssignment.sksl", "/sksl/errors/OpaqueTypeConstruction.sksl", @@ -139,6 +140,7 @@ sksl_error_tests = [ "/sksl/errors/OverflowInt64Literal.sksl", "/sksl/errors/OverflowParamArraySize.sksl", "/sksl/errors/OverflowUintLiteral.sksl", + "/sksl/errors/PrecisionQualifiersDisallowed.sksl", "/sksl/errors/ProgramTooLarge_Globals.sksl", "/sksl/errors/ProgramTooLarge_Stack.sksl", "/sksl/errors/PrototypeInFuncBody.sksl", diff --git a/resources/sksl/errors/IfTypeMismatch.sksl b/resources/sksl/errors/IfTypeMismatch.rts index b612fa99ba..0dc454084c 100644 --- a/resources/sksl/errors/IfTypeMismatch.sksl +++ b/resources/sksl/errors/IfTypeMismatch.rts @@ -1,4 +1,4 @@ -void main() { +void func() { if (3) {} } diff --git a/resources/sksl/errors/IncompleteExpression.sksl b/resources/sksl/errors/IncompleteExpression.rts index b0a6910d49..b0a6910d49 100644 --- a/resources/sksl/errors/IncompleteExpression.sksl +++ b/resources/sksl/errors/IncompleteExpression.rts diff --git a/resources/sksl/errors/IncompleteFunctionCall.sksl b/resources/sksl/errors/IncompleteFunctionCall.rts index f63ab9bc53..f63ab9bc53 100644 --- a/resources/sksl/errors/IncompleteFunctionCall.sksl +++ b/resources/sksl/errors/IncompleteFunctionCall.rts diff --git a/resources/sksl/errors/InvalidAssignment.sksl b/resources/sksl/errors/InvalidAssignment.rts index 58a6a206eb..58a6a206eb 100644 --- a/resources/sksl/errors/InvalidAssignment.sksl +++ b/resources/sksl/errors/InvalidAssignment.rts diff --git a/resources/sksl/errors/InvalidOutParams.sksl b/resources/sksl/errors/InvalidOutParams.rts index 9df805e20e..9df805e20e 100644 --- a/resources/sksl/errors/InvalidOutParams.sksl +++ b/resources/sksl/errors/InvalidOutParams.rts diff --git a/resources/sksl/errors/InvalidToken.sksl b/resources/sksl/errors/InvalidToken.rts index 5ec472d9d9..27e4404db7 100644 --- a/resources/sksl/errors/InvalidToken.sksl +++ b/resources/sksl/errors/InvalidToken.rts @@ -1,5 +1,5 @@ 💩 -void main() {} +void func() {} /*%%* invalid token diff --git a/resources/sksl/errors/InvalidUnary.sksl b/resources/sksl/errors/InvalidUnary.rts index 19ba562bb7..19ba562bb7 100644 --- a/resources/sksl/errors/InvalidUnary.sksl +++ b/resources/sksl/errors/InvalidUnary.rts diff --git a/resources/sksl/errors/MatrixIndexOutOfRange.rts b/resources/sksl/errors/MatrixIndexOutOfRange.rts new file mode 100644 index 0000000000..0c28aa04dc --- /dev/null +++ b/resources/sksl/errors/MatrixIndexOutOfRange.rts @@ -0,0 +1,26 @@ +void half3x3_neg1() { half3x3 m; half3 v = m[-1]; } +void half3x3_0() { half3x3 m; half3 v = m[0]; } +void half3x3_1() { half3x3 m; half3 v = m[1]; } +void half3x3_2() { half3x3 m; half3 v = m[2]; } +void half3x3_3() { half3x3 m; half3 v = m[3]; } +void half3x3_4() { half3x3 m; half3 v = m[4]; } +void half3x3_huge() { half3x3 m; half3 v = m[1000000000]; } + +void half3x3_neg1_constidx() { half3x3 m; const int INDEX = -1; half3 v = m[INDEX]; } +void half3x3_0_constidx() { half3x3 m; const int INDEX = 0; half3 v = m[INDEX]; } +void half3x3_1_constidx() { half3x3 m; const int INDEX = 1; half3 v = m[INDEX]; } +void half3x3_2_constidx() { half3x3 m; const int INDEX = 2; half3 v = m[INDEX]; } +void half3x3_3_constidx() { half3x3 m; const int INDEX = 3; half3 v = m[INDEX]; } +void half3x3_4_constidx() { half3x3 m; const int INDEX = 4; half3 v = m[INDEX]; } +void half3x3_huge_constidx() { half3x3 m; const int INDEX = 1000000000; half3 v = m[INDEX]; } + +/*%%* +index -1 out of range for 'half3x3' +index 3 out of range for 'half3x3' +index 4 out of range for 'half3x3' +index 1000000000 out of range for 'half3x3' +index -1 out of range for 'half3x3' +index 3 out of range for 'half3x3' +index 4 out of range for 'half3x3' +index 1000000000 out of range for 'half3x3' +*%%*/ diff --git a/resources/sksl/errors/MatrixIndexOutOfRange.sksl b/resources/sksl/errors/MatrixIndexOutOfRange.sksl deleted file mode 100644 index ecdfc6e934..0000000000 --- a/resources/sksl/errors/MatrixIndexOutOfRange.sksl +++ /dev/null @@ -1,50 +0,0 @@ -void half2x4_neg1() { half2x4 m; half4 v = m[-1]; } -void half2x4_0() { half2x4 m; half4 v = m[0]; } -void half2x4_1() { half2x4 m; half4 v = m[1]; } -void half2x4_2() { half2x4 m; half4 v = m[2]; } -void half2x4_3() { half2x4 m; half4 v = m[3]; } -void half2x4_4() { half2x4 m; half4 v = m[4]; } -void half2x4_huge() { half2x4 m; half4 v = m[1000000000]; } - -void half3x3_neg1() { half3x3 m; half3 v = m[-1]; } -void half3x3_0() { half3x3 m; half3 v = m[0]; } -void half3x3_1() { half3x3 m; half3 v = m[1]; } -void half3x3_2() { half3x3 m; half3 v = m[2]; } -void half3x3_3() { half3x3 m; half3 v = m[3]; } -void half3x3_4() { half3x3 m; half3 v = m[4]; } -void half3x3_huge() { half3x3 m; half3 v = m[1000000000]; } - -void half4x2_neg1() { half4x2 m; half2 v = m[-1]; } -void half4x2_0() { half4x2 m; half2 v = m[0]; } -void half4x2_1() { half4x2 m; half2 v = m[1]; } -void half4x2_2() { half4x2 m; half2 v = m[2]; } -void half4x2_3() { half4x2 m; half2 v = m[3]; } -void half4x2_4() { half4x2 m; half2 v = m[4]; } -void half4x2_huge() { half4x2 m; half2 v = m[1000000000]; } - -void half4_neg1_constidx() { half3x3 m; const int INDEX = -1; half3 v = m[INDEX]; } -void half4_0_constidx() { half3x3 m; const int INDEX = 0; half3 v = m[INDEX]; } -void half4_1_constidx() { half3x3 m; const int INDEX = 1; half3 v = m[INDEX]; } -void half4_2_constidx() { half3x3 m; const int INDEX = 2; half3 v = m[INDEX]; } -void half4_3_constidx() { half3x3 m; const int INDEX = 3; half3 v = m[INDEX]; } -void half4_4_constidx() { half3x3 m; const int INDEX = 4; half3 v = m[INDEX]; } -void half4_huge_constidx() { half3x3 m; const int INDEX = 1000000000; half3 v = m[INDEX]; } - -/*%%* -index -1 out of range for 'half2x4' -index 2 out of range for 'half2x4' -index 3 out of range for 'half2x4' -index 4 out of range for 'half2x4' -index 1000000000 out of range for 'half2x4' -index -1 out of range for 'half3x3' -index 3 out of range for 'half3x3' -index 4 out of range for 'half3x3' -index 1000000000 out of range for 'half3x3' -index -1 out of range for 'half4x2' -index 4 out of range for 'half4x2' -index 1000000000 out of range for 'half4x2' -index -1 out of range for 'half3x3' -index 3 out of range for 'half3x3' -index 4 out of range for 'half3x3' -index 1000000000 out of range for 'half3x3' -*%%*/ diff --git a/resources/sksl/errors/MatrixIndexOutOfRangeES3.sksl b/resources/sksl/errors/MatrixIndexOutOfRangeES3.sksl new file mode 100644 index 0000000000..da8a0910e6 --- /dev/null +++ b/resources/sksl/errors/MatrixIndexOutOfRangeES3.sksl @@ -0,0 +1,26 @@ +void half2x4_neg1() { half2x4 m; half4 v = m[-1]; } +void half2x4_0() { half2x4 m; half4 v = m[0]; } +void half2x4_1() { half2x4 m; half4 v = m[1]; } +void half2x4_2() { half2x4 m; half4 v = m[2]; } +void half2x4_3() { half2x4 m; half4 v = m[3]; } +void half2x4_4() { half2x4 m; half4 v = m[4]; } +void half2x4_huge() { half2x4 m; half4 v = m[1000000000]; } + +void half4x2_neg1() { half4x2 m; half2 v = m[-1]; } +void half4x2_0() { half4x2 m; half2 v = m[0]; } +void half4x2_1() { half4x2 m; half2 v = m[1]; } +void half4x2_2() { half4x2 m; half2 v = m[2]; } +void half4x2_3() { half4x2 m; half2 v = m[3]; } +void half4x2_4() { half4x2 m; half2 v = m[4]; } +void half4x2_huge() { half4x2 m; half2 v = m[1000000000]; } + +/*%%* +index -1 out of range for 'half2x4' +index 2 out of range for 'half2x4' +index 3 out of range for 'half2x4' +index 4 out of range for 'half2x4' +index 1000000000 out of range for 'half2x4' +index -1 out of range for 'half4x2' +index 4 out of range for 'half4x2' +index 1000000000 out of range for 'half4x2' +*%%*/ diff --git a/resources/sksl/errors/MatrixToVectorCast3x3.sksl b/resources/sksl/errors/MatrixToVectorCast3x3.rts index d94e744857..d94e744857 100644 --- a/resources/sksl/errors/MatrixToVectorCast3x3.sksl +++ b/resources/sksl/errors/MatrixToVectorCast3x3.rts diff --git a/resources/sksl/errors/MatrixToVectorCastBoolean.sksl b/resources/sksl/errors/MatrixToVectorCastBoolean.rts index ef25f21983..ef25f21983 100644 --- a/resources/sksl/errors/MatrixToVectorCastBoolean.sksl +++ b/resources/sksl/errors/MatrixToVectorCastBoolean.rts diff --git a/resources/sksl/errors/MatrixToVectorCastInteger.sksl b/resources/sksl/errors/MatrixToVectorCastInteger.rts index b574457eaf..b574457eaf 100644 --- a/resources/sksl/errors/MatrixToVectorCastInteger.sksl +++ b/resources/sksl/errors/MatrixToVectorCastInteger.rts diff --git a/resources/sksl/errors/MatrixToVectorCastTooSmall.sksl b/resources/sksl/errors/MatrixToVectorCastTooSmall.rts index fe7c891d91..fe7c891d91 100644 --- a/resources/sksl/errors/MatrixToVectorCastTooSmall.sksl +++ b/resources/sksl/errors/MatrixToVectorCastTooSmall.rts diff --git a/resources/sksl/errors/MismatchedNumbers.rts b/resources/sksl/errors/MismatchedNumbers.rts new file mode 100644 index 0000000000..dd31a76d30 --- /dev/null +++ b/resources/sksl/errors/MismatchedNumbers.rts @@ -0,0 +1,64 @@ +int i = 1; +float f = 1.0; + +// SkSL allows `float op <int literal>` and `<int literal> op float`, unlike GLSL. +void f_eq_int_literal_ok() { f = 1; } +void f_plus_int_literal_ok() { f + 1; } +void f_minus_int_literal_ok() { f - 1; } +void f_mul_int_literal_ok() { f * 1; } +void f_div_int_literal_ok() { f / 1; } +void int_literal_plus_f_ok() { 1 + f; } +void int_literal_minus_f_ok() { 1 - f; } +void int_literal_mul_f_ok() { 1 * f; } +void int_literal_div_f_ok() { 1 / f; } + +// Other than that, mixing scalar types without a cast is disallowed. +void i_eq_float_literal_disallowed() { i = 1.0; } +void i_eq_f_disallowed() { i = f; } +void f_eq_i_disallowed() { f = i; } +void i_plus_float_literal_disallowed() { i + 1.0; } +void i_minus_float_literal_disallowed() { i - 1.0; } +void i_mul_float_literal_disallowed() { i * 1.0; } +void i_div_float_literal_disallowed() { i / 1.0; } +void float_literal_plus_i_disallowed() { 1.0 + i; } +void float_literal_minus_i_disallowed() { 1.0 - i; } +void float_literal_mul_i_disallowed() { 1.0 * i; } +void float_literal_div_i_disallowed() { 1.0 / i; } +void i_plus_f_disallowed() { i + f; } +void i_minus_f_disallowed() { i - f; } +void i_mul_f_disallowed() { i * f; } +void i_div_f_disallowed() { i / f; } +void f_plus_i_disallowed() { f + i; } +void f_minus_i_disallowed() { f - i; } +void f_mul_i_disallowed() { f * i; } +void f_div_i_disallowed() { f / i; } +void f_plus_u_disallowed() { f + u; } +void f_minus_u_disallowed() { f - u; } +void f_mul_u_disallowed() { f * u; } +void f_div_u_disallowed() { f / u; } +void i_plus_u_disallowed() { i + u; } +void i_minus_u_disallowed() { i - u; } +void i_mul_u_disallowed() { i * u; } +void i_div_u_disallowed() { i / u; } + +/*%%* +type mismatch: '=' cannot operate on 'int', 'float' +type mismatch: '=' cannot operate on 'int', 'float' +type mismatch: '=' cannot operate on 'float', 'int' +type mismatch: '+' cannot operate on 'int', 'float' +type mismatch: '-' cannot operate on 'int', 'float' +type mismatch: '*' cannot operate on 'int', 'float' +type mismatch: '/' cannot operate on 'int', 'float' +type mismatch: '+' cannot operate on 'float', 'int' +type mismatch: '-' cannot operate on 'float', 'int' +type mismatch: '*' cannot operate on 'float', 'int' +type mismatch: '/' cannot operate on 'float', 'int' +type mismatch: '+' cannot operate on 'int', 'float' +type mismatch: '-' cannot operate on 'int', 'float' +type mismatch: '*' cannot operate on 'int', 'float' +type mismatch: '/' cannot operate on 'int', 'float' +type mismatch: '+' cannot operate on 'float', 'int' +type mismatch: '-' cannot operate on 'float', 'int' +type mismatch: '*' cannot operate on 'float', 'int' +type mismatch: '/' cannot operate on 'float', 'int' +*%%*/ diff --git a/resources/sksl/errors/MismatchedNumbers.sksl b/resources/sksl/errors/MismatchedNumbersES3.sksl index ea3615f9db..bdc8917138 100644 --- a/resources/sksl/errors/MismatchedNumbers.sksl +++ b/resources/sksl/errors/MismatchedNumbersES3.sksl @@ -2,17 +2,6 @@ int i = 1; uint u = 1; float f = 1.0; -// SkSL allows `float op <int literal>` and `<int literal> op float`, unlike GLSL. -void f_eq_int_literal_ok() { f = 1; } -void f_plus_int_literal_ok() { f + 1; } -void f_minus_int_literal_ok() { f - 1; } -void f_mul_int_literal_ok() { f * 1; } -void f_div_int_literal_ok() { f / 1; } -void int_literal_plus_f_ok() { 1 + f; } -void int_literal_minus_f_ok() { 1 - f; } -void int_literal_mul_f_ok() { 1 * f; } -void int_literal_div_f_ok() { 1 / f; } - // SkSL also allows `uint op <int literal>` and `<int literal> op uint` without the `u` suffix. void u_eq_int_literal_ok() { u = 1; } void u_plus_int_literal_ok() { u + 1; } @@ -25,22 +14,11 @@ void int_literal_mul_u_ok() { 1 * u; } void int_literal_div_u_ok() { 1 / u; } // Other than that, mixing scalar types without a cast is disallowed. -void i_eq_float_literal_disallowed() { i = 1.0; } void u_eq_float_literal_disallowed() { u = 1.0; } void i_eq_u_disallowed() { i = u; } -void i_eq_f_disallowed() { i = f; } -float f_eq_i_disallowed() { f = i; } -float f_eq_u_disallowed() { f = u; } +void f_eq_u_disallowed() { f = u; } void u_eq_i_disallowed() { u = i; } void u_eq_f_disallowed() { u = f; } -void i_plus_float_literal_disallowed() { i + 1.0; } -void i_minus_float_literal_disallowed() { i - 1.0; } -void i_mul_float_literal_disallowed() { i * 1.0; } -void i_div_float_literal_disallowed() { i / 1.0; } -void float_literal_plus_i_disallowed() { 1.0 + i; } -void float_literal_minus_i_disallowed() { 1.0 - i; } -void float_literal_mul_i_disallowed() { 1.0 * i; } -void float_literal_div_i_disallowed() { 1.0 / i; } void u_plus_float_literal_disallowed() { u + 1.0; } void u_minus_float_literal_disallowed() { u - 1.0; } void u_mul_float_literal_disallowed() { u * 1.0; } @@ -49,14 +27,6 @@ void float_literal_plus_u_disallowed() { 1.0 + u; } void float_literal_minus_u_disallowed() { 1.0 - u; } void float_literal_mul_u_disallowed() { 1.0 * u; } void float_literal_div_u_disallowed() { 1.0 / u; } -void i_plus_f_disallowed() { i + f; } -void i_minus_f_disallowed() { i - f; } -void i_mul_f_disallowed() { i * f; } -void i_div_f_disallowed() { i / f; } -void f_plus_i_disallowed() { f + i; } -void f_minus_i_disallowed() { f - i; } -void f_mul_i_disallowed() { f * i; } -void f_div_i_disallowed() { f / i; } void u_plus_f_disallowed() { u + f; } void u_minus_f_disallowed() { u - f; } void u_mul_f_disallowed() { u * f; } @@ -75,24 +45,11 @@ void u_mul_i_disallowed() { u * i; } void u_div_i_disallowed() { u / i; } /*%%* -type mismatch: '=' cannot operate on 'int', 'float' type mismatch: '=' cannot operate on 'uint', 'float' type mismatch: '=' cannot operate on 'int', 'uint' -type mismatch: '=' cannot operate on 'int', 'float' -type mismatch: '=' cannot operate on 'float', 'int' -function 'f_eq_i_disallowed' can exit without returning a value type mismatch: '=' cannot operate on 'float', 'uint' -function 'f_eq_u_disallowed' can exit without returning a value type mismatch: '=' cannot operate on 'uint', 'int' type mismatch: '=' cannot operate on 'uint', 'float' -type mismatch: '+' cannot operate on 'int', 'float' -type mismatch: '-' cannot operate on 'int', 'float' -type mismatch: '*' cannot operate on 'int', 'float' -type mismatch: '/' cannot operate on 'int', 'float' -type mismatch: '+' cannot operate on 'float', 'int' -type mismatch: '-' cannot operate on 'float', 'int' -type mismatch: '*' cannot operate on 'float', 'int' -type mismatch: '/' cannot operate on 'float', 'int' type mismatch: '+' cannot operate on 'uint', 'float' type mismatch: '-' cannot operate on 'uint', 'float' type mismatch: '*' cannot operate on 'uint', 'float' @@ -101,14 +58,6 @@ type mismatch: '+' cannot operate on 'float', 'uint' type mismatch: '-' cannot operate on 'float', 'uint' type mismatch: '*' cannot operate on 'float', 'uint' type mismatch: '/' cannot operate on 'float', 'uint' -type mismatch: '+' cannot operate on 'int', 'float' -type mismatch: '-' cannot operate on 'int', 'float' -type mismatch: '*' cannot operate on 'int', 'float' -type mismatch: '/' cannot operate on 'int', 'float' -type mismatch: '+' cannot operate on 'float', 'int' -type mismatch: '-' cannot operate on 'float', 'int' -type mismatch: '*' cannot operate on 'float', 'int' -type mismatch: '/' cannot operate on 'float', 'int' type mismatch: '+' cannot operate on 'uint', 'float' type mismatch: '-' cannot operate on 'uint', 'float' type mismatch: '*' cannot operate on 'uint', 'float' diff --git a/resources/sksl/errors/ModifiersInStruct.sksl b/resources/sksl/errors/ModifiersInStruct.rts index c5bafc5b5c..c5bafc5b5c 100644 --- a/resources/sksl/errors/ModifiersInStruct.sksl +++ b/resources/sksl/errors/ModifiersInStruct.rts diff --git a/resources/sksl/errors/MultipleFields.sksl b/resources/sksl/errors/MultipleFields.rts index 77cdf1ae99..77cdf1ae99 100644 --- a/resources/sksl/errors/MultipleFields.sksl +++ b/resources/sksl/errors/MultipleFields.rts diff --git a/tests/sksl/errors/MatrixIndexOutOfRange.glsl b/tests/sksl/errors/MatrixIndexOutOfRange.glsl index 8c13198e18..b0f9cf3886 100644 --- a/tests/sksl/errors/MatrixIndexOutOfRange.glsl +++ b/tests/sksl/errors/MatrixIndexOutOfRange.glsl @@ -1,19 +1,11 @@ ### Compilation failed: -error: 1: index -1 out of range for 'half2x4' -error: 4: index 2 out of range for 'half2x4' -error: 5: index 3 out of range for 'half2x4' -error: 6: index 4 out of range for 'half2x4' -error: 7: index 1000000000 out of range for 'half2x4' +error: 1: index -1 out of range for 'half3x3' +error: 5: index 3 out of range for 'half3x3' +error: 6: index 4 out of range for 'half3x3' +error: 7: index 1000000000 out of range for 'half3x3' error: 9: index -1 out of range for 'half3x3' error: 13: index 3 out of range for 'half3x3' error: 14: index 4 out of range for 'half3x3' error: 15: index 1000000000 out of range for 'half3x3' -error: 17: index -1 out of range for 'half4x2' -error: 22: index 4 out of range for 'half4x2' -error: 23: index 1000000000 out of range for 'half4x2' -error: 25: index -1 out of range for 'half3x3' -error: 29: index 3 out of range for 'half3x3' -error: 30: index 4 out of range for 'half3x3' -error: 31: index 1000000000 out of range for 'half3x3' -16 errors +8 errors diff --git a/tests/sksl/errors/MatrixIndexOutOfRangeES3.glsl b/tests/sksl/errors/MatrixIndexOutOfRangeES3.glsl new file mode 100644 index 0000000000..be1270a2a5 --- /dev/null +++ b/tests/sksl/errors/MatrixIndexOutOfRangeES3.glsl @@ -0,0 +1,11 @@ +### Compilation failed: + +error: 1: index -1 out of range for 'half2x4' +error: 4: index 2 out of range for 'half2x4' +error: 5: index 3 out of range for 'half2x4' +error: 6: index 4 out of range for 'half2x4' +error: 7: index 1000000000 out of range for 'half2x4' +error: 9: index -1 out of range for 'half4x2' +error: 14: index 4 out of range for 'half4x2' +error: 15: index 1000000000 out of range for 'half4x2' +8 errors diff --git a/tests/sksl/errors/MismatchedNumbers.glsl b/tests/sksl/errors/MismatchedNumbers.glsl index 9bcfd24a43..4a8278eb0b 100644 --- a/tests/sksl/errors/MismatchedNumbers.glsl +++ b/tests/sksl/errors/MismatchedNumbers.glsl @@ -1,53 +1,30 @@ ### Compilation failed: -error: 28: type mismatch: '=' cannot operate on 'int', 'float' -error: 29: type mismatch: '=' cannot operate on 'uint', 'float' -error: 30: type mismatch: '=' cannot operate on 'int', 'uint' -error: 31: type mismatch: '=' cannot operate on 'int', 'float' -error: 32: type mismatch: '=' cannot operate on 'float', 'int' -error: 32: function 'f_eq_i_disallowed' can exit without returning a value -error: 33: type mismatch: '=' cannot operate on 'float', 'uint' -error: 33: function 'f_eq_u_disallowed' can exit without returning a value -error: 34: type mismatch: '=' cannot operate on 'uint', 'int' -error: 35: type mismatch: '=' cannot operate on 'uint', 'float' -error: 36: type mismatch: '+' cannot operate on 'int', 'float' -error: 37: type mismatch: '-' cannot operate on 'int', 'float' -error: 38: type mismatch: '*' cannot operate on 'int', 'float' -error: 39: type mismatch: '/' cannot operate on 'int', 'float' -error: 40: type mismatch: '+' cannot operate on 'float', 'int' -error: 41: type mismatch: '-' cannot operate on 'float', 'int' -error: 42: type mismatch: '*' cannot operate on 'float', 'int' -error: 43: type mismatch: '/' cannot operate on 'float', 'int' -error: 44: type mismatch: '+' cannot operate on 'uint', 'float' -error: 45: type mismatch: '-' cannot operate on 'uint', 'float' -error: 46: type mismatch: '*' cannot operate on 'uint', 'float' -error: 47: type mismatch: '/' cannot operate on 'uint', 'float' -error: 48: type mismatch: '+' cannot operate on 'float', 'uint' -error: 49: type mismatch: '-' cannot operate on 'float', 'uint' -error: 50: type mismatch: '*' cannot operate on 'float', 'uint' -error: 51: type mismatch: '/' cannot operate on 'float', 'uint' -error: 52: type mismatch: '+' cannot operate on 'int', 'float' -error: 53: type mismatch: '-' cannot operate on 'int', 'float' -error: 54: type mismatch: '*' cannot operate on 'int', 'float' -error: 55: type mismatch: '/' cannot operate on 'int', 'float' -error: 56: type mismatch: '+' cannot operate on 'float', 'int' -error: 57: type mismatch: '-' cannot operate on 'float', 'int' -error: 58: type mismatch: '*' cannot operate on 'float', 'int' -error: 59: type mismatch: '/' cannot operate on 'float', 'int' -error: 60: type mismatch: '+' cannot operate on 'uint', 'float' -error: 61: type mismatch: '-' cannot operate on 'uint', 'float' -error: 62: type mismatch: '*' cannot operate on 'uint', 'float' -error: 63: type mismatch: '/' cannot operate on 'uint', 'float' -error: 64: type mismatch: '+' cannot operate on 'float', 'uint' -error: 65: type mismatch: '-' cannot operate on 'float', 'uint' -error: 66: type mismatch: '*' cannot operate on 'float', 'uint' -error: 67: type mismatch: '/' cannot operate on 'float', 'uint' -error: 68: type mismatch: '+' cannot operate on 'int', 'uint' -error: 69: type mismatch: '-' cannot operate on 'int', 'uint' -error: 70: type mismatch: '*' cannot operate on 'int', 'uint' -error: 71: type mismatch: '/' cannot operate on 'int', 'uint' -error: 72: type mismatch: '+' cannot operate on 'uint', 'int' -error: 73: type mismatch: '-' cannot operate on 'uint', 'int' -error: 74: type mismatch: '*' cannot operate on 'uint', 'int' -error: 75: type mismatch: '/' cannot operate on 'uint', 'int' -50 errors +error: 16: type mismatch: '=' cannot operate on 'int', 'float' +error: 17: type mismatch: '=' cannot operate on 'int', 'float' +error: 18: type mismatch: '=' cannot operate on 'float', 'int' +error: 19: type mismatch: '+' cannot operate on 'int', 'float' +error: 20: type mismatch: '-' cannot operate on 'int', 'float' +error: 21: type mismatch: '*' cannot operate on 'int', 'float' +error: 22: type mismatch: '/' cannot operate on 'int', 'float' +error: 23: type mismatch: '+' cannot operate on 'float', 'int' +error: 24: type mismatch: '-' cannot operate on 'float', 'int' +error: 25: type mismatch: '*' cannot operate on 'float', 'int' +error: 26: type mismatch: '/' cannot operate on 'float', 'int' +error: 27: type mismatch: '+' cannot operate on 'int', 'float' +error: 28: type mismatch: '-' cannot operate on 'int', 'float' +error: 29: type mismatch: '*' cannot operate on 'int', 'float' +error: 30: type mismatch: '/' cannot operate on 'int', 'float' +error: 31: type mismatch: '+' cannot operate on 'float', 'int' +error: 32: type mismatch: '-' cannot operate on 'float', 'int' +error: 33: type mismatch: '*' cannot operate on 'float', 'int' +error: 34: type mismatch: '/' cannot operate on 'float', 'int' +error: 35: unknown identifier 'u' +error: 36: unknown identifier 'u' +error: 37: unknown identifier 'u' +error: 38: unknown identifier 'u' +error: 39: unknown identifier 'u' +error: 40: unknown identifier 'u' +error: 41: unknown identifier 'u' +error: 42: unknown identifier 'u' +27 errors diff --git a/tests/sksl/errors/MismatchedNumbersES3.glsl b/tests/sksl/errors/MismatchedNumbersES3.glsl new file mode 100644 index 0000000000..a6b9fd7e02 --- /dev/null +++ b/tests/sksl/errors/MismatchedNumbersES3.glsl @@ -0,0 +1,32 @@ +### Compilation failed: + +error: 17: type mismatch: '=' cannot operate on 'uint', 'float' +error: 18: type mismatch: '=' cannot operate on 'int', 'uint' +error: 19: type mismatch: '=' cannot operate on 'float', 'uint' +error: 20: type mismatch: '=' cannot operate on 'uint', 'int' +error: 21: type mismatch: '=' cannot operate on 'uint', 'float' +error: 22: type mismatch: '+' cannot operate on 'uint', 'float' +error: 23: type mismatch: '-' cannot operate on 'uint', 'float' +error: 24: type mismatch: '*' cannot operate on 'uint', 'float' +error: 25: type mismatch: '/' cannot operate on 'uint', 'float' +error: 26: type mismatch: '+' cannot operate on 'float', 'uint' +error: 27: type mismatch: '-' cannot operate on 'float', 'uint' +error: 28: type mismatch: '*' cannot operate on 'float', 'uint' +error: 29: type mismatch: '/' cannot operate on 'float', 'uint' +error: 30: type mismatch: '+' cannot operate on 'uint', 'float' +error: 31: type mismatch: '-' cannot operate on 'uint', 'float' +error: 32: type mismatch: '*' cannot operate on 'uint', 'float' +error: 33: type mismatch: '/' cannot operate on 'uint', 'float' +error: 34: type mismatch: '+' cannot operate on 'float', 'uint' +error: 35: type mismatch: '-' cannot operate on 'float', 'uint' +error: 36: type mismatch: '*' cannot operate on 'float', 'uint' +error: 37: type mismatch: '/' cannot operate on 'float', 'uint' +error: 38: type mismatch: '+' cannot operate on 'int', 'uint' +error: 39: type mismatch: '-' cannot operate on 'int', 'uint' +error: 40: type mismatch: '*' cannot operate on 'int', 'uint' +error: 41: type mismatch: '/' cannot operate on 'int', 'uint' +error: 42: type mismatch: '+' cannot operate on 'uint', 'int' +error: 43: type mismatch: '-' cannot operate on 'uint', 'int' +error: 44: type mismatch: '*' cannot operate on 'uint', 'int' +error: 45: type mismatch: '/' cannot operate on 'uint', 'int' +29 errors |