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