#version 450

#extension GL_EXT_buffer_reference : enable

layout(buffer_reference, std430) buffer blockType {
    layout(offset = 0)  int a;
    layout(offset = 4)  int b;
    layout(offset = 8)  int c;
    layout(offset = 12) int d;
    layout(offset = 16) int e;
};

layout(std430) buffer t2 {
    blockType f;
    blockType g;
} t;

layout(std430, buffer_reference) buffer T2 { int x; };
layout(std430, buffer_reference) buffer T1 { int x; };

struct Blah {
    T1 t1;
    T2 t2;
};

layout(set=0, binding=0) buffer T3 {
  Blah Bindings[];
} t3;


void main() {
    Blah x = t3.Bindings[2];
    t3.Bindings[0] = t3.Bindings[1];
}
