Vulkan SDK 1.4.304.1 Release Notes
Version 1.4.304.1 for Windows
February 6, 2025
This SDK supports Vulkan API revision 1.4.304. This version of the SDK adds the following enhancements:
The Vulkan Configurator has been upgraded to "Version 3", providing many very useful new features:
- Improve layers loading and selection:
- Add loading of multiple versions of the same layer
- Add explicit selection of the layer version used by a configuration
- No longer load and unload layer manifest when switching configuations
- Json validation caching based on layer manifest modified date and time
- Add layers manifest reloading
- Per-layer enabling of layer settings
- Improve layers ordering:
- Allow ordering of all (implicit layers, unknown layers) layers executed by Vulkan application
- Allow ordering layers independently from enabling them
- Allow ordering of layers using drag and drop
- Improve executable list:
- Add storing multiple set of options per executable
- Add per-application layers configuration
- Add Vulkan Loader logging support:
- Add per-executable Vulkan Loader loader configuration
- Add Vulkan Loader logging outside of application launcher
- Add Vulkan Loader selection of each logging message type
- Split GUI and command line into two separate executables
- Add system diagnostic
- Improve ${VULKAN_SDK} variable coverage, working for all paths
Deprecation Notice
Previous versions of the Vulkan Configurator are no longer supported.
GFXReconstruct has been enhanced to support capture/replay of Vulkan Ray Tracing in a portable manner:
Portable raytracing means that the device buffer device addresses, shader group handles, and acceleration structures are tracked at capture time and translated at replay time to be device independent. This portable tracing solution is now available in GFXReconstruct.
The Vulkan Specification included in the SDK documentation has been enhanced with the version built with Antora. This results in faster load times in your browser when following URLs from the SDK Validation Layer error message to the violated VUID within the specification.
As many of you are probably aware, the Vulkan working group has developed an alternative form of the specification using Antora. You can see the result here: https://docs.vulkan.org/spec/latest/index.html The specification as generated by using Antora results in much faster load times in your browser. The team within the working group just enabled us with the two features we need to integrate this into the SDK version specific specification integrated into the LunarXchange SDK documentation (the ability to build a version of the specification for the SDK header version, and the ability to link into the specification for a specific VUID).
Removal Notice
The single file HTML version of the Vulkan Specification has been removed from the SDK due to serious usability issues. The Antora built version of the Vulkan specification is used instead. The chunked and PDF versions of the specification will remain for now.
Future versions of the Vulkan SDK will remove the chunked and PDF versions of the specification.
Slang has been updated to a newer version.
This update includes bug fixes and improvements from community reported issues. It also adds DescriptorHandle
Vulkan SDK 1.4.304.0 Release Notes
Version 1.4.304.0 for Windows
January 14, 2025
This SDK supports Vulkan API revision 1.4.304.
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.304.0
- The Windows SDK installation process will now update your Vulkan Runtime (Vulkan Loader) to the latest version for this Vulkan Header. This is being done due to the Vulkan Configurator requiring a newer loader to enable Vulkan Configurator features.
- Slang (https://github.com/shader-slang/slang), an alternative shader language and compiler, is no longer Beta status. See the slang user guide for details on usage.
- The glslang public API has been thoroughly sanitized to enable a stable public ABI. As such a shared library is now provided in the SDK.
- The VK_LAYER_LUNARG_crash_diagnostic layer (for debugging hung GPUs or GPU crashes) is no longer "alpha" quality and has been promoted to "beta" quality. See the layer documentation for more details. Please submit any issues found to the Crash Diagnostic Layer repository.
- 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_EXT_vertex_attribute_robustness
- VK_KHR_video_encode_av1
- VK_KHR_video_encode_quantization_map
- VK_NV_display_stereo
- VK_HUAWEI_hdr_vivid
- VK_NV_cooperative_matrix2
- VK_AMDX_shader_enqueue (profisional extension updated to V2 API)
- VK_EXT_present_mode_fifo_latest_ready
- With 1.4, the following extensions were promoted to core:
- VK_KHR_dynamic_rendering_local_read
- 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
- vkcube has been updated to support runtime selection of the Windowing Extension used. This allows vkcube to support all available windowing systems with a single binary. The --wsi
command line switch has been added for this. - 32-bit versions of the Vulkan layers have been removed from the Windows SDK. A 32 bit runtime (Vulkan Loader, vulkaninfo) is still included with the Windows SDK. It is perceived that there is not a need to develop 32 bit applications for the desktop, and hence the reason for this removal. If you feel that these libraries must be included in the Vulkan SDK, submit an issue at vulkan.lunarg.com and explain your use case.
- 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.
- 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 4)
- GLSL Specification (Version 4.6)
- GitHub Repo: KhronosGroup/glslang, Version Tag: vulkan-sdk-1.4.304.1
- GitHub Repo: KhronosGroup/SPIRV-Cross Version Tag: vulkan-sdk-1.4.304.1
- Github Repo: SPIRV-Reflect Version Tag: vulkan-sdk-1.4.304.1
- Github Repo: shader-slang Version Tag: vulkan-sdk-1.4.304.1
- GitHub Repo: KhronosGroup/SPIRV-Tools, Version Tag: vulkan-sdk-1.4.304.1
- GitHub Repo: KhronosGroup/Vulkan-Headers, Version Tag: vulkan-sdk-1.4.304.1
- GitHub Repo: KhronosGroup/Vulkan-Loader, Version Tag: vulkan-sdk-1.4.304.1
- GitHub Repo: KhronosGroup/Vulkan-Tools, Version Tag: vulkan-sdk-1.4.304.1
- GitHub Repo: KhronosGroup/Vulkan-ValidationLayers, Version Tag: vulkan-sdk-1.4.304.1
- GitHub Repo: KhronosGroup/Vulkan-Profiles, Version Tag: vulkan-sdk-1.4.304.1
- GitHub Repo: KhronosGroup/Vulkan-ExtensionLayer, Version Tag: vulkan-sdk-1.4.304.1
- GitHub Repo: KhronosGroup/Vulkan-Utility-Libraries, Version Tag: vulkan-sdk-1.4.304.1
- GitHub Repo: LunarG/gfxreconstruct, Version Tag: vulkan-sdk-1.4.304.1
- GitHub Repo: LunarG/VulkanTools, Version Tag: vulkan-sdk-1.4.304.1
- GitHub Repo: LunarG/CrashDiagnosticLayer, Version Tag: vulkan-sdk-1.4.304.1
- GitHub Repo: volk, Version Tag: vulkan-sdk-1.4.304.1
- GitHub Repo: AMD Memory Allocator tag: v3.2.0
- GitHub Repo: microsoft/DirectXShaderCompiler commit: d39324e0635130e834a68e33b0c603cf5fc9fb4f
- GitHub Repo: google/shaderc commit: 3f164a03cd21f7d59be753a07c7626cffc74512d
- GitHub Repo: SaschaWillems/VulkanCapsViewer tag: 3.42
- GitHub Repo: sdl, Version Tag: release-2.30.7
- 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