perf(webgpu): range-flush only live TLAS metadata slots (#130) #149

Merged
catbot merged 1 commit from claude/issue-130 into master 2026-06-18 15:56:46 +02:00

1 commit

Author SHA1 Message Date
catbot
db35e78eaf perf(webgpu): range-flush only live TLAS metadata slots (#130)
The metadata mirror is padded to kNPadded (65536) but only primitiveCount
slots are live. metadataBuffer.FlushDevice() wgpuWriteBuffer'd all 256 KB
through the WASM->JS staging path every frame (~100-250x waste for a
few-hundred-instance scene). Switch to the existing FlushDeviceRange
overload — the same one the instanceBuffer loop directly above uses —
sized to primitiveCount * sizeof(uint32_t). The Vulkan parallel already
sizes its flush to primitiveCount, so this was WebGPU-specific.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 13:56:21 +00:00