#version 450 #extension GL_EXT_scalar_block_layout : require layout(local_size_x = 1) in; struct Foo { vec4 a; }; struct Bar { Foo a; }; struct Baz { Bar a; }; layout(scalar, set = 0, binding = 0) buffer SSBOScalar { float v; Baz baz; } buffer_scalar; void main() { buffer_scalar.baz.a.a.a.a.x = 10.0; }