#version 450

layout(constant_id = 0) const int arraySize = 3;

layout(binding = 0, rgba32i) uniform iimage2D images[arraySize];
layout(binding = 4) uniform constant_block
{
	vec4 foo;
	int bar;
} constants[4];

layout(binding = 8) buffer storage_block
{
	uvec4 baz;
	ivec2 quux;
} storage[2];

void doWork()
{
	storage[0].baz = uvec4(constants[3].foo);
	storage[1].quux = imageLoad(images[2], ivec2(constants[1].bar)).xy;
}

void main()
{
	doWork();
}
