I just noticed this: https://github.com/mrdoob/three.js/blob/9ef27d1af7809fa4d9943f8d4c4644e365ab6d2d/examples/jsm/renderers/webgpu/WebGPUAttributes.js#L67 This doesn't yield a new size with 4 byte alignment ( for example 5 + (5%4) = 6) Usually you would do ``` size = size + (4-size%4); ``` but again, this is wrong when size is already mod 4 = 0, so probably what you want to use is ``` size = size + (4-size%4) % 4; ```