SPIRV-Cross/reference/opt/shaders/legacy/vert/struct-flatten-stores-multi-dimension.legacy.vert

50 lines
1.2 KiB
GLSL
Raw Normal View History

#version 100
struct Foo
{
vec4 a;
vec4 b;
};
struct Bar
{
vec4 a;
vec4 b;
};
struct Baz
{
Foo foo;
Bar bar;
};
varying vec4 _12_a_a;
varying vec4 _12_a_b;
varying vec4 _12_b_a;
varying vec4 _12_b_b;
varying vec4 baz_foo_a;
varying vec4 baz_foo_b;
varying vec4 baz_bar_a;
varying vec4 baz_bar_b;
void main()
{
_12_a_a = vec4(10.0);
_12_a_b = vec4(20.0);
_12_b_a = vec4(30.0);
_12_b_b = vec4(40.0);
_12_a_a = Foo(vec4(50.0), vec4(60.0)).a;
_12_a_b = Foo(vec4(50.0), vec4(60.0)).b;
_12_b_a = Bar(vec4(50.0), vec4(60.0)).a;
_12_b_b = Bar(vec4(50.0), vec4(60.0)).b;
baz_foo_a = Foo(vec4(100.0), vec4(200.0)).a;
baz_foo_b = Foo(vec4(100.0), vec4(200.0)).b;
baz_bar_a = Bar(vec4(300.0), vec4(400.0)).a;
baz_bar_b = Bar(vec4(300.0), vec4(400.0)).b;
baz_foo_a = Baz(Foo(vec4(1000.0), vec4(2000.0)), Bar(vec4(3000.0), vec4(4000.0))).foo.a;
baz_foo_b = Baz(Foo(vec4(1000.0), vec4(2000.0)), Bar(vec4(3000.0), vec4(4000.0))).foo.b;
baz_bar_a = Baz(Foo(vec4(1000.0), vec4(2000.0)), Bar(vec4(3000.0), vec4(4000.0))).bar.a;
baz_bar_b = Baz(Foo(vec4(1000.0), vec4(2000.0)), Bar(vec4(3000.0), vec4(4000.0))).bar.b;
}