Crafter.Graphics/interfaces
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jorijn van der Graaf 70d9c2c82a
fix(rt): never destroy the static TLASes
RenderingElement3D::tlases was a plain static array, so its buffers
were freed by its static destructor at process exit. The Vulkan driver
and layers are loaded during Device::Initialize, after the array was
constructed, so their own statics are torn down first, and destroying
the buffers then called into freed driver and layer state: every
ray-traced app run with CRAFTER_GRAPHICS_VALIDATION segfaulted on exit
inside the validation layer. TLASHighWaterMark and
TLASInstanceDirtyTracking worked around it by tearing frame 0's TLAS
down by hand before returning.

tlases now refers to an array that is never destroyed, the choice
Device already makes for the device itself, and exit reclaims the
memory. Indexing it is unchanged for callers. The hand teardown in the
two tests goes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 03:03:16 +02:00
..
Crafter.Graphics-Animation.cppm SPDX license update 2026-07-22 18:09:06 +02:00
Crafter.Graphics-Clipboard.cppm SPDX license update 2026-07-22 18:09:06 +02:00
Crafter.Graphics-ComputeShader.cppm feat(vulkan): run the compute/UI path without VK_EXT_descriptor_heap 2026-10-06 17:28:46 +02:00
Crafter.Graphics-Decompress.cppm SPDX license update 2026-07-22 18:09:06 +02:00
Crafter.Graphics-DescriptorHeapVulkan.cppm feat(vulkan): run the compute/UI path without VK_EXT_descriptor_heap 2026-10-06 17:28:46 +02:00
Crafter.Graphics-DescriptorHeapWebGPU.cppm SPDX license update 2026-07-22 18:09:06 +02:00
Crafter.Graphics-Device.cppm fix(wayland): text input enables once per focus; touches route by their finger's window 2026-10-18 03:28:02 +02:00
Crafter.Graphics-Dom.cppm wasm improvements 2026-08-05 04:08:13 +02:00
Crafter.Graphics-DomEvents.cppm SPDX license update 2026-07-22 18:09:06 +02:00
Crafter.Graphics-Font.cppm SPDX license update 2026-07-22 18:09:06 +02:00
Crafter.Graphics-FontAtlas.cppm fix(font-atlas): wait for the GPU before the image goes; DOM stubs for SetAppId and SetTextInput 2026-10-18 03:28:11 +02:00
Crafter.Graphics-ForwardDeclarations.cppm SPDX license update 2026-07-22 18:09:06 +02:00
Crafter.Graphics-Gamepad.cppm SPDX license update 2026-07-22 18:09:06 +02:00
Crafter.Graphics-GraphicsTypes.cppm SPDX license update 2026-07-22 18:09:06 +02:00
Crafter.Graphics-Image2D.cppm SPDX license update 2026-07-22 18:09:06 +02:00
Crafter.Graphics-ImageVulkan.cppm fix(font-atlas): the atlas destroys its image 2026-10-18 01:12:21 +02:00
Crafter.Graphics-Input.cppm SPDX license update 2026-07-22 18:09:06 +02:00
Crafter.Graphics-InputField.cppm SPDX license update 2026-07-22 18:09:06 +02:00
Crafter.Graphics-Keys.cppm SPDX license update 2026-07-22 18:09:06 +02:00
Crafter.Graphics-Mesh.cppm SPDX license update 2026-07-22 18:09:06 +02:00
Crafter.Graphics-PipelineRTVulkan.cppm feat(vulkan): run the compute/UI path without VK_EXT_descriptor_heap 2026-10-06 17:28:46 +02:00
Crafter.Graphics-PipelineRTWebGPU.cppm SPDX license update 2026-07-22 18:09:06 +02:00
Crafter.Graphics-PlainComputeShader.cppm SPDX license update 2026-07-22 18:09:06 +02:00
Crafter.Graphics-RenderingElement3D.cppm fix(rt): never destroy the static TLASes 2026-10-19 03:03:16 +02:00
Crafter.Graphics-RenderPass.cppm SPDX license update 2026-07-22 18:09:06 +02:00
Crafter.Graphics-Router.cppm wasm improvements 2026-08-05 04:08:13 +02:00
Crafter.Graphics-RT.cppm SPDX license update 2026-07-22 18:09:06 +02:00
Crafter.Graphics-RTPass.cppm SPDX license update 2026-07-22 18:09:06 +02:00
Crafter.Graphics-SamplerVulkan.cppm SPDX license update 2026-07-22 18:09:06 +02:00
Crafter.Graphics-ShaderBindingTableVulkan.cppm feat(vulkan): run the compute/UI path without VK_EXT_descriptor_heap 2026-10-06 17:28:46 +02:00
Crafter.Graphics-ShaderBindingTableWebGPU.cppm SPDX license update 2026-07-22 18:09:06 +02:00
Crafter.Graphics-ShaderVulkan.cppm feat(vulkan): run the compute/UI path without VK_EXT_descriptor_heap 2026-10-06 17:28:46 +02:00
Crafter.Graphics-Types.cppm feat(wayland): text input through zwp_text_input_v3 2026-10-18 01:57:09 +02:00
Crafter.Graphics-UI.cppm feat(vulkan): run the compute/UI path without VK_EXT_descriptor_heap 2026-10-06 17:28:46 +02:00
Crafter.Graphics-UIComponents.cppm SPDX license update 2026-07-22 18:09:06 +02:00
Crafter.Graphics-VulkanBuffer.cppm SPDX license update 2026-07-22 18:09:06 +02:00
Crafter.Graphics-VulkanTransition.cppm feat(vulkan): run the compute/UI path without VK_EXT_descriptor_heap 2026-10-06 17:28:46 +02:00
Crafter.Graphics-WebGPU.cppm SPDX license update 2026-07-22 18:09:06 +02:00
Crafter.Graphics-WebGPUBuffer.cppm SPDX license update 2026-07-22 18:09:06 +02:00
Crafter.Graphics-WebGPUComputeShader.cppm SPDX license update 2026-07-22 18:09:06 +02:00
Crafter.Graphics-Window.cppm fix(wayland): text input enables once per focus; touches route by their finger's window 2026-10-18 03:28:02 +02:00
Crafter.Graphics.cppm SPDX license update 2026-07-22 18:09:06 +02:00