Game development

GPU texture row layout

Plan bytes-per-row padding for WebGPU buffer copies or OpenGL unpacking.

Your inputs

Start with an example

Your inputs stay in your browser.

Your result

Example result

How it works

Round width × bytes per texel up to the row alignment. WebGPU command-encoder copies use 256-byte row alignment; OpenGL uses the selected unpack alignment.

257 RGBA8 texels use 1028 data bytes; a WebGPU row stride is 1280 bytes. Two rows address at least 2308 bytes.

Limits

Uncompressed 2D data only. WebGPU writeTexture has different alignment requirements. OpenGL row-length/skip settings and compressed blocks are excluded.