Fact-checked by Grok 2 weeks ago

Vulkan

Vulkan is a low-level, cross-platform application programming interface (API) for 3D graphics rendering and general-purpose computing on graphics processing units (GPUs). Developed and maintained by the Khronos Group, it enables high-efficiency access to modern GPU hardware across diverse platforms including personal computers, game consoles, mobile devices, and embedded systems. Released in its initial version 1.0 on February 16, 2016, Vulkan emphasizes explicit control over GPU resources to minimize overhead and maximize performance in resource-intensive applications such as video games and scientific simulations. The development of Vulkan stemmed from the need to overcome the limitations of older APIs like OpenGL, which had accumulated complexity over decades and imposed significant driver overhead. Initiated around 2014, the API was created through an unprecedented collaboration involving over 100 Khronos Group members, including major hardware vendors such as NVIDIA, AMD, Intel, Qualcomm, and ARM, as well as game engine developers. This 18-month effort resulted in an open-source specification, conformance tests, and SDKs available at launch, marking the first "hard launch" for a Khronos API with immediate support from multiple operating systems like Windows, Linux, and Android. Influenced by low-level APIs like AMD's Mantle, Vulkan shifted more responsibility to developers for tasks like memory allocation and command submission, enabling better multi-threading and reduced CPU bottlenecks. Key features of Vulkan include its use of the SPIR-V binary intermediate language for portable, pre-compiled shaders; support for multi-threaded command buffer recording to distribute workload across CPU cores; and fine-grained control over synchronization, memory, and pipeline states. These elements allow for lower driver intervention compared to higher-level APIs, potentially yielding significant performance gains while maintaining cross-vendor compatibility without platform-specific code. Vulkan also supports extensions for specialized functionality, such as ray tracing via VK_KHR_ray_tracing_pipeline, and integrates with other Khronos standards like glTF for 3D asset interchange. Since its debut, Vulkan has evolved through backward-compatible minor versions that promote proven extensions into the core API for broader adoption. Version 1.1, released on March 7, 2018, enhanced synchronization and multi-GPU support. Vulkan 1.2 followed on January 15, 2020, incorporating features like timeline semaphores and improved shader modules. The 1.3 update on January 25, 2022, added dynamic rendering and generalized indirect drawing for more flexible pipelines. Most recently, Vulkan 1.4, launched on December 2, 2024, mandates support for advanced rendering techniques including 8K textures and enhanced cross-platform deployment tools. Widely adopted in major game engines like Unreal Engine and Unity, as well as professional applications, Vulkan continues to drive GPU-accelerated innovation with ongoing extensions and SDK updates.

Introduction

Overview

Vulkan is a low-level, cross-platform application programming interface (API) for 3D graphics rendering and general-purpose GPU computing, developed and maintained by the Khronos Group. It provides high-efficiency access to modern GPUs across a wide range of devices, including PCs, consoles, mobile platforms, and embedded systems. The API enables developers to exert explicit control over GPU resources, minimizing overhead and optimizing performance for demanding applications such as video games, real-time simulations, and AI-driven workloads. This approach allows for reduced CPU bottlenecks and better utilization of hardware capabilities in compute-intensive tasks. At its foundation, Vulkan relies on key concepts including instances, which establish the connection between an application and the Vulkan runtime; devices, distinguishing physical GPU hardware from logical abstractions for interaction; queues, which handle the submission of work to specific GPU execution engines; and command buffers, which record sequences of GPU commands for efficient, batched execution. Vulkan was initially released to the public on February 16, 2016, as a royalty-free open standard. It uses SPIR-V as its standardized intermediate representation for shaders and compute kernels, facilitating portability across compilers and hardware vendors. Evolving from high-level predecessors like OpenGL, Vulkan shifts toward explicit, low-overhead paradigms to meet the needs of contemporary graphics and compute demands.

Design goals

Vulkan was created to overcome the limitations of previous graphics APIs, particularly OpenGL's high CPU overhead and driver-induced bottlenecks, which often resulted in inefficient GPU utilization and unpredictable performance. By offering explicit, low-level access to GPU hardware, Vulkan enables developers to minimize runtime overhead and reduce the complexity of driver validation and state management. This approach was directly inspired by AMD's Mantle API, which demonstrated the benefits of low-overhead design in providing finer control over graphics hardware. The primary objectives of Vulkan include drastically reducing driver overhead to achieve higher efficiency, enhancing multi-core CPU utilization through support for parallel command generation, and delivering consistent behavior across diverse hardware vendors and platforms. These goals aim to maximize performance predictability for both graphics rendering and compute tasks, allowing applications to scale effectively on modern multi-threaded processors. Additionally, Vulkan was designed to accommodate emerging workloads, such as ray tracing via dedicated extensions and machine learning through its robust compute shader capabilities, ensuring longevity in evolving GPU applications. Vulkan targets experienced developers and engine programmers who require granular control over GPU resources, in contrast to higher-level APIs like OpenGL that abstract away complexities for broader accessibility. This focus on explicit control empowers sophisticated applications, such as advanced game engines, to optimize for specific hardware without hidden costs from driver assumptions. As an open standard developed by the Khronos Group, Vulkan seeks to establish a unified, platform-agnostic API that mitigates fragmentation caused by proprietary alternatives like Direct3D and Metal, promoting cross-platform portability and a single codebase for deployment across desktops, mobiles, and consoles. This standardization fosters an ecosystem where developers can achieve high-efficiency access to modern GPUs without vendor lock-in.

Core features

Low-level GPU access

Vulkan provides developers with direct, explicit control over GPU hardware operations, minimizing runtime overhead from driver-managed abstractions and enabling fine-tuned performance optimization. Unlike higher-level APIs that automatically handle many low-level decisions, Vulkan requires applications to manage resources, synchronization, and command execution manually, allowing for reduced CPU intervention and more predictable GPU utilization. This approach is fundamental to Vulkan's design as a cross-platform API for graphics and compute, as outlined in the official specification. Explicit resource management in Vulkan places the responsibility on developers to allocate and bind memory for buffers, images, and other resources, avoiding implicit driver allocations that could introduce variability or overhead. Applications must query available memory types and heaps on the physical device, then allocate device memory using functions like vkAllocateMemory, and explicitly bind resources to this memory via vkBindBufferMemory or vkBindImageMemory. Synchronization is also manual, requiring the use of barriers and semaphores to coordinate access between CPU and GPU or across GPU operations, ensuring data consistency without relying on hidden driver mechanisms. This explicit handling prevents unnecessary copies or state transitions managed by the driver, leading to more efficient resource usage, particularly in memory-constrained environments. The process of device and physical device enumeration allows applications to discover and select appropriate GPU hardware before initializing operations. Using vkEnumeratePhysicalDevices, an application retrieves a list of available physical devices, each representing a distinct GPU or integrated graphics unit. For each physical device, developers query properties, features, and memory details via vkGetPhysicalDeviceProperties, vkGetPhysicalDeviceFeatures, and similar functions to assess capabilities like supported extensions or queue families. Once a suitable physical device is chosen, a logical device is created with vkCreateDevice, specifying queue families and features to enable, which establishes a tailored interface to the hardware without broad abstractions. This enumeration step ensures compatibility and optimal selection, granting low-level insight into GPU architecture from the outset. Command buffers and queues form the core mechanism for recording and executing GPU instructions in Vulkan, providing granular control over parallel workloads. Command buffers are allocated from command pools and used to record sequences of operations, such as draw calls or memory copies; primary command buffers can be submitted directly to queues, while secondary buffers allow inheritance of state for modular recording, enabling reuse and reduced redundancy in complex scenes. These buffers are then submitted to specific queues via vkQueueSubmit, where queue families—enumerated during device selection—support distinct operations like graphics, compute, or transfer, facilitating parallel execution across hardware pipelines. This structure decouples command preparation from submission, allowing developers to batch instructions efficiently and manage GPU concurrency explicitly. Vulkan reduces CPU-GPU communication overhead by encouraging batching of draw calls and efficient use of descriptor sets, contrasting with immediate-mode APIs that incur per-call driver costs. Multiple draw commands can be recorded into a single command buffer for submission in one go, minimizing synchronization points and API calls per frame. Descriptor sets group shader resources like uniforms, textures, and samplers into bindable units, updated via vkUpdateDescriptorSets and bound once per pipeline layout, avoiding frequent individual resource bindings that would otherwise amplify driver overhead. This batching approach can significantly lower latency in high-draw-count scenes compared to non-batched alternatives. Such mechanisms enable low-level access that supports multi-threading for command recording, enhancing overall parallelism.

Multi-threading support

