#version 450

layout(local_size_x = 128) in;

layout(binding = 0)
writeonly buffer dst_buf {
  uint data[];
} dst;

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

void main() {
  int thread_id = int(gl_GlobalInvocationID.x);

  if (thread_id < u_info.dst_extent.x)
    dst.data[u_info.dst_offset.x + thread_id] = u_info.clear_value.x;
}
