Crafter.Graphics/implementations
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
..
Crafter.Graphics-Clipboard.cpp clipboard 2026-05-19 00:45:22 +02:00
Crafter.Graphics-ComputeShader.cpp perf(pipeline): shared, disk-persisted VkPipelineCache (#69) 2026-06-16 18:23:25 +00:00
Crafter.Graphics-Device.cpp perf(device): pop retired deletions off the front in O(ready) (#116) 2026-06-17 19:37:58 +00:00
Crafter.Graphics-Dom.cpp browser DOM support 2026-05-18 02:07:48 +02:00
Crafter.Graphics-Font.cpp Merge remote-tracking branch 'origin/master' into claude/issue-57 2026-06-16 17:02:48 +00:00
Crafter.Graphics-FontAtlas.cpp perf(ui): per-shelf dirty spans for tight atlas uploads (#129) 2026-06-18 13:35:54 +00:00
Crafter.Graphics-Gamepad.cpp browser DOM support 2026-05-18 02:07:48 +02:00
Crafter.Graphics-Input.cpp feat(input): wire native mouse-wheel scroll on Wayland + Win32, normalize all backends to ±1/detent (#32) 2026-06-12 15:02:28 +00:00
Crafter.Graphics-InputField.cpp perf(ui): memoize the input-field caret prefix width (#128) 2026-06-18 13:29:55 +00:00
Crafter.Graphics-Mesh-WebGPU.cpp perf(mesh): dirty-range vertex upload for deforming-mesh Refit (#119) 2026-06-17 19:50:48 +00:00
Crafter.Graphics-Mesh.cpp perf(mesh): dirty-range vertex upload for deforming-mesh Refit (#119) 2026-06-17 19:50:48 +00:00
Crafter.Graphics-PipelineRTWebGPU.cpp feat(webgpu-rt): atomic pixel accumulator + raysPerPixel for >1 ray/pixel/bounce (#30) 2026-06-09 22:45:25 +00:00
Crafter.Graphics-RenderingElement3D-WebGPU.cpp perf(webgpu): range-flush only live TLAS metadata slots (#130) 2026-06-18 13:56:21 +00:00
Crafter.Graphics-RenderingElement3D.cpp perf(tlas): dirty-track the per-frame TLAS instance+metadata upload (#118) 2026-06-17 19:58:45 +00:00
Crafter.Graphics-Router.cpp browser DOM support 2026-05-18 02:07:48 +02:00
Crafter.Graphics-ShaderBindingTableWebGPU.cpp webgpu triangle 2026-05-18 18:43:30 +02:00
Crafter.Graphics-UI-Shared.cpp Merge remote-tracking branch 'origin/master' into claude/issue-123 2026-06-18 13:29:49 +00:00
Crafter.Graphics-UI-WebGPU.cpp perf(ui): add additive DispatchFused to collapse consecutive UI passes (#47) 2026-06-16 17:03:24 +00:00
Crafter.Graphics-UI.cpp perf(ui): flush only the written descriptor range, not the whole heap (#61) 2026-06-16 18:29:24 +00:00
Crafter.Graphics-UIComponents.cpp perf(text): cache shaped runs in ShapeText (#52) 2026-06-16 15:40:52 +00:00
Crafter.Graphics-WebGPUComputeShader.cpp webgpu triangle 2026-05-18 18:43:30 +02:00
Crafter.Graphics-Window.cpp perf(sync): scope frame-loop barriers to swapchain image + real per-pass stages (#115) 2026-06-17 19:44:33 +00:00