Vulkan's design emphasizes thread safety by avoiding global state, enabling applications to create and manage resources such as command buffers and pipelines independently across multiple CPU threads without requiring internal synchronization from the API itself. This approach places the responsibility on developers to handle external synchronization, but it minimizes overhead and allows for efficient parallel resource preparation on multi-core processors. For instance, separate command pools can be allocated per thread to record command buffers concurrently, ensuring that operations like vkCmdBeginCommandBuffer and pipeline creation via vkCreatePipeline proceed without contention. To coordinate activities between CPU threads and GPU execution, Vulkan provides explicit synchronization primitives including semaphores, fences, and barriers. Semaphores serve as lightweight signals for ordering operations across queues or within a single queue, allowing threads to submit dependent work packages—such as a compute shader output feeding into a graphics render—while ensuring the GPU processes them in the correct sequence. Fences, in contrast, facilitate CPU-GPU synchronization by enabling a thread to wait for the completion of submitted queue operations using functions like vkWaitForFences, which is essential for scenarios where multiple threads prepare frames but the main thread must confirm GPU readiness before presenting results. Barriers, inserted via vkCmdPipelineBarrier within command buffers, enforce memory visibility and execution dependencies, resolving data hazards when threads access shared resources like buffers or images; for example, a barrier can ensure that a transfer queue's data upload is visible to a subsequent graphics queue operation. These primitives collectively allow fine-grained control, preventing race conditions in multi-threaded environments while maintaining high throughput. Vulkan supports queue parallelism by permitting submissions to multiple queue types—such as graphics, compute, and transfer queues—from different threads, leveraging the logical device's queue families to distribute workload without inherent API-level locking. Each thread can target a specific queue handle obtained via vkGetDeviceQueue, recording and submitting command buffers in parallel; for instance, one thread might handle compute tasks on a dedicated queue while another manages graphics rendering, with semaphores bridging any interdependencies. This separation enables concurrent execution on the GPU where hardware permits, as queues operate asynchronously unless synchronized explicitly. The multi-threading architecture yields significant scalability on multi-core systems, allowing applications to parallelize CPU-intensive tasks like command buffer recording and resource setup, thereby alleviating single-thread bottlenecks that limit frame rates in rendering pipelines. By distributing these operations, Vulkan reduces overall CPU utilization and improves frame time consistency, particularly in complex scenes where sequential processing would otherwise serialize preparation steps.

Cross-platform portability

Vulkan provides native support across multiple platforms, including Windows, Linux, Android, and gaming consoles, allowing developers to target diverse hardware ecosystems with a single API implementation. This portability is facilitated through platform-specific loaders that interface with the underlying operating systems and drivers; for instance, on Windows, the loader is implemented as vulkan-1.dll, while Linux uses libvulkan.so.1, and Android employs a loader integrated into the Android Runtime. By abstracting hardware and OS differences at the loader level, Vulkan ensures that core API calls remain consistent, enabling applications to run without significant modifications across these environments. Instance and layer extensions form a key mechanism for querying and enabling platform-specific features, promoting seamless integration with windowing systems and display surfaces. The core VK_KHR_surface extension provides a foundation for creating presentation surfaces, which is extended by platform-specific variants such as VK_KHR_win32_surface for Windows, VK_KHR_xlib_surface or VK_KHR_xcb_surface for Linux X11, and VK_KHR_android_surface for Android. These instance-level extensions allow applications to enumerate available capabilities at runtime and selectively enable those relevant to the target platform, while layers can intercept and modify API calls for debugging or additional functionality without altering the core portability. This design minimizes vendor-specific tweaks, as the extensions maintain a unified interface for surface creation and presentation across supported systems. Device extensions address vendor-specific capabilities while preserving core API consistency, enabling hardware-optimized features without compromising cross-platform compatibility. At the device level, extensions like those prefixed with vendor IDs (e.g., VK_NV_ for NVIDIA or VK_AMD_ for AMD) allow querying and enabling specialized functions such as advanced ray tracing or variable rate shading, but applications must check support via vkEnumerateDeviceExtensionProperties to ensure portability. The Vulkan specification mandates that core functionality remains uniform, with device extensions serving as optional additions that do not alter the baseline behavior, thus supporting consistent rendering pipelines across diverse GPUs. To extend portability to non-native platforms lacking full Vulkan conformance, such as macOS or iOS, the Vulkan Portability Initiative introduces subsets and profiles that define a minimal, layerable API implementation. The VK_KHR_portability_subset extension, released in 2020, identifies deviations from a conformant Vulkan 1.0 implementation, allowing layered runtimes like MoltenVK to map Vulkan calls onto native APIs such as Metal while advertising only supported features. This subset ensures applications can query portability-specific properties and features via structures like VkPhysicalDevicePortabilitySubsetPropertiesKHR, enabling robust deployment on platforms without direct Vulkan drivers by emulating a consistent subset of the API. Profiles further refine this by specifying targeted capability sets, reducing fragmentation and facilitating efficient porting to embedded or proprietary systems.

Shader and resource management

Vulkan employs SPIR-V as its standard binary intermediate representation for shaders and compute kernels, enabling developers to compile high-level shading languages such as GLSL or HLSL into a portable format offline before runtime. This approach avoids the overhead of just-in-time compilation during application execution, as SPIR-V modules are created using vkCreateShaderModule and integrated into pipelines without further processing by the driver. By standardizing shader representation across Vulkan implementations, SPIR-V facilitates cross-vendor compatibility and reduces validation costs at draw time. Pipeline state objects (PSOs) in Vulkan, represented as VkPipeline handles, encapsulate immutable configurations for graphics or compute pipelines, including fixed shader stages, vertex input bindings, and fixed-function operations like rasterization and blending. These objects are created via vkCreateGraphicsPipelines or vkCreateComputePipelines, linking all stages into a single, optimized unit that minimizes state validation during command recording. To support efficient per-frame adjustments without recreating pipelines, Vulkan allows dynamic states—such as viewports, scissors, or line widths—to be specified at bind time using commands like vkCmdSetViewport, thereby optimizing rebinding overhead in rendering loops. Descriptor sets serve as the primary mechanism for binding shader resources, such as uniform buffers, storage buffers, sampled images, and samplers, to pipelines in a reusable and efficient manner. These sets are allocated from descriptor pools created with vkCreateDescriptorPool, which specify the maximum number of sets and counts of each descriptor type to manage memory allocation. Once allocated via vkAllocateDescriptorSets, descriptors within a set can be updated atomically using vkUpdateDescriptorSets to reference resources like textures or buffers, and the sets are bound to command buffers with vkCmdBindDescriptorSets according to a pipeline's layout, enabling flexible resource sharing across draw calls. Vulkan's memory management requires explicit allocation of device memory through vkAllocateMemory, returning VkDeviceMemory objects that must be bound to buffers or images using vkBindBufferMemory or vkBindImageMemory to make them usable. Physical device properties, queried via vkGetPhysicalDeviceMemoryProperties, reveal available memory types and heaps, allowing selection based on flags like VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT for GPU-optimized, non-host-accessible memory or VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT for CPU-mappable regions suitable for staging data transfers. This granular control ensures alignment with hardware constraints, such as minimum alignment requirements for buffers (typically 64 bytes) and images (128 bytes), while supporting dedicated allocations for performance-critical resources.

Comparisons with other APIs

Vulkan vs. OpenGL

Vulkan and OpenGL represent two distinct approaches to graphics programming, with Vulkan emphasizing a low-level, explicit interface that grants developers fine-grained control over GPU resources, in contrast to OpenGL's higher-level abstractions that prioritize ease of use at the expense of some efficiency. OpenGL operates as a state machine where rendering commands implicitly modify a global state, requiring the driver to track and validate numerous state changes at runtime, which introduces significant overhead. In Vulkan, developers issue explicit commands through command buffers, avoiding hidden state transitions and allowing for pre-validation of operations, thereby reducing driver involvement and enabling more predictable performance. This shift from OpenGL's implicit handling to Vulkan's explicit model addresses long-standing issues with driver overhead in OpenGL, where the runtime interpretation of commands can lead to unpredictable CPU costs. A primary performance trade-off lies in CPU overhead, where Vulkan's design facilitates batching of draw calls and explicit synchronization, minimizing API calls to the driver compared to OpenGL's more frequent, immediate-mode interactions that often require per-frame state queries and validations. In OpenGL, the synchronous nature of command submission ties the CPU closely to GPU execution, potentially bottlenecking multi-core systems, whereas Vulkan's asynchronous queues and manual synchronization primitives like fences and semaphores allow developers to overlap CPU and GPU work, reducing latency and improving throughput on modern hardware. This explicit control in Vulkan can yield significantly lower CPU utilization in multi-threaded scenarios, with benchmarks showing reductions of up to 30% compared to OpenGL, enabling better scaling for complex applications, though it demands careful management to avoid errors like race conditions. Both APIs support cross-platform development, targeting desktops, mobiles, and embedded devices, but Vulkan provides more consistent access to underlying hardware capabilities through its core specification, obviating the need for vendor-specific extensions that fragment OpenGL implementations across drivers. For instance, features such as compute shaders and advanced memory management are standardized in Vulkan from version 1.0, ensuring uniform behavior without the extension proliferation common in OpenGL, where core profiles lag behind hardware advancements and portability relies on optional extensions. This consistency in Vulkan enhances reliability in heterogeneous environments, though it requires developers to handle platform-specific details explicitly, unlike OpenGL's driver-mediated abstractions. Migrating from OpenGL to Vulkan presents challenges due to the latter's verbosity, often requiring significantly more code—up to several times the lines—for equivalent functionality, as developers must manually manage resources like pipelines, descriptors, and synchronization that OpenGL handles implicitly. Tools such as glslang facilitate shader conversion by compiling OpenGL's GLSL into Vulkan's SPIR-V intermediate representation, enabling reuse of existing shader assets with minimal modifications. However, broader porting efforts involve rewriting command submission logic and memory allocation, with validation layers aiding debugging but increasing initial development time; despite this, the investment yields better long-term performance and maintainability for high-end applications. Vulkan shares conceptual similarities with Direct3D 12 in its low-level philosophy, both prioritizing explicit control over legacy abstractions.

Vulkan vs. Direct3D 12

