The Khronos Group has released the specifications of Vulkan 1.4 (Vulkan 1.3 specs have been released in 2022). Vulkan is a C99 API designed for explicit control of low-level graphics and compute functionality.
Khronos Streamlines Development and Deployment of GPU-Accelerated Applications with Vulkan 1.4
Proven, developer-requested features integrated into the core open-standard Vulkan API, ensuring consistent cross-platform functionality for 3D graphics and compute
SIGGRAPH Asia, Tokyo, Japan – December 3, 2024 – Today, the Khronos Group, an open consortium of industry-leading companies dedicated to creating advanced interoperability standards, has announced the release of Vulkan® 1.4, the latest version of its cross-platform 3D graphics and compute API. Vulkan 1.4 integrates and mandates support for many proven features into its core specification, expanding the functionality that is consistently available to developers, greatly simplifying application development and deployment across multiple platforms.
“Vulkan 1.4 is a developer-driven update that enhances Vulkan’s value as a stable, reliable framework for creating graphics-intensive applications on any platform,” said Tom Olson, outgoing Vulkan Working Group Chair. “As I step down, I’m proud to see the groundwork we’ve laid through our roadmaps come to fruition. Our roadmap milestone plans have empowered developers with new levels of flexibility and performance, setting Vulkan on a path for continued innovation and broader adoption in the years to come.”
The Vulkan 1.4 specification consolidates numerous previously optional extensions, features, and increased minimum hardware limits, many of which were defined in the Vulkan Roadmap 2022 and 2024 milestones and associated profiles, including:
– Streaming Transfers: Vulkan 1.4 imposes new implementation requirements to ensure portable, cross-platform applications can stream large quantities of data to a device while simultaneously rendering at full performance.
– Previously optional extensions and features critical to emerging high-performance applications are now mandatory in Vulkan 1.4, ensuring their reliable availability across multiple platforms. These include push descriptors, dynamic rendering local reads, and scalar block layouts.
– Maintenance extensions up to and including VK_KHR_maintenance6 are now part of the core Vulkan 1.4 specification.
8K rendering with up to eight separate render targets is now guaranteed to be supported, along with several other limit increases.“Vulkan 1.4 is a milestone release that directly brings long-requested features and proven extensions into the core standard. By mandating these capabilities, we are enhancing Vulkan’s flexibility and performance across a wider range of devices, making it easier for developers to create cutting-edge applications with confidence that they will run reliably on any platform,” said Ralph Potter, newly elected Vulkan Working Group Chair.
The Vulkan Conformance Test Suite (CTS) is an extensive set of close to three million tests in open source that all Vulkan implementers must pass, increasing cross-platform consistency. AMD, Arm, Imagination, Intel, NVIDIA, Qualcomm, and Samsung all have development drivers that have passed Vulkan 1.4 Conformance. Additionally, Mesa open-source Linux drivers have passed Vulkan 1.4 conformance on AMD, Apple, Intel, NVIDIA, and Qualcomm hardware. Production drivers that have passed Khronos’s formal conformance testing process are listed on the Vulkan Conformant Products register.
Vulkan’s tooling ecosystem continues to grow, providing developers with powerful, community-driven tools that improve shader portability and performance. The Vulkan SDK from LunarG supports multiple shader languages, including HLSL, GLSL, and Slang—now a Khronos-hosted open-source project—enabling developers to use the shading language that best suits their technical and commercial requirements. The Vulkan SDK will be updated to include support for version 1.4 in January 2025.
Industry Support
“Vulkan 1.4 brings implementations across the industry to greater feature parity, requiring several features that AMD hardware has supported since Vulkan 1.0, as well as a number of newer features from the Vulkan 2022 and 2024 roadmap milestones that will help improve the developer experience. AMD intends to support Vulkan 1.4 in a release of our AMD Software: Adrenalin Edition™ driver early next year,” said Andrej Zdravkovic, senior vice president and chief software officer, AMD.
“To meet growing consumer demand for premium mobile experiences, developers need the right tools to create more complex applications,” said Geraint North, vice president, developer platforms at Arm. “The Vulkan 1.4 release represents a significant step forward, with new features translating to improved ease of use for developers. Arm remains committed to empowering developers with the tools and technologies needed to create the next generation of graphics and compute applications, and we are pleased to support Vulkan 1.4 across Arm Immortalis and Mali GPUs.”
“Imagination is excited by the new 1.4 core release of Vulkan and its benefits to developers using all our current GPU generations,” said Ed Plowman, vice president of innovation at Imagination Technologies. “Vulkan 1.4 improves the programming experience across all the diverse market segments Imagination supports, from deeply-embedded GPUs to the most performant cutting-edge solutions that build upon Vulkan 1.4 to drive innovation with the Vulkan roadmap profiles.”
We look forward to bringing Vulkan 1.4 support to millions of Intel Arc™ Graphics and Intel Graphics platforms early next year,” said Lisa Pearce, CVP and GM of GPU and NPU HW/SW IPs at Intel. “The Vulkan 1.4 specification builds on the Roadmap 2022 and 2024 milestones to integrate key features into the core standard, giving developers a new powerful tool to deliver the next generation of graphics applications across a variety of platforms.”
“Vulkan 1.4 makes it easier than ever for developers to create and deploy GPU-accelerated applications,” said Thiru Sinnathamby, vice president of software engineering at NVIDIA. “Today, NVIDIA is shipping conformant drivers with support for Vulkan 1.4 plus full Roadmap 2024 milestone functionality on Windows 10, Windows 11, and Linux, all supported by our updated Nsight Graphics tools.”
“We are delighted by the release of Vulkan 1.4. The latest iteration of the Vulkan API improves usability and provides a more consistent developer experience to provide the most efficient way of processing high fidelity graphics across a wide range of platforms. We look forward to bringing Vulkan 1.4 to our Samsung Galaxy devices, and to supporting developers in creating great experiences for our customers,” said Sungdo Moon, EVP & head of system R&D, Mobile eXperience Business at Samsung Electronics.
The full press release is available HERE.
The Vulkan 1.4 specifications are available HERE (5610-page PDF).
Vulkan headers are available HERE.
Vulkan 1.4 promoted the following extensions into the core API (source):
- VK_KHR_dynamic_rendering_local_read (partially promoted) - VK_KHR_global_priority - VK_KHR_index_type_uint8 - VK_KHR_line_rasterization - VK_KHR_load_store_op_none - VK_KHR_maintenance5 - VK_KHR_maintenance6 - VK_KHR_map_memory2 - VK_KHR_push_descriptor - VK_KHR_shader_expect_assume - VK_KHR_shader_float_controls2 - VK_KHR_shader_subgroup_rotate - VK_KHR_vertex_attribute_divisor - VK_EXT_host_image_copy - VK_EXT_pipeline_protected_access - VK_EXT_pipeline_robustness
New Features Structure
A new feature structure is added which includes the features of all of the extensions promoted into core:
typedef struct VkPhysicalDeviceVulkan14Features { VkStructureType sType; void* pNext; VkBool32 globalPriorityQuery; VkBool32 shaderSubgroupRotate; VkBool32 shaderSubgroupRotateClustered; VkBool32 shaderFloatControls2; VkBool32 shaderExpectAssume; VkBool32 rectangularLines; VkBool32 bresenhamLines; VkBool32 smoothLines; VkBool32 stippledRectangularLines; VkBool32 stippledBresenhamLines; VkBool32 stippledSmoothLines; VkBool32 vertexAttributeInstanceRateDivisor; VkBool32 vertexAttributeInstanceRateZeroDivisor; VkBool32 indexTypeUint8; VkBool32 dynamicRenderingLocalRead; VkBool32 maintenance5; VkBool32 maintenance6; VkBool32 pipelineProtectedAccess; VkBool32 pipelineRobustness; VkBool32 hostImageCopy; VkBool32 pushDescriptor; } VkPhysicalDeviceVulkan14Features;
New Properties Structure
A new properties structure is added which includes the properties all of the extensions promoted into core:
typedef struct VkPhysicalDeviceVulkan14Properties { VkStructureType sType; void* pNext; // VK_KHR_line_rasterization uint32_t lineSubPixelPrecisionBits; // VK_KHR_vertex_attribute_divisor uint32_t maxVertexAttribDivisor; VkBool32 supportsNonZeroFirstInstance; // VK_KHR_push_descriptor uint32_t maxPushDescriptors; // VK_KHR_dynamic_rendering_local_read VkBool32 dynamicRenderingLocalReadDepthStencilAttachments; VkBool32 dynamicRenderingLocalReadMultisampledAttachments; // VK_KHR_maintenance5 VkBool32 earlyFragmentMultisampleCoverageAfterSampleCounting; VkBool32 earlyFragmentSampleMaskTestBeforeSampleCounting; VkBool32 depthStencilSwizzleOneSupport; VkBool32 polygonModePointSize; VkBool32 nonStrictSinglePixelWideLinesUseParallelogram; VkBool32 nonStrictWideLinesUseParallelogram; // VK_KHR_maintenance6 VkBool32 blockTexelViewCompatibleMultipleLayers; uint32_t maxCombinedImageSamplerDescriptorCount; VkBool32 fragmentShadingRateClampCombinerInputs; // VK_EXT_pipeline_robustness VkPipelineRobustnessBufferBehavior defaultRobustnessStorageBuffers; VkPipelineRobustnessBufferBehavior defaultRobustnessUniformBuffers; VkPipelineRobustnessBufferBehavior defaultRobustnessVertexInputs; VkPipelineRobustnessImageBehavior defaultRobustnessImages; // VK_EXT_host_image_copy uint32_t copySrcLayoutCount; VkImageLayout* pCopySrcLayouts; uint32_t copyDstLayoutCount; VkImageLayout* pCopyDstLayouts; uint8_t optimalTilingLayoutUUID[VK_UUID_SIZE]; VkBool32 identicalMemoryTypeRequirements; } VkPhysicalDeviceVulkan14Properties;