Crafter.Graphics/interfaces
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jorijn van der Graaf b412640fac
feat(window): a destructor for the native backends
A Window could be created but never destroyed: the constructor's command
buffers, semaphores, fences, swapchain and Vulkan surface, and on Wayland
the viewport, fractional scale, decoration, xdg toplevel, xdg surface and
wl_surface stayed alive, and Device::windows kept a dangling pointer the
pointer listeners still compared against. An app that hides its window
and shows it again — a resident messaging app closing to a notification
— needs the window to go for real.

The destructor waits for the device, frees and destroys the Vulkan objects
in dependency order (the swapchain before the surface), releases the
Wayland objects from the cursor down to the wl_surface, flushes, and
removes the window from Device::windows and the focus pointers. The
decoration object the constructor used to leak is a member now. The frame
callback member is left alone: wl_surface_frame_done destroys the callback
it is handed and re-arms through its own local, so the member may name a
freed one.
2026-10-18 00:40:25 +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): route keys by keyboard focus, not pointer focus 2026-10-17 23:48:01 +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 SPDX license update 2026-07-22 18:09:06 +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 feat(vulkan): run the compute/UI path without VK_EXT_descriptor_heap 2026-10-06 17:28:46 +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 SPDX license update 2026-07-22 18:09:06 +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 SPDX license update 2026-07-22 18:09:06 +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 feat(window): a destructor for the native backends 2026-10-18 00:40:25 +02:00
Crafter.Graphics.cppm SPDX license update 2026-07-22 18:09:06 +02:00