Vulkan and Direct3D 12 (D3D12) share foundational design philosophies as low-level graphics and compute APIs, emphasizing explicit control over GPU resources to minimize overhead and maximize performance. Both APIs require developers to manage resource states manually, using barriers to synchronize transitions between states such as rendering targets or shader resources, which reduces driver intervention and enables efficient multi-threading. For instance, D3D12 employs resource barriers to handle state changes explicitly, shifting synchronization responsibilities from the driver to the application for better CPU utilization. Similarly, Vulkan mandates explicit synchronization through barriers and semaphores, allowing fine-grained control over command execution across multiple threads. In terms of shader compilation, Vulkan uses SPIR-V as an intermediate representation for cross-vendor compatibility, while D3D12 relies on DXIL, a bytecode format optimized for Microsoft's ecosystem, though both approaches support ahead-of-time compilation to avoid runtime overhead. A key distinction lies in platform support: D3D12 is exclusive to Windows and Xbox platforms, tightly integrated with Microsoft's hardware and software stack for optimized performance on those systems. In contrast, Vulkan offers broad cross-platform portability, supporting Windows, Linux, Android, macOS (via MoltenVK), and various consoles, making it the preferred choice for developers targeting diverse ecosystems without proprietary lock-in. Regarding feature parity, both APIs provide analogous mechanisms for command recording and submission, with D3D12's command lists and queues mirroring Vulkan's command buffers and queues to enable parallel recording from multiple threads for reduced CPU bottlenecks. Memory management is also comparable, using heaps in D3D12 for allocating committed or placed resources, akin to Vulkan's device memory heaps and allocations, which allow explicit binding of buffers and images to GPU memory. Resource barriers serve a similar purpose in both, ensuring correct state transitions before and after operations like rendering or copying. However, differences emerge in resource binding: D3D12 uses root signatures to define shader-visible parameters, including descriptor tables for efficient binding of multiple resources, whereas Vulkan employs descriptor sets and layouts with support for dynamic indexing (via extensions like VK_EXT_descriptor_indexing), offering more flexible array-based access without fixed slots. Performance-wise, Vulkan and D3D12 deliver comparable efficiency on supported hardware, with benchmarks showing similar frame rates and reduced CPU usage in modern titles, though results vary by implementation and driver quality. For example, in standardized tests like 3DMark, both APIs achieve near-parity in throughput for compute and graphics workloads, outperforming higher-level APIs by 10-20% in multi-threaded scenarios. Vulkan's open standard further benefits from community-driven optimizations and avoids the vendor lock-in of D3D12, facilitating easier porting across platforms without ecosystem-specific rework.

Development history

Initial development and release (2014–2016)

The development of Vulkan originated as a Khronos Group initiative in mid-2014, aimed at creating a new cross-platform graphics and compute API to succeed OpenGL. The project drew inspiration from AMD's Mantle API, which emphasized low-overhead GPU access, and involved collaboration among major industry players including NVIDIA, Intel, ARM, Imagination Technologies, Valve, and LunarG. This effort, initially termed the "Next Generation OpenGL" or "glNext," was first disclosed publicly at SIGGRAPH 2014 in August, marking the start of broad industry participation in defining the API's architecture. Vulkan was formally announced on March 3, 2015, at the Game Developers Conference (GDC) in San Francisco, where Khronos unveiled its name and provided a detailed technical overview, including demonstrations of early implementations on various hardware. Alongside the announcement, the group released a provisional specification for SPIR-V, the binary intermediate language designed to serve as a common shader representation for Vulkan and other Khronos APIs like OpenCL. The API's design focused on enabling efficient, explicit control over GPU resources to reduce driver overhead, with provisional header files made available to developers for early experimentation. By December 2015, the Vulkan Working Group had completed the core specification after extensive review and testing, though the full public release was delayed to ensure conformance and driver readiness. On February 16, 2016, Khronos ratified and released the Vulkan 1.0 specification, accompanied by open-source conformance tests and compatible drivers from multiple vendors. Concurrently, LunarG launched the initial Vulkan SDK for Windows and Linux, which included essential tools such as validation layers to help developers detect API misuse and debug applications during early adoption. These layers provided runtime checks for correctness, memory management, and synchronization, forming a critical foundation for the burgeoning Vulkan ecosystem.

Expansion and adoption (2017–2020)

Following the initial release, Vulkan saw significant expansion in platform integrations during 2017, particularly on mobile devices. Android 7.0 (Nougat), which introduced Vulkan support in August 2016, experienced broader adoption in 2017 as more mid-range and flagship devices from manufacturers like Samsung and Google launched with compatible hardware, enabling developers to target efficient graphics rendering on a wider array of smartphones. By 2018, driver maturity on desktop platforms advanced notably; on Linux, the open-source RADV Vulkan driver for AMD GPUs incorporated numerous features, fixes, and performance optimizations throughout the year, while NVIDIA and Intel drivers on Windows achieved greater stability for production use. Game developers increasingly adopted Vulkan for its low-overhead access to GPU resources, leading to integrations in major titles and engines. Epic Games enhanced Vulkan support in Unreal Engine 4.17, released in August 2017, through a comprehensive refactoring that improved stability, defaulted to SM5 feature levels, and expanded cross-platform compatibility, facilitating its use in high-profile projects. Notable early adopters included Wolfenstein II: The New Colossus in 2017, which leveraged Vulkan for better multi-threading on PC, and Quake II RTX in 2019, a ray-tracing demonstration rebuilt on Vulkan to showcase real-time lighting effects across NVIDIA hardware. These examples highlighted Vulkan's role in enabling advanced rendering techniques without the overhead of higher-level APIs. Tooling advancements supported this growth by simplifying development and ensuring reliability. The Vulkan SDK 1.1, released on March 7, 2018, by the Khronos Group and LunarG, introduced enhanced validation layers for runtime error detection and expanded conformance tests to verify implementation correctness across vendors, reducing debugging time for developers. These tools, including improved shader toolchains and debug utilities, were distributed openly via GitHub, fostering community contributions and broader ecosystem maturity. Despite these progresses, early adoption encountered hurdles such as inconsistent driver behaviors and a steep learning curve due to Vulkan's explicit resource management. Initial driver bugs, particularly on Linux in 2017, caused crashes in complex scenes, while the API's verbosity challenged developers transitioning from OpenGL. The Khronos Group addressed these through dedicated working groups, including cross-platform standardization efforts announced at GDC 2017, which refined conformance processes and encouraged vendor collaboration to stabilize implementations by 2018–2020. Vendor contributions, such as AMD's RADV updates and NVIDIA's beta drivers, played a key role in mitigating these issues with iterative fixes.

Modern enhancements (2021–2025)

The Vulkan 1.3 specification was released on January 25, 2022, incorporating dynamic rendering as a core feature to simplify render pass management by allowing developers to define rendering operations without predefined framebuffers, thereby reducing overhead in complex graphics pipelines. This release also promoted several extensions into the core API, enhancing synchronization primitives and cross-platform compatibility for mid-to-high-end hardware. Building on this momentum, Vulkan 1.4 arrived on December 2, 2024, as a consolidation of numerous extensions into the baseline specification, mandating features like extended dynamic rendering and improved shader capabilities to streamline development and ensure broader hardware conformance. In 2025, further refinements included the VK_EXT_memory_decompression extension, introduced in Vulkan 1.4.330 on October 24, which enables GPU-accelerated memory-to-memory decompression to optimize data handling in bandwidth-constrained scenarios, such as texture loading in real-time applications. The VK_KHR_maintenance10 extension, ratified in mid-2025 and integrated into subsequent updates, added minor enhancements like new image format features and relaxed validation rules to improve efficiency without major API overhauls. Parallel advancements in AI and machine learning support emerged through extensions like those from Arm and Qualcomm, enabling neural graphics workloads such as upscaling directly in the GPU pipeline via the ML SDK for Vulkan, with demonstrations at Vulkanised 2025 highlighting cooperative matrix operations for tensor computations. Adoption of Vulkan surged in ray-traced applications, with the 2020 VK_KHR_ray_tracing_pipeline extension maturing by 2023 to power immersive effects in mobile and desktop games, as evidenced by performance optimizations in open-source drivers like Mesa's RADV, which achieved competitive ray-tracing speeds on AMD hardware. Integration with WebGPU advanced through Google's Dawn implementation, which leverages Vulkan as a backend for cross-platform compute and graphics, enabling WebGPU's multi-threaded workloads on Vulkan-supported devices like ChromeOS and Android. Community-driven progress accelerated with Khronos Group's roadmap milestones unveiled at SIGGRAPH 2025, emphasizing Vulkan's evolution toward AI-accelerated rendering and standardized profiles for diverse hardware. The LunarG Vulkan SDK 1.4.328.1, released on October 8, 2025, addressed critical crashing issues in validation layers and introduced refined configuration tools, bolstering developer reliability across platforms. On November 14, 2025, Vulkan 1.4.333 was released, introducing extensions such as VK_EXT_custom_resolve for flexible multi-sample anti-aliasing and VK_KHR_ray_tracing_position_fetch for enhanced ray tracing capabilities. Looking ahead, Vulkan's emphasis on video processing strengthened with the VK_KHR_video_decode_av1 extension in February 2024, providing hardware-accelerated AV1 decoding for efficient streaming, complemented by AV1 encode support in November 2024 to foster cross-vendor consistency in media workflows.

Specification versions

Vulkan 1.0

