#version 450

layout(local_size_x = 64) in;

layout(binding = 0)
writeonly uniform uimage1D dst;

layout(push_constant)
uniform u_info_t {
  uvec4 clear_value;
  ivec2 dst_offset;
  ivec2 dst_extent;
} u_info;

void main() {
  ivec3 thread_id = ivec3(gl_GlobalInvocationID);

  if (thread_id.x < u_info.dst_extent.x)
    imageStore(dst, u_info.dst_offset.x + thread_id.x, u_info.clear_value);
}
