зеркало из https://github.com/stride3d/xkslang.git
71 строка
997 B
GLSL
71 строка
997 B
GLSL
#version 100
|
|
|
|
float gu[]; // ERROR
|
|
float g4[4];
|
|
float g5[5];
|
|
|
|
uniform int a;
|
|
|
|
float[4] foo(float[5] a) // ERROR // ERROR
|
|
{
|
|
return float[](a[0], a[1], a[2], a[3]); // ERROR
|
|
}
|
|
|
|
void bar(float[5]) {}
|
|
|
|
void main()
|
|
{
|
|
{
|
|
float gu[2]; // okay, new scope
|
|
|
|
gu[2] = 4.0; // ERROR, overflow
|
|
}
|
|
|
|
g4 = foo(g5); // ERROR
|
|
g5 = g4; // ERROR
|
|
gu = g4; // ERROR
|
|
|
|
foo(gu); // ERROR
|
|
bar(g5);
|
|
|
|
if (float[4](1.0, 2.0, 3.0, 4.0) == g4) // ERROR
|
|
gu[0] = 2.0;
|
|
|
|
float u[5];
|
|
u[5] = 5.0; // ERROR
|
|
foo(u); // okay
|
|
|
|
gl_FragData[1000] = vec4(1.0); // ERROR
|
|
gl_FragData[-1] = vec4(1.0); // ERROR
|
|
gl_FragData[3] = vec4(1.0);
|
|
}
|
|
|
|
struct SA {
|
|
vec3 v3;
|
|
vec2 v2[4];
|
|
};
|
|
|
|
struct SB {
|
|
vec4 v4;
|
|
SA sa;
|
|
};
|
|
|
|
SB bar9()
|
|
{
|
|
SB s;
|
|
return s; // ERROR
|
|
}
|
|
|
|
void bar10(SB s) // okay
|
|
{
|
|
}
|
|
|
|
void bar11()
|
|
{
|
|
SB s1, s2;
|
|
s1 = s2; // ERROR
|
|
bar10(s1);
|
|
s2 = bar9(); // ERROR
|
|
SB initSb = s1; // ERROR
|
|
}
|