Vulkan 1.0, the inaugural version of the Vulkan API specification, was ratified by the Khronos Group on February 16, 2016, marking the public release of a cross-platform, low-overhead graphics and compute interface designed for explicit control over GPU operations. This baseline specification established the core architecture for Vulkan, emphasizing direct hardware access while minimizing overhead from driver-managed state, in contrast to higher-level APIs like OpenGL. The API targeted efficient rendering on diverse platforms, including desktops, mobiles, and embedded systems, with immediate availability of multiple hardware drivers and developer SDKs from leading vendors. At its foundation, Vulkan 1.0 introduced instance creation as the entry point to the API, achieved via the vkCreateInstance function, which initializes a VkInstance object to manage global procedures and extensions while connecting the application to the Vulkan loader. Physical devices, representing individual GPUs, are enumerated using vkEnumeratePhysicalDevices to query hardware capabilities and select suitable adapters based on properties like supported queue families for graphics or compute workloads. Logical devices, created from a chosen physical device with vkCreateDevice, serve as the primary interface for queue creation and command submission, enabling developers to tailor device features such as anisotropic filtering or tessellation shading. These elements form the hierarchical structure for resource allocation and execution, promoting explicit management to optimize performance across varying hardware. Presentation to display surfaces was enabled through swapchains, configured with vkCreateSwapchainKHR to handle image acquisition, rendering, and output to windows or off-screen targets, relying on the VK_KHR_surface extension for platform-agnostic surface creation across systems like Windows, X11, or Android. Initial extensions in Vulkan 1.0 were limited but essential, with VK_KHR_surface providing the core mechanism for integrating Vulkan rendering with windowing systems, while basic validation layers—enabled during instance creation via layer properties—offered runtime checks for API compliance and error detection during development. The specification deliberately omitted built-in multi-GPU coordination, requiring explicit handling through separate device instances, and provided only foundational synchronization via fences for CPU-GPU signaling, binary semaphores for inter-queue dependencies, and events for intra-command buffer control, without more advanced timeline-based primitives. This focus prioritized robust graphics pipelines—including vertex assembly, fragment shading, and rasterization—and simple compute tasks via dispatch commands, establishing a streamlined model for high-performance applications without delving into specialized multi-adapter or complex concurrency features. First conformant implementations emerged concurrently with the specification's release, with drivers from NVIDIA, AMD, and Intel passing Khronos conformance tests shortly thereafter, enabling immediate developer experimentation and integration into tools like the LunarG Vulkan SDK. This rapid availability underscored Vulkan 1.0's maturity at launch, facilitating early adoption in games and simulations seeking reduced CPU bottlenecks.

Vulkan 1.1

Vulkan 1.1, released on March 7, 2018, represents the first major revision to the Vulkan API, maintaining full backward compatibility with Vulkan 1.0 to ensure seamless adoption on existing hardware. This update integrates 33 previously published and ratified extensions directly into the core specification, streamlining development by eliminating the need to enable them individually and promoting consistency across implementations. Notable incorporated extensions include VK_KHR_16bit_storage, which enables efficient 16-bit data storage and operations in shaders for reduced memory usage in compute and graphics tasks; VK_KHR_device_group for unified multi-GPU handling; and VK_KHR_maintenance1 for enhanced resource management. These incorporations build on Vulkan 1.0's foundation, allowing applications to leverage advanced capabilities with minimal modifications while supporting the same devices. A core enhancement in Vulkan 1.1 is the addition of subgroup operations, providing low-level intrinsics equivalent to wave or warp operations in other APIs, such as NVIDIA's CUDA warps or AMD's wavefronts. These operations facilitate high-performance data sharing, shuffling, voting, and arithmetic reductions among the 32 or 64 shader invocations typically grouped in a subgroup on a GPU compute unit, optimizing algorithms like parallel reductions and bitwise manipulations without explicit synchronization. Subgroup size and ballot queries further allow developers to adapt shaders dynamically to hardware-specific subgroup configurations, improving portability and efficiency in compute shaders. This feature is exposed through new SPIR-V 1.3 capabilities, released concurrently, which extend the intermediate language to support these operations natively. Vulkan 1.1 introduces protected memory for secure rendering contexts, enabling applications to handle protected content like digital rights management (DRM)-secured video streams by isolating GPU resources from host access and preventing unauthorized data extraction. Buffers and images can be marked as protected, ensuring operations occur within a secure environment that blocks debugging tools and external reads, which is essential for premium media playback on consumer devices. Complementing this, multi-GPU support is expanded via device groups, allowing a single logical device to encompass multiple physical GPUs—homogeneous or heterogeneous—for scalable rendering and compute workloads, such as in explicit multi-GPU (SLI/CrossFire) or peer-to-peer memory transfers between non-identical GPUs. To aid maintenance and robustness, Vulkan 1.1 includes refinements to error handling, such as expanded validation feedback through improved debug utilities and parameter validation layers in the LunarG SDK, helping developers detect issues like invalid synchronization or resource mismatches earlier in the pipeline. These updates, combined with the incorporated extensions, emphasize developer-requested improvements for better multi-threading, synchronization, and cross-API interoperability, fostering wider adoption in high-performance graphics and compute applications.

Vulkan 1.2

Vulkan 1.2, released on January 15, 2020, by the Khronos Group, represents a significant evolution from Vulkan 1.1 by integrating 23 previously released extensions directly into the core specification, enhancing performance, usability, and hardware access while maintaining full backward compatibility with prior versions. This update prioritizes developer-requested improvements, such as streamlined synchronization mechanisms and support for advanced memory operations, to facilitate more efficient GPU utilization in graphics and compute workloads. A major focus of Vulkan 1.2 is the overhaul of synchronization primitives, particularly through the promotion of timeline semaphores from the VK_KHR_timeline_semaphore extension into core functionality. Timeline semaphores introduce an integer payload that tracks points along a timeline, replacing traditional binary semaphores for more precise and flexible event signaling between queue operations, which reduces overhead in multi-threaded applications and enables better management of asynchronous GPU tasks. This is complemented by a formal memory model that standardizes synchronization and memory consistency behaviors across devices, addressing ambiguities in prior versions and improving portability for complex rendering pipelines. Additionally, the specification incorporates VK_KHR_copy_commands2, which extends copy operations to support timeline semaphores, further unifying synchronization across command types. The 23 incorporated extensions encompass a broad range of enhancements, including VK_KHR_buffer_device_address for direct buffer addressing that lays foundational support for advanced techniques like ray tracing, VK_KHR_8bit_storage and VK_KHR_16bit_storage for finer-grained data types in shaders, and VK_KHR_create_renderpass2 for more flexible render pass definitions. Other notable integrations include VK_KHR_descriptor_update_template for dynamic descriptor management, VK_KHR_depth_stencil_resolve for improved multisample resolve operations, and VK_KHR_spirv_1_4 for extended SPIR-V capabilities, all of which promote easier integration and reduced extension overhead in applications targeting diverse hardware platforms. These changes collectively simplify API usage without introducing breaking modifications, allowing developers to leverage new hardware features more seamlessly.

Vulkan 1.3

Vulkan 1.3, released on January 25, 2022, by the Khronos Group, integrates 23 developer-requested extensions into the core specification to emphasize dynamic operations and performance optimization, thereby enhancing cross-platform portability while reducing API boilerplate code. This version maintains compatibility with Vulkan 1.0 hardware baselines but introduces streamlined mechanisms for runtime flexibility, allowing developers to avoid predefined structures that constrain rendering workflows. By promoting frequently used extensions to core status, Vulkan 1.3 minimizes the need for explicit extension enabling, fostering broader adoption across diverse GPU architectures. A cornerstone feature is dynamic rendering, which eliminates the requirement for render pass and framebuffer objects, enabling more flexible attachment management during rendering operations. Developers can now initiate rendering via commands like vkCmdBeginRendering, specifying attachments dynamically through structures such as VkRenderingInfo, which decouples rendering from static pass definitions and supports single-pass workflows efficiently. This approach reduces overhead in scenarios involving variable attachment counts or formats, promoting runtime adaptability without sacrificing performance. Complementing this, support for inline uniform blocks—promoted from VK_EXT_inline_uniform_block—allows uniform data to be embedded directly within descriptor sets, streamlining data access and minimizing descriptor binding complexity. Performance enhancements in Vulkan 1.3 include tools for fine-tuned operations, such as depth clip enabling via VK_EXT_depth_clip_enable, which provides dynamic control over depth clipping to optimize effects like depth of field in rendering pipelines. Additionally, the shader module identifier feature, derived from VK_EXT_shader_module_identifier, facilitates shader reuse by generating unique identifiers for modules, enabling efficient caching and sharing across pipelines or sessions without recompilation. These capabilities, combined with promoted extensions like VK_KHR_synchronization2 for improved barrier and primitive synchronization, allow developers to achieve lower latency and better resource utilization in dynamic environments. Among the 23 incorporated extensions are VK_KHR_dynamic_rendering for the rendering overhaul, VK_KHR_synchronization2 for robust synchronization, and others such as VK_EXT_extended_dynamic_state for expanded runtime state controls and VK_KHR_copy_commands2 for enhanced data transfer operations. This consolidation not only reduces fragmentation but also ensures consistent behavior across implementations, paving the way for future enhancements like those in Vulkan 1.4.

Vulkan 1.4

