Generated by GPT-5-mini| VK_KHR_swapchain | |
|---|---|
| Name | VK_KHR_swapchain |
| Type | Vulkan extension |
| Status | KHR |
| Introduced | 2016 |
| Dependencies | VK_KHR_surface |
| Specification | Vulkan 1.0 / 1.1 |
VK_KHR_swapchain VK_KHR_swapchain is a Vulkan device extension that provides mechanisms for presentable images and presentation surfaces, enabling interaction between Khronos Group, LunarG, Valve Corporation, Google LLC, and Intel Corporation driver ecosystems. It is foundational to graphics pipelines used by NVIDIA Corporation, Advanced Micro Devices, Microsoft, Sony Interactive Entertainment, and Apple Inc. platform integrations. The extension coordinates image acquisition, presentation, and synchronization across implementations by vendors such as ARM Holdings, Imagination Technologies, Broadcom Inc., and Samsung Electronics.
VK_KHR_swapchain was created by Khronos Group working groups alongside contributors from Valve Corporation, LunarG, and Google LLC to standardize presentation on surfaces like those used by X Window System, Wayland, Microsoft Windows, macOS, and Android. The extension depends on VK_KHR_surface and integrates with platform abstractions authored by organizations including The Linux Foundation and Freedesktop.org. It defines objects such as swapchains, presentable images, and present modes which interact with platform window systems maintained by X.Org Foundation and protocols like Wayland.
The specification is part of Vulkan core specifications published by Khronos Group and has been extended by KHR and EXT style patches contributed by companies such as NVIDIA Corporation, Advanced Micro Devices, Intel Corporation, Google LLC, and ARM Holdings. Notable companion extensions include VK_KHR_display, VK_EXT_swapchain_maintenance, VK_KHR_shared_presentable_image, and VK_EXT_full_screen_exclusive, with cross-references to platform layers supported by Mesa 3D Graphics Library and ANGLE Project. Revision history involves collaborative repositories managed by Khronos Group and code contributions tracked on platforms used by GitHub, Inc., with test suites from Khronos Conformance Tests and conformance labs like those operated by LunarG and Intel Corporation.
VK_KHR_swapchain exposes types and procedures for creating VkSwapchainKHR objects, acquiring VkImage handles, and queue-based presentation semantics used by Vulkan API implementations from NVIDIA Corporation, Advanced Micro Devices, and Intel Corporation. Key features include present modes (FIFO, MAILBOX, IMMEDIATE) influenced by design patterns used in windowing systems such as X Window System and Wayland, image usage flags used by DirectX interoperable layers, and synchronization primitives analogous to those in POSIX threading and Windows NT kernels. The extension describes presentation behaviors that affect compositors like Compositor (Wayland), display servers like X.Org Server, and runtime environments such as Android Runtime.
Applications built with toolchains from LunarG and IDEs from Microsoft or JetBrains use VK_KHR_swapchain to create and manage presentation resources, integrate with frameworks like SDL, GLFW, Qt, and engines such as Unity Technologies, Epic Games (Unreal Engine), id Software engines, and Godot Engine. Programming involves creating VkSwapchainKHR via vkCreateSwapchainKHR, acquiring images with vkAcquireNextImageKHR, and submitting VkPresentInfoKHR to vkQueuePresentKHR, with synchronization through VkSemaphore and VkFence types defined by Vulkan API. Interoperability scenarios use extensions like VK_KHR_external_memory and platform-specific backends used by Steamworks and Android NDK development kits.
Driver teams at NVIDIA Corporation, Advanced Micro Devices, Intel Corporation, ARM Holdings, Imagination Technologies, Broadcom Inc., and open-source projects like Mesa 3D Graphics Library implement VK_KHR_swapchain. Support spans operating systems maintained by Microsoft, Google LLC (Android), Apple Inc. (macOS via MoltenVK), and distributions from The Linux Foundation. Conformance testing and certification are coordinated by Khronos Group and executed by partners such as LunarG, Collabora, and vendor labs operated by NVIDIA Corporation and Intel Corporation. Mobile GPU vendors including ARM Holdings and Broadcom Inc. provide driver integrations for embedded platforms produced by Samsung Electronics and Qualcomm Incorporated.
Present modes and swapchain image count selection affect latency and throughput in engines like Unreal Engine and Unity Technologies; developers optimize for MAILBOX or FIFO based on compositor behavior seen in Wayland or X Window System environments. Drivers from NVIDIA Corporation, Advanced Micro Devices, and Intel Corporation implement tiling, memory allocation, and compression techniques drawn from GPU architectures documented by AMD and NVIDIA research. Profiling tools from LunarG, NVIDIA Corporation (Nsight), Intel Corporation (VTune), and ARM Holdings (Streamline) help tune vkAcquireNextImageKHR and vkQueuePresentKHR paths to reduce stalls caused by synchronization with DisplayPort or HDMI refresh constraints enforced by vendors like VESA.
VK_KHR_swapchain was part of the initial Vulkan 1.0 release and has been updated through ongoing maintenance by Khronos Group and implementers from NVIDIA Corporation, Advanced Micro Devices, Intel Corporation, and Google LLC. Platform adapters such as MoltenVK by Khronos Group partners enable compatibility on Apple Inc. systems, while projects like Mesa 3D Graphics Library and drivers from NVIDIA Corporation maintain Linux support. The extension’s evolution reflects contributions from corporations, open-source collaborators, and standards bodies including Khronos Group, The Linux Foundation, and testing organizations like LunarG.
Category:Vulkan extensions