SPIRV-Cross/reference/opt/shaders/desktop-only/comp/enhanced-layouts.comp
Hans-Kristian Arntzen af75ef005f Update glslang and SPIRV-Tools.
A lot of changes in spirv-opt output.
Some new invalid SPIR-V was found but most of them were not significant
for SPIRV-Cross, so just marked them as invalid.
2018-09-27 11:10:22 +02:00

48 lines
781 B
Plaintext

#version 450
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
struct Foo
{
int a;
int b;
int c;
};
struct Foo_1
{
int a;
int b;
int c;
};
layout(binding = 1, std140) buffer SSBO1
{
layout(offset = 4) int a;
layout(offset = 8) int b;
layout(offset = 16) Foo foo;
layout(offset = 48) int c[8];
} ssbo1;
layout(binding = 2, std430) buffer SSBO2
{
layout(offset = 4) int a;
layout(offset = 8) int b;
layout(offset = 16) Foo_1 foo;
layout(offset = 48) int c[8];
} ssbo2;
layout(binding = 0, std140) uniform UBO
{
layout(offset = 4) int a;
layout(offset = 8) int b;
layout(offset = 16) Foo foo;
layout(offset = 48) int c[8];
} ubo;
void main()
{
ssbo1.a = ssbo2.a;
ssbo1.b = ubo.b;
}