skia2/resources/sksl/errors/VectorIndexOutOfRange.sksl
John Stiles d92f9c2f8d Add tests for matrix constant-expressions.
We should support constant-expressions involving matrices (GLSL ES2
does, WebGL does). We currently don't. We do properly report out-of-
range indexing, but we don't optimize away valid matrix index
expressions or allow matrices to be indexed in a constant-expression
context.

Change-Id: If58aa4c5f15abef421a412957072f3617b4176df
Bug: skia:12472
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/469818
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-11-10 20:59:36 +00:00

45 lines
3.2 KiB
Plaintext

void half4_neg1() { half4 h; half v = h[-1]; }
void half4_0() { half4 h; half v = h[0]; }
void half4_1() { half4 h; half v = h[1]; }
void half4_2() { half4 h; half v = h[2]; }
void half4_3() { half4 h; half v = h[3]; }
void half4_4() { half4 h; half v = h[4]; }
void half4_huge() { half4 h; half v = h[1000000000]; }
void half3_neg1() { half3 h; half v = h[-1]; }
void half3_0() { half3 h; half v = h[0]; }
void half3_1() { half3 h; half v = h[1]; }
void half3_2() { half3 h; half v = h[2]; }
void half3_3() { half3 h; half v = h[3]; }
void half3_4() { half3 h; half v = h[4]; }
void half3_huge() { half3 h; half v = h[1000000000]; }
void half2_neg1() { half2 h; half v = h[-1]; }
void half2_0() { half2 h; half v = h[0]; }
void half2_1() { half2 h; half v = h[1]; }
void half2_2() { half2 h; half v = h[2]; }
void half2_3() { half2 h; half v = h[3]; }
void half2_4() { half2 h; half v = h[4]; }
void half2_huge() { half2 h; half v = h[1000000000]; }
void half2_neg1_constidx() { half2 h; const int INDEX = -1; half v = h[INDEX]; }
void half2_0_constidx() { half2 h; const int INDEX = 0; half v = h[INDEX]; }
void half2_1_constidx() { half2 h; const int INDEX = 1; half v = h[INDEX]; }
void half2_2_constidx() { half2 h; const int INDEX = 2; half v = h[INDEX]; }
void half2_huge_constidx() { half2 h; const int INDEX = 1000000000; half v = h[INDEX]; }
void half3_neg1_constidx() { half3 h; const int INDEX = -1; half v = h[INDEX]; }
void half3_0_constidx() { half3 h; const int INDEX = 0; half v = h[INDEX]; }
void half3_1_constidx() { half3 h; const int INDEX = 1; half v = h[INDEX]; }
void half3_2_constidx() { half3 h; const int INDEX = 2; half v = h[INDEX]; }
void half3_3_constidx() { half3 h; const int INDEX = 3; half v = h[INDEX]; }
void half3_huge_constidx() { half3 h; const int INDEX = 1000000000; half v = h[INDEX]; }
void half4_neg1_constidx() { half4 h; const int INDEX = -1; half v = h[INDEX]; }
void half4_0_constidx() { half4 h; const int INDEX = 0; half v = h[INDEX]; }
void half4_1_constidx() { half4 h; const int INDEX = 1; half v = h[INDEX]; }
void half4_2_constidx() { half4 h; const int INDEX = 2; half v = h[INDEX]; }
void half4_3_constidx() { half4 h; const int INDEX = 3; half v = h[INDEX]; }
void half4_4_constidx() { half4 h; const int INDEX = 4; half v = h[INDEX]; }
void half4_huge_constidx() { half4 h; const int INDEX = 1000000000; half v = h[INDEX]; }