Skip to content

Vulkan: integrate VK_EXT_swapchain_maintenance1#1432

Draft
floooh wants to merge 8 commits into
masterfrom
vk-swapchain-maintenance1
Draft

Vulkan: integrate VK_EXT_swapchain_maintenance1#1432
floooh wants to merge 8 commits into
masterfrom
vk-swapchain-maintenance1

Conversation

@floooh

@floooh floooh commented Feb 2, 2026

Copy link
Copy Markdown
Owner

NOTE: not going to merge this since VK_EXT_swapchain_maintenance1 has too little support, not worth the hassle.

See: https://docs.vulkan.org/features/latest/features/proposals/VK_EXT_swapchain_maintenance1.html

Meh, I should have checked coverage before. Under 30% on Windows and under 40% on Linux isn't great :/

Let's just salvage the bugfixes and code cleanup, but abandon the rest:

  • physical device selection fallthrough bug
  • move swapchain image-view create/destroy into separate funcs
  • _sapp_win32_update_dimensions() must not update framebuffer width/height
  • _sapp_vk_recreate_swapchain() must fire resize event instead

Abandondend:

  • deferred swapchain image allocation (reduces memory usage during resize)
  • use immediate present mode on Windows during window resize/movement (less stuttery during movement, but still not as good as with DXGI on my NVIDIA PC)
  • also fix an existing bug in physical device selection (would not properly error out when no suitable device was found)
  • also fix existing bug where window-resizing would overwrite framebuffer width/height
  • implement window system canvas scaling
    • NOTE: not supported on my Linux laptop, must be optional
    • to reduce resizing artefacts (black border)
    • to properly support high_dpi: false (render at half the canvas resolution)
  • use new present-fence to properly recycle present-semaphores
    • ...does this allows to use a swapchain-image-count of 2 on Windows?

@floooh floooh self-assigned this Feb 2, 2026
@floooh floooh added this to sokol todo Feb 2, 2026
@floooh floooh moved this to In Progress in sokol todo Feb 2, 2026
@floooh floooh marked this pull request as draft February 2, 2026 15:24
@floooh floooh moved this from In Progress to Parked in sokol todo Feb 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Parked

Development

Successfully merging this pull request may close these issues.

1 participant