Vulkan 1.4 was released by the Khronos Group on December 3, 2024, as a backward-compatible update designed to streamline the ecosystem by promoting numerous previously optional extensions into the core specification. This consolidation mandates support for key features across all conforming implementations, reducing the need for applications to enable individual extensions and increasing minimum hardware limits to better support modern workloads, such as guaranteed 8K rendering with up to eight render targets. The release incorporates functionality from maintenance updates up to VK_KHR_maintenance6, push descriptors (VK_KHR_push_descriptor), dynamic rendering local reads (VK_KHR_dynamic_rendering_local_read), and scalar block layouts, among others. A total of 14 extensions were promoted to core, including VK_KHR_global_priority for queue prioritization, VK_KHR_index_type_uint8 for efficient index buffers, VK_KHR_line_rasterization for advanced line rendering, VK_KHR_load_store_op_none for optimized load/store operations, VK_KHR_map_memory2 for safer memory mapping, VK_KHR_shader_expect_assume and VK_KHR_shader_float_controls2 for enhanced shader control, VK_KHR_shader_subgroup_rotate for improved subgroup operations beneficial in AI and machine learning compute tasks, and VK_KHR_vertex_attribute_divisor for instanced rendering efficiency. Additional promotions include VK_EXT_host_image_copy (optional in 1.4), VK_EXT_pipeline_protected_access (mandatory only if protected memory is enabled), and VK_EXT_pipeline_robustness for added security. These changes focus on conceptual enhancements like portable data streaming via streaming transfers and robustness improvements without introducing entirely new paradigms. Post-release updates in 2025 have continued to refine Vulkan 1.4 through weekly specification builds. For example, build 1.4.330, released on October 24, 2025, added VK_KHR_maintenance10, providing minor robustness features such as new image format capabilities and extended synchronization options to enhance reliability in complex rendering pipelines. The Vulkan SDK was updated to version 1.4.328.1 on October 8, 2025, incorporating crash fixes for the validation layers and other stability improvements to support developer workflows. New extensions like VK_EXT_memory_decompression, enabling efficient memory-to-memory decompression for bandwidth reduction in asset handling, were also integrated into these builds, further expanding capabilities for compute-intensive applications. More recently, build 1.4.333, released on November 14, 2025, introduced VK_EXT_ray_tracing_position_fetch for advanced ray tracing by allowing shaders to fetch ray origins and directions, and VK_EXT_custom_resolve for shader-based resolution of multisampled attachments, along with various clarifications and fixes.

Vendor and platform support

Desktop GPU vendors

Major desktop GPU vendors, including NVIDIA, AMD, and Intel, have been pivotal in implementing Vulkan since its launch, providing drivers that enable high-performance graphics and compute workloads on discrete and integrated GPUs. Initial support for Vulkan 1.0 emerged in February 2016, with NVIDIA releasing beta drivers (versions 356.39 for Windows and 355.00.26 for Linux) that passed Khronos conformance tests on the same day as the API's specification release. AMD followed suit with its initial Vulkan driver integrated into the Crimson Edition 16.2.1 release, also in February 2016, supporting Radeon GPUs from the Graphics Core Next 1.0 architecture onward. Intel provided early Vulkan 1.0 support through its open-source ANV driver for Linux and proprietary drivers for Windows, targeting Broadwell and newer integrated graphics. By 2018, with the release of Vulkan 1.1 in March, all three vendors—alongside Arm, Imagination Technologies, and Qualcomm—achieved full multi-vendor conformance, passing the comprehensive Khronos test suite and enabling broader ecosystem adoption. NVIDIA has maintained leadership in Vulkan implementation for desktop GPUs, achieving full support for Vulkan 1.4 following its specification release in December 2024, integrated into production drivers for GeForce RTX series and beyond. As of October 2025, NVIDIA's developer beta drivers, such as version 573.04 for Windows (released in April 2025) and subsequent updates reaching Vulkan 1.4.329, include maintenance enhancements like improved extension coverage and bug fixes for developers. NVIDIA's drivers emphasize robust ray tracing capabilities, leveraging Vulkan's VK_KHR_ray_tracing_pipeline and related extensions to enable real-time ray tracing on RTX-enabled hardware, with tutorial resources and validation layers available for integration. AMD's Vulkan support on desktop GPUs has evolved through both proprietary and open-source drivers, reaching full conformance for Vulkan 1.4 in early 2025 via the RADV implementation within the Mesa 3D graphics library. The RADV driver, focused on Linux environments, supports Vulkan 1.4 on Radeon RX 7000 series and newer GPUs, with Mesa 25.2 development releases in 2025 ensuring compatibility across a wide range of AMD hardware. AMD's 2025 driver updates, including AMDVLK version 2025.Q2.1 (April 2025), incorporate Vulkan 1.4.313 headers and expanded extension support, prioritizing open-source contributions for Linux users while maintaining Windows compatibility through Adrenalin Edition drivers. Intel's Vulkan implementation targets both integrated graphics in Core processors and discrete Arc GPUs, providing support up to Vulkan 1.4 across its portfolio as of late 2025. The open-source ANV driver for Linux, part of Mesa, delivers Vulkan 1.4 conformance on Arc A-series and B-series GPUs, with the October 2025 driver version 32.0.101.8247 exposing 157 device extensions for models like the Arc A750. Updates in 2025 for the Arc series include enhancements to decompression features, such as AV1 video decoding via Vulkan Video extensions in Mesa 25.2, improving efficiency for media workloads on Xe2-based hardware.

Mobile and embedded devices

Vulkan support on Android devices began with version 7.0 (API level 24), released in 2016, enabling developers to leverage the API for high-performance graphics and compute tasks on compatible hardware. By 2025, Vulkan 1.4 has been integrated into the Android Open Source Project (AOSP) as part of the requirements for Android 16, ensuring broader adoption across new devices and facilitating advanced features like host image copy for efficient data transfers. This integration supports its widespread use in Google Play games, where Vulkan serves as the preferred graphics API for optimized rendering and reduced CPU overhead on mobile platforms. Qualcomm's Adreno GPUs, commonly found in Snapdragon-powered smartphones, offer full conformant support for Vulkan 1.4, including specialized extensions for AI and machine learning workloads. A notable 2025 addition is the VK_QCOM_data_graph_model extension, which enhances Vulkan's capabilities for executing machine learning models directly on the GPU, enabling efficient on-device inference in mobile applications. Adreno implementations emphasize power efficiency through Vulkan's low-overhead command queues, which minimize CPU involvement and help extend battery life during graphics-intensive tasks like gaming. ARM's Mali GPUs and Imagination Technologies' PowerVR GPUs also provide conformant Vulkan 1.4 drivers tailored for mobile environments, with proprietary implementations passing Khronos Conformance Tests across various models such as Mali-G610 and PowerVR D-Series. These drivers prioritize battery optimization by leveraging Vulkan's explicit resource management and low-overhead submission modes, allowing finer control over GPU utilization to reduce power draw without sacrificing performance in power-constrained scenarios. For instance, Mali's driver suite supports efficient queue operations that align with mobile thermal and energy budgets, while PowerVR's focus on tile-based rendering complements Vulkan's design for sustained low-power operation. In embedded systems, Vulkan finds application in gaming consoles like the Nintendo Switch, which has offered native conformant support since its 2017 launch and extended to Vulkan 1.4 on the Switch 2 in 2025, enabling cross-platform portability for developers. It is also utilized in IoT devices through frameworks such as Tizen, where the API's efficiency supports real-time graphics and compute in resource-limited environments like smart displays and edge computing nodes. By 2025, Vulkan Video extensions have introduced AV1 decode capabilities on mobile and embedded hardware, allowing hardware-accelerated video playback with improved compression efficiency on platforms equipped with compatible decoders, such as those in modern Snapdragon and Mali-based systems.

Translation layers

Translation layers provide software-based implementations of the Vulkan API on platforms lacking native support, enabling cross-platform portability for applications and games by mapping Vulkan calls to underlying graphics APIs. These layers introduce an abstraction that allows developers to target Vulkan without platform-specific modifications, though they incur runtime costs compared to direct hardware access. MoltenVK serves as a key translation layer for Apple's ecosystem, implementing Vulkan functionality atop the Metal graphics framework on macOS and iOS. Developed by the Khronos Group, it supports Vulkan 1.4 as of its release in August 2025, allowing high-performance rendering and compute operations on Apple Silicon and Intel-based systems. This layer has facilitated the porting of Vulkan-based games to Apple platforms, including titles like Metro Exodus, which achieved playable performance through MoltenVK integration. Zink, part of the Mesa 3D graphics library, implements OpenGL on top of Vulkan drivers, providing hardware-accelerated OpenGL compatibility where native OpenGL support is deprecated or unavailable. As a Gallium driver, Zink translates OpenGL state and commands into Vulkan API calls, supporting up to OpenGL 4.6 and aiding the portability of legacy applications that rely on older OpenGL versions without requiring full rewrites. This approach simplifies maintenance for open-source drivers by leveraging Vulkan's hardware ecosystem for broader compatibility. Other notable translation layers include DXVK, which converts Direct3D 8/9/10/11 calls to Vulkan for running Windows games on Linux via Wine, and VKD3D, which extends this to Direct3D 12 support. DXVK replaces DirectX DLLs with Vulkan equivalents, enabling near-native performance in many titles, while VKD3D integrates directly into Wine for comprehensive D3D12 translation. These layers collectively enhance Linux compatibility for Windows applications by bridging proprietary APIs to the open Vulkan standard. Despite their benefits, Vulkan translation layers impose limitations, including performance overhead from API mapping and state management, which can result in 10-20% frame rate reductions in some scenarios compared to native implementations. Additionally, not all Vulkan extensions are fully supported, as layers must align with the constraints of the underlying API, potentially restricting advanced features like certain ray tracing or synchronization extensions.

Compatibility and extensions

Backwards and forward compatibility

