vulkan-wsi-layer/util
Normunds Rieksts 2d4cbd5afa Decouple swapchain images and their memory from swapchain class
Decouples the swapchain images and their memory binder/allocator logic into separate classes. This allows us to reduce code duplication across different backends that use the same type of allocation logic and also allows us to make use of RAII to release the resources for swapchain images.

The swapchain_base and other swapchain classes have been refactored to handle the new swapchain images.

The patch makes the following adjustments:

* Introduces a new swapchain_image class that holds all swapchain image resources
* Introduces a swapchain image factory class that constructs swapchain images
* Introduces a Vulkan image handle class that is responsible for constructing VkImage handles
* Introduces a new interface that describes how swapchain backing memory is being allocated
* As part of this backing memory interface, introduces device and external (wsialloc) backing memory classes
* Introduces a new interface that holds swapchain image data like wl_buffers
* Refactors lots of swapchain image parts out of the base swapchain class and moves it into the respective backends to simplify the swapchain classes.
2025-11-20 13:55:45 +00:00
..
drm Add external memory extension 2025-04-25 15:28:39 +01:00
wsialloc Remove ion wsialloc implementation 2025-11-10 16:28:20 +00:00
custom_allocator.cpp Update clang-format rules 2024-07-04 10:30:42 +01:00
custom_allocator.hpp Support nonzero present timing queue family 2025-10-06 11:27:34 +01:00
custom_mutex.cpp Support nonzero present timing queue family 2025-10-06 11:27:34 +01:00
custom_mutex.hpp Adding exception-safe custom mutex to the WSI layer 2025-09-05 16:06:38 +01:00
debug.cpp Adding debug interface 2025-11-04 12:20:24 +00:00
debug.hpp Adding debug interface 2025-11-04 12:20:24 +00:00
extension_list.cpp Enable -Werror on Vulkan WSI Layer 2024-10-22 09:14:54 +00:00
extension_list.hpp Fix issues reported by static analysis tools 2022-11-11 14:27:03 +00:00
file_descriptor.hpp VK_KHR_display surface_properties implementation 2024-08-12 11:44:22 +00:00
format_modifiers.cpp Update clang-format rules 2024-07-04 10:30:42 +01:00
format_modifiers.hpp Add support for VK_EXT_image_compression_control_swapchain 2022-05-25 16:49:52 +01:00
helpers.hpp Support VK_KHR_swapchain_mutable_format extension 2025-09-11 09:28:03 +01:00
log.cpp Fix formatting long as %d in util/log.cpp 2023-10-19 08:23:09 +00:00
log.hpp Fix formatting long as %d in util/log.cpp 2023-10-19 08:23:09 +00:00
macros.hpp VK_KHR_display surface_properties implementation 2024-08-12 11:44:22 +00:00
platform_set.hpp Enable instance extensions required by layer 2022-05-30 13:51:20 +01:00
ring_buffer.hpp Add a workaround when wp_feedback events are not delivered 2025-10-31 10:35:08 +00:00
timed_semaphore.cpp Fix issues found by static analysis 2022-07-21 19:05:53 +01:00
timed_semaphore.hpp Update clang-format rules 2024-07-04 10:30:42 +01:00
unordered_map.hpp Support nonzero present timing queue family 2025-10-06 11:27:34 +01:00
unordered_set.hpp Support nonzero present timing queue family 2025-10-06 11:27:34 +01:00
wsi_extension.cpp Decouple swapchain images and their memory from swapchain class 2025-11-20 13:55:45 +00:00
wsi_extension.hpp Decouple swapchain images and their memory from swapchain class 2025-11-20 13:55:45 +00:00