Vulkan SDK 1.4.309.0 Release Notes
Version 1.4.309.0 for Windows
March 13, 2025
This SDK supports Vulkan API revision 1.4.309.
SDK Version Lifetime Vulkan SDK's older than 2 years are removed from the Vulkan SDK download site and won't be available once removed. All SDK's are backwards compatible and using the latest or newer SDK is recommended due to ongoing bug fixes and enhancements in the SDK content.
Overview of new features in SDK 1.4.309.0
- New Validation Layer error message formats (see the new Validation Layer error messages documentation for all the details)
- Warnings are now on Warning by default. There are currently only a few in Core Validation. We believe it will help more people to have things such as Undefined Values turned on. People using something like
VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT
will not be affected. - The clunky list of Objects at the top of the message is now more dense and easier to read.
- The format of all errors will be:
- first line the VUID, object list, other meta data
- second line will be the "real message"
- third line will be the spec text and URL
- There is a new option for the output to be in JSON. If turned on, the
VkDebugUtilsMessengerCallbackDataEXT::pMessage
callback will be a JSON string for people to parse. The schema will more stable then normal error message parsing. See the documentation (linked above) for the schema and all of the details. - Synchronization validation error messages have also been improved:
- They have been reworked to be more human readable
- There is a new optional section of key-value properties to simplify synchronization validation error suppression and filtering. Extra properties can be enabled in vkconfig or through khronos_validation.syncval_message_extra_properties validation layer setting.
- Warnings are now on Warning by default. There are currently only a few in Core Validation. We believe it will help more people to have things such as Undefined Values turned on. People using something like
- New Vulkan Configurator features and improvements
- Add vkconfig loader` commands to import, export, delete and use stored loader configurations
- Notify user of a newer SDK
- The Vulkan Configurator (vkconfig) has been updated to improve quality and stability. See the fixes included in this SDK here. See the Vulkan Configurator documentation for more information.
- The Vulkan headers now include the following new extensions. Note that extensions are optional and may not be implemented by the underlying driver/ICD. Applications can now query for the presence of these new features.
- VK_NV_present_metering
- VK_NV_cooperative_vector
- VK_NV_cluster_acceleration_structure
- VK_NV_partitioned_acceleration_structure
- VK_NV_ray_tracing_linear_swept_spheres
- VK_EXT_external_memory_metal
- VK_KHR_video_maintenance2
- VK_ARM_pipeline_opacity_micromap
- VK_KHR_depth_clamp_zero_one
- VK_KHR_maintenance8
- Improved validation coverage. VUID validation coverage documentation (validation_error_database.csv and validation_error_database.html) has been updated to represent the validation layer VUID coverage status.
Drivers: It is recommended you update Vulkan-capable hardware drivers to the latest recommended version from the hardware vendor. A list of Known Issues appears at the end of this document with more information.
Platform Support Matrix
Feature | Windows-x64/x86 | Windows-ARM | Linux tarball | Ubuntu Packages | macOS SDK |
---|---|---|---|---|---|
Tools | |||||
Vulkan Configurator | X | X | X | X | X |
Vulkaninfo | X | X | X | X | X |
VIA (Vulkan Installation Analyzer) | X | X | X | X | X |
Vulkan Profiles API Library | X | X | X | X | X |
VOLK (a meta-loader for Vulkan) | X | X | X | X | X |
AMD Memory Allocator | X | X | X | X | X |
Validation Layers | |||||
Validation | X | X | X | X | X |
Best Practices | X | X | X | X | X |
GPU Assisted Validation | X | X | X | ||
Debug Printf | X | X | X | ||
Synchronization Validation | X | X | X | X | X |
Utility Layers | |||||
Crash Diagnostic Layer | X | X | X | ||
Profiles Layer | X | X | X | X | X |
API Dump | X | X | X | X | X |
Monitor | X | X | X | X | |
Screenshot | X | X | X | X | X |
GFXReconstruct | X | X | X | X | |
Extension Layers | |||||
Synchronization 2 | X | X | X | X | X |
Shader Object | X | X | X | X | X |
Shader Tools | |||||
glslangValidator | X | X | X | X | X |
SPIR-V Optimizer | X | X | X | X | X |
SPIR-V Disassembler, Assembler, Validator | X | X | X | X | X |
SPIR-V Remapper | X | X | X | X | X |
SPIR-V Control Flow Visualization | X | X | X | X | X |
SPIR-V Cross-Compilation and Reflection | X | X | X | X | X |
shaderc | X | X | X | X | X |
DXC (DirectX Shader Compiler) | X | X | X | X | |
SPIRV-reflect | X | X | X | X | X |
slang | X | X | X | X | X |
SDK Components
This version of the SDK is based on the following specifications, source code repositories, and commits:
- Vulkan Specification
- SPIR-V Specification (Version 1.6, Revision 5)
- GLSL Specification (Version 4.6)
- GitHub Repo: KhronosGroup/glslang, Version Tag: vulkan-sdk-1.4.309.0
- GitHub Repo: KhronosGroup/SPIRV-Cross Version Tag: vulkan-sdk-1.4.309.0
- Github Repo: SPIRV-Reflect Version Tag: vulkan-sdk-1.4.309.0
- Github Repo: shader-slang Version Tag: vulkan-sdk-1.4.309.0
- GitHub Repo: KhronosGroup/SPIRV-Tools, Version Tag: vulkan-sdk-1.4.309.0
- GitHub Repo: KhronosGroup/Vulkan-Headers, Version Tag: vulkan-sdk-1.4.309.0
- GitHub Repo: KhronosGroup/Vulkan-Loader, Version Tag: vulkan-sdk-1.4.309.0
- GitHub Repo: KhronosGroup/Vulkan-Tools, Version Tag: vulkan-sdk-1.4.309.0
- GitHub Repo: KhronosGroup/Vulkan-ValidationLayers, Version Tag: vulkan-sdk-1.4.309.0
- GitHub Repo: KhronosGroup/Vulkan-Profiles, Version Tag: vulkan-sdk-1.4.309.0
- GitHub Repo: KhronosGroup/Vulkan-ExtensionLayer, Version Tag: vulkan-sdk-1.4.309.0
- GitHub Repo: KhronosGroup/Vulkan-Utility-Libraries, Version Tag: vulkan-sdk-1.4.309.0
- GitHub Repo: LunarG/gfxreconstruct, Version Tag: vulkan-sdk-1.4.309.0
- GitHub Repo: LunarG/VulkanTools, Version Tag: vulkan-sdk-1.4.309.0
- GitHub Repo: LunarG/CrashDiagnosticLayer, Version Tag: vulkan-sdk-1.4.309.0
- GitHub Repo: volk, Version Tag: vulkan-sdk-1.4.309.0
- GitHub Repo: AMD Memory Allocator tag: v3.2.1
- GitHub Repo: microsoft/DirectXShaderCompiler commit: 75a029d95e767f291885e081f71ed951acad0019
- GitHub Repo: google/shaderc commit: 8ce49ebab88d35046e8076bd3bc5c9b34f744bd1
- GitHub Repo: SaschaWillems/VulkanCapsViewer tag: 4.00
- GitHub Repo: sdl, Version Tag: release-2.32.0
- GitHub Repo: glm, Version Tag: 1.0.1
LunarG would like to thank all of the many contributors to all of the above repositories and the contributions they are making to the Vulkan Ecosystem.
Submitting Issues
If while using the tools and layers included in the SDK you find a defect in that tool or layer, the most expedient way to get a resolution is to submit to its corresponding repository. For example, if you believe you have found a defect in the Validation Layers, submit an issue at the repository for Validation Layers. The only exception to this is for the shader tool chain (glslang, SPIRV-Cross, SPIRV-Tools, shaderc). For these repositories you can submit issues against the SDK at vulkan.lunarg.com.
Known Issues
No Warning with Profiles Use: When using Vulkan Profiles requiring Profiles with the Vulkan Profiles layer, no warning is emitted when trying to override a device capability to a value that is not supported by the device.
The Vulkan Runtime is now installed with the SDK. If the the loader (vulkan-1.dll) is in use during installatiion, the installation will fail and you will see an error message. You can update the runtime manually at any time by running VulkanRT.exe in the /Helpers folder in the SDK installation directory.
Vulkan Configurator known issues are documented in the Vulkan Configurator Change Log