Vulkan ensures backwards compatibility across its minor versions (1.0 through 1.4), allowing applications built against earlier specifications to run unmodified on drivers supporting later versions without breaking changes to the core API or ABI. A single header file accommodates all versions, with structures and enums providing aliases for legacy support, such as VkPhysicalDeviceFeatures2KHR for Vulkan 1.0 compatibility. Deprecated features are explicitly marked in the specification but remain fully functional to preserve existing codebases; for example, the VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT and VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT flags, deprecated in favor of the VK_KHR_synchronization2 extension, continue to operate in versions 1.3 and 1.4. Forward compatibility is facilitated through Vulkan profiles, which define standardized subsets of core features, required extensions, and device limits tailored to specific use cases or hardware generations. These profiles enable modern applications to target a minimal viable set of capabilities, automatically enabling necessary extensions and allowing unsupported features to be ignored or queried at runtime, thus permitting execution on older hardware that meets the profile's baseline requirements. For instance, the Android Baseline 2022 profile mandates Vulkan 1.1 plus select extensions, ensuring broad device compatibility without extensive fallback logic. The deprecation policy, guided by the Khronos Vulkan Working Group, emphasizes long-term stability by marking outdated functionality as deprecated rather than removing it, directing developers to modern alternatives while avoiding ecosystem fragmentation. Deprecated items persist in the core specification until a future major version (beyond 1.x) potentially removes them, with documentation and validation layers providing warnings to encourage migration. This approach includes fallbacks like extension checks for promoted features, ensuring gradual evolution without abrupt breaks. Vendor compliance and cross-version consistency are enforced by the Vulkan Conformance Test Suite (CTS), a comprehensive, open-source test framework developed by Khronos that verifies implementations against the full specification. Passing the CTS is mandatory for official conformance certification, covering API behavior, feature support, and edge cases across all minor versions, which helps maintain reliable backwards and forward compatibility in production drivers. The suite's results are publicly trackable, with conformant products listed by Khronos to assure developers of standardized implementation quality.

Key extensions and profiles

Vulkan extensions provide optional functionality that extends the core API, allowing developers to access vendor-specific or emerging features without altering the base specification. These extensions are queried at runtime using functions such as vkEnumerateInstanceExtensionProperties for instance-level support and vkEnumerateDeviceExtensionProperties for device-level capabilities, enabling applications to adapt dynamically to available hardware. As of 2025, over 200 extensions are actively maintained and registered through the Khronos registry, covering areas from advanced rendering to specialized compute tasks. A prominent example is the ray tracing extension VK_KHR_ray_tracing_pipeline, finalized in November 2020, which introduces hardware-accelerated ray tracing through new pipeline types including ray generation, intersection, any-hit, closest-hit, miss, and callable shaders. This extension enables efficient ray-object intersection testing and shading, building on acceleration structures for scene traversal, and has been widely adopted for real-time rendering in games and simulations. Some of its core elements were later incorporated into Vulkan 1.3 to promote broader compatibility. In the domain of video processing, VK_KHR_video_decode_av1, released in early 2024, extends the video decode queue framework to support AV1 codec decoding, optimizing for high-efficiency video streams with features like profile-specific capabilities and film grain handling. This extension facilitates hardware-accelerated decompression of AV1 content, reducing CPU overhead in media applications and streaming services. Vulkan profiles standardize subsets of the API, extensions, and limits to target specific use cases and ensure interoperability. Vulkan SC 1.0, released in March 2022 and based on Vulkan 1.2, is tailored for safety-critical embedded systems, emphasizing determinism, reduced runtime overhead, and offline pipeline preparation to meet certification requirements in industries like aerospace and automotive. Complementing this, the Vulkan Portability Subset via VK_KHR_portability_subset, introduced in 2020, defines a conformant-like subset for non-Vulkan platforms such as Apple's Metal, enabling layered implementations like MoltenVK to run Vulkan applications with minimal modifications. Recent extensions in 2025 address performance and emerging workloads, such as VK_EXT_memory_decompression, which supports direct GPU memory-to-memory decompression of assets, alleviating bandwidth constraints in texture and geometry loading for large-scale rendering. Qualcomm-specific additions like VK_QCOM_tile_shading optimize tiled-based rendering on mobile GPUs, providing tile-local shading and feedback mechanisms to accelerate AI-driven and dynamic rendering pipelines.

