mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-09 12:00:05 +00:00
49 lines
655 B
Plaintext
49 lines
655 B
Plaintext
|
#version 450 core
|
||
|
|
||
|
struct MyStruct
|
||
|
{
|
||
|
vec2 foo[2];
|
||
|
int sb;
|
||
|
};
|
||
|
|
||
|
layout(binding = 0, std430) buffer SSBO0
|
||
|
{
|
||
|
MyStruct a;
|
||
|
} inBuf;
|
||
|
|
||
|
layout(binding = 1, std430) buffer SSBO1
|
||
|
{
|
||
|
MyStruct b;
|
||
|
} outBuf;
|
||
|
|
||
|
layout(binding = 2, std140) uniform UBO
|
||
|
{
|
||
|
MyStruct c;
|
||
|
} uBuf;
|
||
|
|
||
|
struct Nested {
|
||
|
float f;
|
||
|
MyStruct S[2];
|
||
|
};
|
||
|
|
||
|
layout(binding = 2, std140) uniform UBON
|
||
|
{
|
||
|
Nested N1;
|
||
|
} uBufN;
|
||
|
|
||
|
layout(binding = 1, std430) buffer SSBO1N
|
||
|
{
|
||
|
Nested N2;
|
||
|
} outBufN;
|
||
|
|
||
|
void main()
|
||
|
{
|
||
|
MyStruct t = inBuf.a;
|
||
|
outBuf.b = t;
|
||
|
t = uBuf.c;
|
||
|
outBuf.b = t;
|
||
|
|
||
|
Nested n = uBufN.N1;
|
||
|
outBufN.N2 = n;
|
||
|
}
|