Crafter.Graphics/implementations
catbot c1fec9e8af perf(ui): scope inter-dispatch barrier to swapchain image (#48)
UIRenderer::Dispatch inserted a queue-wide VkMemoryBarrier
(SHADER_WRITE -> SHADER_READ|WRITE) before every dispatch after the
first, flushing/invalidating all shader caches even though the only
hazard is the read-modify-write of the single swapchain storage image
that every UI pass shares.

Narrow it to a VkImageMemoryBarrier scoped to that image's subresource
(COMPUTE -> COMPUTE, GENERAL -> GENERAL, no layout transition). Same
correctness — later passes still observe earlier passes' writes — but
only this image's caches are flushed; unrelated resources are no longer
invalidated.

This is a narrower cache flush only: the execution dependency stays
compute->compute queue-wide, so passes still do not overlap. Eliminating
the barriers entirely requires pass fusion (#47) and is intentionally
out of scope here.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-16 16:53:51 +00:00
..
Crafter.Graphics-Clipboard.cpp clipboard 2026-05-19 00:45:22 +02:00
Crafter.Graphics-ComputeShader.cpp fix(vulkan-rt): configurable recursion depth + per-shader TLAS push for compute (#21) 2026-06-03 18:35:39 +00:00
Crafter.Graphics-Device.cpp fix(device): add preferred mask + required-only fallback to GetMemoryType (#59) 2026-06-16 16:03:50 +00:00
Crafter.Graphics-Dom.cpp browser DOM support 2026-05-18 02:07:48 +02:00
Crafter.Graphics-Font.cpp new UI system 2026-05-01 23:35:37 +02: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 new input system 2026-05-12 00:24:48 +02: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 feat(rt): BuildProcedural/RefitProcedural from a device AABB buffer (#37) 2026-06-16 14:12:04 +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 tlas build options 2026-06-16 15:49:17 +02: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(text): fold Ensure+Lookup into FontAtlas::EnsureAndGet (#53) 2026-06-16 15:43:58 +00:00
Crafter.Graphics-UI-WebGPU.cpp feat(webgpu): HDR post-process primitives — float textures, storage-texture bindings, RESOLVE→HDR target (#27) 2026-06-09 12:55:14 +00:00
Crafter.Graphics-UI.cpp perf(ui): scope inter-dispatch barrier to swapchain image (#48) 2026-06-16 16:53:51 +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 Merge remote-tracking branch 'origin/master' into claude/issue-40 2026-06-16 15:41:59 +00:00