References

  1. [1]
    What is Vulkan?
    Vulkan is a new generation graphics and compute API that provides high-efficiency, cross-platform access to modern GPUs used in a wide variety of devices ...What Is Vulkan? · Vulkan At Its Core · Vulkan And Opengl
  2. [2]
    [PDF] Vulkan Launch Briefing - The Khronos Group
    Feb 18, 2016 · • Vulkan 1.0 specification and implementations created in 18 months. - More energy and participation than any other API in Khronos history.<|control11|><|separator|>
  3. [3]
    Vulkan Release Summary
    Vulkan Release Summary ; Vulkan 1.1 · Vulkan 1.1 was released on March 7, 2018 · VK_KHR_16bit_storage ; Vulkan 1.2 · Vulkan 1.2 was released on January 15, 2020.Vulkan 1.1 · Vulkan 1.2 · Vulkan 1.3
  4. [4]
    Khronos Group Releases Vulkan 1.1
    Mar 7, 2018 · Khronos Group Releases Vulkan 1.1. Vulkan ecosystem momentum continues to grow with improved developer tools, wide industry adoption, and new ...Missing: history | Show results with:history
  5. [5]
    Vulkan 1.3 and Roadmap 2022 - The Khronos Group
    Jan 25, 2022 · The Vulkan API is under constant development, with an ever-growing pool of extensions to solve problems and add valuable new features.Missing: history | Show results with:history
  6. [6]
    Khronos Streamlines Development and Deployment of GPU ...
    “The Vulkan 1.4 specification builds on the Roadmap 2022 and 2024 milestones to integrate key features into the core standard, giving developers ...
  7. [7]
    Home | Vulkan | Cross platform 3D Graphics
    The Vulkan API is under constant development, with an ever-growing pool of extensions to solve problems and add valuable new features. Starting with Vulkan 1.3 ...Made with Vulkan · Vulkan Documentation · Vulkan Roadmap Milestones · ToolsMissing: history | Show results with:history
  8. [8]
    Khronos Reveals Vulkan API for High-efficiency Graphics and ...
    Mar 3, 2015 · Vulkan is a unified specification that minimizes driver overhead and enables multi-threaded GPU command preparation for optimal graphics and ...
  9. [9]
    Run LLMs on Any GPU: GPT4All Universal GPU Support - Nomic AI
    Vulkan is a high-performance, low-level compute API designed to provide direct access to GPU hardware, maximizing the potential of efficient parallel processing ...
  10. [10]
    What is Vulkan API and what are the advantages for using it?
    The Vulkan API provides a more efficient CPU and GPU workload balance when compared to previous OpenGL, OpenGLES, and D3D 11 APIs.
  11. [11]
    Devices and Queues - Vulkan Documentation
    Devices and queues are the primary objects used to interact with a Vulkan implementation. Vulkan separates the concept of physical and logical devices.
  12. [12]
    Khronos Releases Vulkan 1.0 Specification
    February 16th 2016 – San Francisco – The Khronos™ Group, an open consortium of leading hardware and software companies, announces the immediate availability ...
  13. [13]
    SPIR-V: The Standard IR for Parallel Compute and Graphics
    SPIR-V enables high-level language front-ends to emit programs in a standardized intermediate form to be ingested by Vulkan, OpenGL or OpenCL drivers. SPIR-V ...
  14. [14]
    [PDF] Vulkan, OpenGL, and OpenGL ES - The Khronos Group
    Aug 3, 2017 · Design goals. • Clean, modern architecture. • Low overhead, explicit ... Vulkan Subset API Library over DX12/Metal. 4. SPIRV-Cross ...
  15. [15]
    AMD Vulkan™ Graphics API
    Developed by the Khronos Group, the same consortium that developed OpenGL®, Vulkan™ is a descendant of AMD's Mantle, inheriting a powerful low-overhead ...
  16. [16]
    Ray Tracing In Vulkan - The Khronos Group
    Mar 17, 2020 · This blog summarizes how the Vulkan Ray Tracing extensions were developed, and illustrates how they can be used by developers to bring ray tracing ...
  17. [17]
    Vulkan® 1.4.331 - A Specification (with all registered extensions)
    Oct 30, 2025 · This chapter introduces fundamental concepts including the Vulkan architecture and execution model, API syntax, queues, pipeline configurations, ...Missing: history | Show results with:history
  18. [18]
    [PDF] Memory management in Vulkan Jordan Logan, AMD
    Vulkan requires explicit memory management, unlike previous APIs. Memory is allocated in blocks, and sub-allocation is used for resources.
  19. [19]
    Understanding Vulkan Synchronization - The Khronos Group
    Mar 24, 2021 · Vulkan enables us to send command buffers into a queue to process graphics operations. This process is designed to be thread-friendly so we can ...
  20. [20]
    Command buffers - Vulkan Tutorial
    Command buffers are executed by submitting them on one of the device queues, like the graphics and presentation queues we retrieved.Command pools · Command buffer allocation · Command buffer recording
  21. [21]
    Command Buffers :: Vulkan Documentation Project
    Command buffers are objects used to record commands which can be subsequently submitted to a device queue for execution. There are two levels of command ...Missing: concepts | Show results with:concepts
  22. [22]
    Writing an efficient Vulkan renderer - zeux.io
    Feb 27, 2020 · This article will explore topics such as memory allocation, descriptor set management, command buffer recording, pipeline barriers, render passes and discuss ...
  23. [23]
  24. [24]
    Threading :: Vulkan Documentation Project
    The Vulkan Spec Threading Behavior section explains in detail how applications are in charge of managing all externally synchronized elements of Vulkan.
  25. [25]
  26. [26]
  27. [27]
  28. [28]
  29. [29]
    Multithreading with Vulkan
    In this chapter, we'll explore how to leverage multithreading with Vulkan to improve performance in your applications. Modern CPUs have multiple cores, ...
  30. [30]
    Porting | Vulkan | Cross platform 3D Graphics
    Vulkan is the only modern GPU API that is available on multiple operating systems—helping applications reach a cross-platform user base ...
  31. [31]
    KhronosGroup/Vulkan-Loader - GitHub
    This repository contains the Vulkan loader that is used for Linux, Windows, MacOS, and iOS. There is also a separate loader, maintained by Google, which is used ...Missing: consoles | Show results with:consoles
  32. [32]
    Layers & Extensions (Informative) - Vulkan Documentation
    Vulkan extensions are defined by authors, groups, or the Khronos group. They can have dependencies on core versions or other extensions.
  33. [33]
    Extending Vulkan
    Because extensions may extend or change the behavior of the Vulkan API, extension authors should add support for their extensions to the Khronos validation ...Extensions · Instance Extensions · Device Extensions · Extension Dependencies
  34. [34]
    Fighting Fragmentation: Vulkan Portability Extension Released and ...
    Sep 21, 2020 · The Vulkan Portability Initiative aims to enable layered Vulkan implementations across platforms, fighting fragmentation. The new extension ...Missing: specific | Show results with:specific
  35. [35]
  36. [36]
    KhronosGroup/Vulkan-Portability - GitHub
    This repository provides a focus and tools to help application developers understand and provide input to the Vulkan Portability initiative.Missing: device vendor- specific<|separator|>
  37. [37]
    What is SPIR-V - Vulkan Documentation
    SPIR-V is a binary intermediate representation for graphical-shader stages and compute kernels. With Vulkan, an application can still write their shaders in a ...
  38. [38]
  39. [39]
    SPIR-V Specification - Khronos Registry
    This document fully defines SPIR-V, a Khronos-standard binary intermediate language for representing graphical-shader stages and compute kernels for multiple ...
  40. [40]
    Pipelines :: Vulkan Documentation Project
    Some Vulkan commands specify geometric objects to be drawn or computational work to be performed, while others specify state controlling how objects are handled ...Missing: PSOs | Show results with:PSOs
  41. [41]
  42. [42]
    Resource Descriptors :: Vulkan Documentation Project
    A descriptor is an opaque data structure representing a shader resource such as a buffer, buffer view, image view, sampler, or combined image sampler.
  43. [43]
  44. [44]
    Memory Allocation :: Vulkan Documentation Project
    Vulkan memory is divided into host memory (non-device visible) and device memory (visible to the device). Device memory is allocated using `vkAllocateMemory` ...<|control11|><|separator|>
  45. [45]
  46. [46]
    Vulkan essentials
    This article compares OpenGL ES and Vulkan, and outlines what developers should (and should not) expect when targeting Vulkan.
  47. [47]
    A Comparison of Modern Graphics APIs - Alain Galvan
    Jan 30, 2021 · In this article we'll review modern graphics APIs and how they compare with older graphics APIs such as OpenGL in their design and data structures.
  48. [48]
    Vulkan Support on Jetson Linux | NVIDIA Developer
    With a simpler, thinner driver, Vulkan has less latency and overhead than traditional OpenGL® or OpenGL® ES. Vulkan has efficient multithreading capabilities ...
  49. [49]
    Initial comparison of Vulkan API vs OpenGL ES API on ARM
    Oct 20, 2016 · Vulkan gives developers far more control of the hardware resources than OpenGL ES. For instance, memory management in the Vulkan API is much ...
  50. [50]
    Tips and Tricks: Vulkan Dos and Don'ts | NVIDIA Technical Blog
    Jun 6, 2019 · Try to keep the number of descriptor sets in pipeline layouts as low as possible. Minimize the number of descriptors in the descriptor sets.
  51. [51]
    [PDF] Vancouver SIGGRAPH 2014 - The Khronos Group
    Aug 27, 2014 · We are super excited to contribute and work with the Next. Generation OpenGL Initiative, and bring our experience of low- overhead and explicit ...
  52. [52]
    [PDF] More on Vulkan and SPIR-V: The future of high-performance graphics
    • Explicit control of when work is done. - Shader compilation and command ... - White paper https://www.khronos.org/registry/spir-v/papers/WhitePaper.pdf.
  53. [53]
    Khronos Releases OpenCL 2.1 Provisional Specification for Public ...
    Mar 3, 2015 · New SPIR-V common intermediate language used by both OpenCL 2.1 and Vulkan. March 3rd 2015, San Francisco, GDC – The Khronos™ Group, an open ...<|control11|><|separator|>
  54. [54]
    [PDF] Vulkan SDK Where We Started Where We are Going - LunarG
    Jul 31, 2024 · A Brief History of Vulkan. August 2014. March 2015. February 2016. SIGGRAPH in Vancouver. ○ Khronos call for participation in defining the " ...
  55. [55]
    The RADV Radeon Vulkan Driver Performance Over 2018 - Phoronix
    Dec 20, 2018 · The RADV Vulkan driver continued maturing a lot this year with support for countless new features, many fixes, improved support/performance ...
  56. [56]
    Unreal Engine 4.17 Released With Better Vulkan Support - Phoronix
    Aug 7, 2017 · Unreal Engine 4.17 features a major Vulkan refactoring that improves the stability, now uses the "SM5" feature level by default, and various other improvements.
  57. [57]
    [PDF] Vulkan 1.1 - The Khronos Group
    Mar 1, 2018 · Vulkan 1.1 specification launching. March 7th with open source conformance tests and tools, and multiple vendor implementations! Page 3. © ...
  58. [58]
    The Vulkan Moments Of 2017: More Games, Better Drivers ...
    Dec 27, 2017 · 2017 brought more Vulkan games, the first Vulkan ... A Chat With Khronos President Neil Trevett About Vulkan, OpenXR, SPIR-V In 2017
  59. [59]
    [PDF] GDC 2017 - The Khronos Group
    Mar 2, 2017 · Every cross-platform developer, as well as WebGL, is facing the challenge of rendering portably and efficiently across systems using all three ...
  60. [60]
    Vulkan 1.3 Broadens Cross-Platform Functionality with Developer ...
    Jan 25, 2022 · ... Khronos members are now incorporated into the brand new Vulkan 1.3 core specification. NVIDIA is ready with day one drivers for developers ...
  61. [61]
    Vulkan 1.4 Released With More Extensions Mandated, Better 8K ...
    Dec 2, 2024 · As a lovely early Christmas present, The Khronos Group used SIGGRAPH Asia today for announcing the Vulkan 1.4 specification release.
  62. [62]
    Vulkan 1.4.330 Released With Five New Extensions - Phoronix
    Oct 24, 2025 · VK_EXT_memory_decompression: The VK_EXT_memory_decompression extension allows performing memory-to-memory decompression. Several NVIDIA ...
  63. [63]
    VK_EXT_memory_decompression(3) - Vulkan Documentation
    Jan 23, 2025 · This extension adds support for performing memory to memory decompression. New Commands. vkCmdDecompressMemoryEXT.
  64. [64]
    VK_KHR_maintenance10(3) - Vulkan Documentation
    May 13, 2025 · VK_KHR_maintenance10 adds a collection of minor features, none of which would warrant an entire extension of their own. The new features are as ...
  65. [65]
    Vulkan 1.4.332 Brings A New Qualcomm Extension For AI / ML
    Vulkan 1.4.332 is out today as the latest weekly update to this high performance graphics and compute API specification.
  66. [66]
    Run neural graphics workloads with ML Extensions for Vulkan
    Understanding graph-based compute with Vulkan: See how compute workloads can be structured using explicit graph topologies. Demystifying ML inference in real- ...
  67. [67]
    Mesa's Radeon Vulkan Driver Has Become Much More Capable At ...
    Oct 18, 2023 · Friedrich Vock with Valve presented yesterday at XDC 2023 on the Mesa RADV Vulkan driver's ray-tracing performance.
  68. [68]
    [PDF] Ray Tracing: delivering immersive gaming experiences on mobile
    © 2023 Arm. Ray tracing in Vulkan. Ray tracing pipeline (VK_KHR_ray_tracing_pipeline). Implementation managed traversal and shader dispatch. New shader stages ...
  69. [69]
    [PDF] Vulkan synchronization for WebGPU
    Feb 7, 2024 · • The most common way to do Vulkan synchronization? Used in: • Dawn. • Other open source WebGPU implementation. • Vulkan applications.
  70. [70]
    Vulkan: Continuing to Forge Ahead - The Khronos Group
    Aug 5, 2025 · The Vulkan ecosystem hit a major milestone in 2025 with the widespread availability of production graphics drivers that are Vulkan 1.4 ...
  71. [71]
    Vulkan SDK 1.4.328.1 Release Notes
    Oct 8, 2025 · Vulkan SDK 1.4.328.1 Release Notes. October 8, 2025. Overview of new features in SDK 1.4.328.1. Version 1.4.328.1 addresses a potential ...
  72. [72]
    Khronos Releases AV1 Decode in Vulkan Video with SDK Support ...
    Khronos Releases AV1 Decode in Vulkan Video with SDK Support for H.264/H.265 Encode. February 1, 2024 by Ahmed Abdelkhalek, AMD, Vulkan Video ...
  73. [73]
    Khronos Announces Vulkan Video Encode AV1 & Encode ...
    Nov 21, 2024 · This milestone means that Vulkan Video now provides full decode AND encode acceleration for the H.264, H.265 and AV1 codec standards.
  74. [74]
    Khronos Group Releases Vulkan 1.2
    Jan 15, 2020 · Vulkan 1.2 brings many new features, including Dynamic Descriptor Indexing and finer type support for 16-bit and 8-bit types – and are designed ...
  75. [75]
    Vulkan Timeline Semaphores - The Khronos Group
    Jan 15, 2020 · Most Vulkan queue operations can now accept either binary or timeline semaphores, though the window system integration APIs are currently a notable exception.Missing: shading | Show results with:shading
  76. [76]
    VK_VERSION_1_2(3) - Vulkan Documentation
    Vulkan Version 1.2 promoted a number of key extensions into the core API: VK_KHR_8bit_storage · VK_KHR_buffer_device_address · VK_KHR_create_renderpass2.
  77. [77]
    Vulkan 1.2 Arrives With An Eye On Greater Performance ... - Phoronix
    Jan 15, 2020 · Among the extensions now part of Vulkan 1.2 core are timeline semaphores ... shading, and mesh shaders. Vulkan video encode/decode was one ...
  78. [78]
    Khronos Strengthens Vulkan Ecosystem with Release of Vulkan 1.3 ...
    Jan 25, 2022 · Vulkan 1.3 and Vulkan Roadmap​​ Vulkan 1.3 incorporates a number of carefully selected extensions requested by the developer community into a new ...
  79. [79]
    [PDF] Vulkan 1.3 Overview - The Khronos Group
    Dynamic Rendering. ○ Render passes have been a recurring area of developer feedback. ○ API improvements for single pass render passes. ○ Removes coupling to.
  80. [80]
    Core Revisions (Informative) - Vulkan Documentation
    In addition to the promoted extensions described above, Vulkan 1.1 added support for: SPIR-V version 1.1. SPIR-V version 1.2. SPIR-V version 1.3. The ...Vulkan Version 1.4 · Vulkan Version 1.3 · Vulkan Version 1.2 · Vulkan Version 1.1
  81. [81]
  82. [82]
    Vulkan 1.4 requirements #2490 - KhronosGroup/MoltenVK - GitHub
    Apr 19, 2025 · Appendix D of the Vulkan spec summarizes the list of extensions promoted to Vulkan 1.4 as below: Extension, Optional in 1.4, MoltenVK. Support ...
  83. [83]
    Getting started with Vulkan on Android
    Mar 31, 2024 · Vulkan is available on Android from Android 7.0 (API level 24). Vulkan 1.1 support is a requirement for new 64-bit Android devices beginning ...Why use Vulkan in my game? · Setting up your development...
  84. [84]
    [PDF] Vulkan on Android
    Feb 17, 2025 · Vulkan 1.4 is supported in Android 16. ○The Vulkan loader has been updated to support loading Vulkan 1.4. ○Vulkan 1.4 CTS/dEQP is now part ...
  85. [85]
    Google makes Vulkan the official graphics API for Android - OSnews
    Mar 14, 2025 · Android has supported Vulkan since Android 7.0, released in 2016, so ... Android devices currently in use to support Vulkan in the first place.
  86. [86]
    Upstream Linux support for Snapdragon 8 Elite Gen 5 - Qualcomm
    Oct 21, 2025 · The Adreno user mode driver (UMD) from Qualcomm Technologies is available as a downloadable Debian package and provides Vulkan 1.4 API support ...
  87. [87]
  88. [88]
    Vulkan Conformant Products - The Khronos Group
    Deploying and developing royalty-free open standards for 3D graphics, Virtual and Augmented Reality, Parallel Computing, Neural Networks, and Vision ...Missing: consoles | Show results with:consoles
  89. [89]
    Vulkan: High efficiency on mobile - Imagination Blog
    Nov 5, 2015 · Vulkan is a highly efficient API, keeping CPU overhead low. This is particularly beneficial on mobile, where efficiency is key.Missing: goals | Show results with:goals
  90. [90]
    Vulkan - Tizen Native API
    Vulkan is a new generation graphics and compute API that provides high-efficiency, Cross-platform access to modern GPUs used in a wide variety of devices from ...
  91. [91]
    KhronosGroup/MoltenVK - GitHub
    MoltenVK is a Vulkan Portability implementation. It layers a subset of the high-performance, industry-standard Vulkan graphics and compute API over Apple's ...
  92. [92]
    MoltenVK 1.4 Released For Bringing Vulkan 1.4 To macOS Atop Metal
    Aug 20, 2025 · MoltenVK 1.4 is available today for this Vulkan portability implementation that layers the Vulkan API atop Apple's Metal graphics drivers ...
  93. [93]
    Native Apple M1-Family Support :: Steam for Mac
    Metro Exodus used MoltenVK for Mac with very good performance and Apple ... 3D programs like games send instructions to the API normally on a high level.
  94. [94]
    Introducing Zink, an OpenGL implementation on top of Vulkan
    Oct 31, 2018 · Zink is a Mesa Gallium driver that leverages the existing OpenGL implementation in Mesa to provide hardware accelerated OpenGL when only a Vulkan driver is ...
  95. [95]
    Zink — The Mesa 3D Graphics Library latest documentation
    The Zink driver is a Gallium driver that emits Vulkan API calls instead of targeting a specific GPU architecture. This can be used to get full desktop OpenGL ...
  96. [96]
    [PDF] Zink: OpenGL on Vulkan - The Khronos Group
    - Zink is a Gallium driver in Mesa, that output Vulkan commands. - ... would take a significant effort to port over. - Some application don't even ...
  97. [97]
    doitsujin/dxvk: Vulkan-based implementation of D3D8, 9 ... - GitHub
    DXVK. A Vulkan-based translation layer for Direct3D 8/9/10/11 which allows running 3D applications on Linux using Wine. For the current status of the project ...Releases · Wiki · Issues 292 · Artifacts (Package)
  98. [98]
    DXVK - Bottles
    Apr 5, 2022 · Mainly dxvk is a .dll override bundle which, integrated in a wine prefix, allows you to detect and translate calls from DirectX to Vulkan.
  99. [99]
    HansKristian-Work/vkd3d-proton - GitHub
    vkd3d-proton is a fork of VKD3D, which aims to implement the full Direct3D 12 API on top of Vulkan. The project serves as the development effort for Direct3D 12 ...
  100. [100]
    VKD3D 1.17 Released With More Improvements For Direct3D 12 On ...
    Aug 21, 2025 · VKD3D 1.17 is the newest feature release for this Vulkan-powered Direct3D implementation developed by upstream Wine. VKD3D is bundled with Wine ...
  101. [101]
    [PDF] MoltenVK: Application portability with Vulkan on Metal
    ○ MoltenVK is a layered implementation of Vulkan on Metal, which adds some unavoidable memory and performance overhead ... ○ DXVK (Direct3D 9/10/11).
  102. [102]
    MoltenVK performance regression in Windows games with DXVK
    May 7, 2025 · Since 1.2.11 MoltenVK has MVK_CONFIG_USE_METAL_ARGUMENT_BUFFERS enabled by default but this degrades performance in DX11 games run with DXVK ...
  103. [103]
    [PDF] Zink: OpenGL on Vulkan
    Feb 2, 2019 · One exposed to Mesa as a software rasterizer. –. Slow ... Lots of code hasn't been ported to OpenGL ES. –. Can ease application porting. ○.
  104. [104]
    Vulkan Versions & Porting Guide
    Currently, there are 5 minor version releases of Vulkan (1.0, 1.1, 1.2, 1.3, and 1.4) which are backward compatible with each other. An application can use ...
  105. [105]
    Deprecated :: Vulkan Documentation Project
    This guide provides fallback instructions for deprecated items in Vulkan. It helps developers understand what deprecated features were, what they did, and how ...Missing: policy | Show results with:policy
  106. [106]
    Vulkan Profiles
    Vulkan Profiles is a mechanism that allows developers to target a specific set of features, extensions, and limits that are guaranteed to be supported by a ...
  107. [107]
    Vulkan CTS
    The Vulkan Conformance Tests Suite (CTS) is a set of tests used to verify the conformance of an implementation.
  108. [108]
    Vulkan Ray Tracing Final Specification Release - The Khronos Group
    Nov 23, 2020 · These extensions were initially released as provisional versions in March 2020. Since that time (see Figure 1), we have received and ...Missing: key | Show results with:key
  109. [109]
    VK_KHR_ray_tracing_pipeline(3) - Vulkan Documentation
    Nov 12, 2020 · Description · A new ray tracing pipeline type with new shader domains: ray generation, intersection, any-hit, closest hit, miss, and callable · A ...
  110. [110]
    VK_KHR_video_decode_av1(3) - Vulkan Documentation
    This extension builds upon the VK_KHR_video_decode_queue extension by adding support for decoding elementary video stream sequences compliant ...
  111. [111]
    Vulkan SC: Overview - and how it is different from the Vulkan you ...
    Mar 1, 2022 · Vulkan SC is a low-level, deterministic API that enables safety-critical system implementers to deploy state-of-the-art GPU graphics and compute ...
  112. [112]
    Vulkan SC - Vulkan graphics for the safety critical industry
    How Vulkan SC Differs From OpenGL SC. Vulkan SC is based on Vulkan and has significantly expanded functionality from OpenGL SC. Here are some key differences: ...<|control11|><|separator|>
  113. [113]
    VK_QCOM_tile_shading :: Vulkan Documentation Project
    This proposal describes a Vulkan API extension for the above tile-based features, collectively referred to as tile shading.<|separator|>
  114. [114]
    Vulkan 1.4.312 Brings Two New Extensions From NVIDIA ... - Phoronix
    Apr 4, 2025 · Vulkan 1.4.312 Brings Two New Extensions From NVIDIA & Qualcomm. Written by Michael Larabel in Vulkan on 4 April 2025 at 01:50 PM EDT. Add A ...