blob: 69a80382e48fe94bde6eb15d438ab12482e18e24 [file] [log] [blame]
#version 450
#extension GL_EXT_scalar_block_layout : require
layout(local_size_x = 1) in;
// Foo will be marked packed_float3 because offset of bar is just 12 bytes after foo.
struct Foo
{
vec3 a;
};
// Bar will be marked as packed due to alignment of the struct itself cannot work without packed.
struct Bar
{
vec3 a;
};
layout(scalar, set = 0, binding = 0) buffer SSBOScalar
{
Foo foo;
Bar bar;
} buffer_scalar;
void main()
{
buffer_scalar.foo.a.x = 10.0;
buffer_scalar.bar.a.x = 20.0;
}