catbot
a55f15d332
perf(mesh): skip immutable index re-upload on RT refit UPDATE ( #68 )
...
A hardware acceleration-structure UPDATE cannot change topology, so the
index buffer is immutable on the Refit UPDATE path. Re-uploading it was a
wasted memcpy + FlushDevice + barrier of unchanged data every refit —
genuinely per-frame for deforming meshes.
Skip the index memcpy and its FlushDevice on the UPDATE branch; the
RecordBLASBuild call still reads the stable, unchanged indexBuffer.address.
The `indicies` span is now read only for its count. Document the API
nuance: a bitwise-different but topologically-equivalent index array is
ignored on refit, consistent with "a refit may only move vertex positions."
The full-rebuild fallback path still re-uploads both buffers.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 17:34:29 +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
fix(device): fence-keyed deferred resource-deletion queue ( #101 )
2026-06-17 13:21:12 +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
fix(image): scope sampled-image upload barriers to the real consumer stage ( #54 )
2026-06-16 16:01:23 +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(input-field): O(n) cursor hit test via Font::NearestCursorByte ( #56 )
2026-06-16 16:55:03 +00:00
Crafter.Graphics-Mesh-WebGPU.cpp
feat(rt): BuildProcedural/RefitProcedural from a device AABB buffer ( #37 )
2026-06-16 14:12:04 +00:00
Crafter.Graphics-Mesh.cpp
perf(mesh): skip immutable index re-upload on RT refit UPDATE ( #68 )
2026-06-17 17:34:29 +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
tlas build options
2026-06-16 15:49:17 +02:00
Crafter.Graphics-RenderingElement3D.cpp
perf(rt): high-water-mark growth for TLAS host-input buffers ( #64 )
2026-06-16 18:24:09 +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
perf(ui): gate per-pixel clip compares behind a flags bit ( #50 )
2026-06-16 16:57:07 +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
fix(device): fence-keyed deferred resource-deletion queue ( #101 )
2026-06-17 13:21:12 +00:00