## 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.

### 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.0
- GitHub Repo: KhronosGroup/SPIRV-Cross Version Tag: vulkan-sdk-1.4.304.0
- Github Repo: SPIRV-Reflect Version Tag: vulkan-sdk-1.4.304.0
- Github Repo: shader-slang Version Tag: vulkan-sdk-1.4.304.0
- GitHub Repo: KhronosGroup/SPIRV-Tools, Version Tag: vulkan-sdk-1.4.304.0
- GitHub Repo: KhronosGroup/Vulkan-Headers, Version Tag: vulkan-sdk-1.4.304.0
- GitHub Repo: KhronosGroup/Vulkan-Loader, Version Tag: vulkan-sdk-1.4.304.0
- GitHub Repo: KhronosGroup/Vulkan-Tools, Version Tag: vulkan-sdk-1.4.304.0
- GitHub Repo: KhronosGroup/Vulkan-ValidationLayers, Version Tag: vulkan-sdk-1.4.304.0
- GitHub Repo: KhronosGroup/Vulkan-Profiles, Version Tag: vulkan-sdk-1.4.304.0
- GitHub Repo: KhronosGroup/Vulkan-ExtensionLayer, Version Tag: vulkan-sdk-1.4.304.0
- GitHub Repo: KhronosGroup/Vulkan-Utility-Libraries, Version Tag: vulkan-sdk-1.4.304.0
- GitHub Repo: LunarG/gfxreconstruct, Version Tag: vulkan-sdk-1.4.304.0
- GitHub Repo: LunarG/VulkanTools, Version Tag: vulkan-sdk-1.4.304.6
- GitHub Repo: LunarG/CrashDiagnosticLayer, Version Tag: vulkan-sdk-1.4.304.0
- GitHub Repo: volk, Version Tag: vulkan-sdk-1.4.304.0
- 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