Vulkan SDK 1.4.304.1 Release Notes
Version 1.4.304.1 for macOS
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.
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 macOS
January 14, 2025
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
- Previous problems with the SDK Maintenance Tool on macOS Sequoia have been resolved.
- 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.
- LunarG's Capture and Replay tool, GFXReconstruct is now included in the macOS SDK!
- 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
- 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.
- MoltenVK remains at version 1.2.11 as there has not been a new release.
- see the MoltenVK release notes for additional and more detailed update 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: volk, Version Tag: vulkan-sdk-1.4.304.1
- GitHub Repo: AMD Memory Allocator tag: v3.1.2
- GitHub Repo: microsoft/DirectXShaderCompiler commit: d39324e0635130e834a68e33b0c603cf5fc9fb4f
- GitHub Repo: google/shaderc commit: 3f164a03cd21f7d59be753a07c7626cffc74512d
- GitHub Repo: SaschaWillems/VulkanCapsViewer tag: 4.00
- GitHub Repo: sdl, Version Tag: release-2.30.7
- GitHub Repo: glm, Version Tag: 1.0.1
- GitHub Repo: KhronosGroup/MoltenVK, Version Tag: v1.2.11
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.
Developer Notes
The new installation app optionally (but by default) runs the script install_vulkan.py
with administrative privileges. This copies the Vulkan Loader, MoltenVK, and command line utilities into system folders (/usr/local
) for easier access during development.
Known Issues
- 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.
- Vulkan Configurator known issues are documented in the Vulkan Configurator Change Log
- Both XCode AND the XCode command line tools are required to run the installer due to it's dependency on Python3 being present on your system.