#version 430 layout (local_size_x = 1, local_size_y = 1, local_size_z = 1) in; layout (binding = 0, std430) buffer toGpu { float _float[]; }; layout (binding = 1, std140) buffer fromGpu { int _int[]; }; void main() { int length = min(_float.length(), _int.length()); for (int i = 0; i < length; ++i) _int[i] = int(_float[i]); }