| #version 460 | |
| // explicitly sized in earlier stage, unsized and statically indexed with larger index in later stage | |
| // error: array is indexed with index (6) greater than its size (3) | |
| uniform sampler2D s[3]; | |
| // unsized and statically indexed in earlier stage, explicitly sized with smaller index (but not indexed) in later stage | |
| // error: array is indexed with index (20) greater than its size (2) | |
| uniform U0 { | |
| vec4 a[]; | |
| } u0; | |
| // explicitly sized in earlier stage, unsized and statically indexed with larger index in later stage | |
| // error: array is indexed with index (12) greater than its size (5) | |
| uniform U1 { | |
| vec4 a[5]; | |
| } u1; | |
| // explicitly sized (3) and not indexed in earlier stage, explicitly sized with different size (5) and not indexed in later stage | |
| // error: array size in earlier stage (3) does not array size in later stage (5) | |
| buffer B0 { | |
| vec4 a[3]; | |
| } b0; | |
| // explicitly sized in earlier stage, unsized and statically indexed with larger index in later stage | |
| // error: array is indexed with index (4) greater than its size (3) | |
| buffer B1 { | |
| vec4 a[3]; | |
| } b1; | |
| // explicitly sized in earlier stage, unsized and statically indexed with larger index in later stage | |
| // error: array is indexed with index (4) greater than its size (2) | |
| buffer B2 { | |
| vec4 a[]; | |
| } b2[]; | |
| out vec4 out_VS; | |
| void main() { | |
| out_VS = u0.a[20]; | |
| out_VS = b2[4].a[0]; | |
| } |