layout(local_size_x = 128) in;
layout(std430) buffer;

layout(binding = 0) writeonly buffer Output {
  uint count;
  uint elements[];
}
output_data;

layout(binding = 1) readonly buffer Input {
  uint count;
  uint elements[];
}
input_data;

void main() {
  uint ident = gl_GlobalInvocationID.x;

  if (ident >= input_data.count) {
    return;
  }

  uint out_slot = ident * 2;

  output_data.count = input_data.count * 2;

  output_data.elements[out_slot] = input_data.elements[ident] * 2;
  output_data.elements[out_slot + 1] = input_data.elements[ident] * 3;
}
