Vulkan 1.4: A Deep Dive into the Latest Release

Dec 14, 2024

Vulkan is a C99 API designed for explicit control of low-level graphics and compute functionality. It's an open, royalty-free graphics and compute API designed for high-efficiency,

Vulkan 1.4: A Deep Dive into the Latest Release

Vulkan 1.4: A Deep Dive into the Latest Release

Vulkan is a C99 API designed for explicit control of low-level graphics and compute functionality. It's an open, royalty-free graphics and compute API designed for high-efficiency, cross-platform access to modern GPUs. It is widely adopted in leading game engines, cutting-edge games, and high-performance applications. Vulkan is supported across a diverse range of devices, including Windows and Linux PCs, gaming consoles, cloud platforms, mobile phones, and embedded systems.

What's New in Vulkan 1.4?

Vulkan 1.4 represents a significant advancement, streamlining development and deployment of GPU-accelerated applications. Key improvements include:

1. Streaming Transfers:

Vulkan 1.4 introduces new implementation requirements to ensure portable, cross-platform applications can efficiently stream large data quantities to the device while simultaneously rendering at full performance. This addresses a long-standing challenge in earlier Vulkan versions. Implementations must support either the hostImageCopy feature or an additional queue supporting VK_QUEUE_TRANSFER_BIT. All queues supporting VK_QUEUE_GRAPHICS_BIT or VK_QUEUE_COMPUTE_BIT must also advertise VK_QUEUE_TRANSFER_BIT.

2. Mandatory Extensions and Features:

Several previously optional extensions and features crucial for high-performance applications are now mandatory in Vulkan 1.4. This ensures consistent availability across platforms. These include:

  • Push descriptors
  • Dynamic rendering local reads
  • Scalar block layouts

This standardization simplifies development and improves reliability.

3. Core Specification Enhancements:

Maintenance extensions up to and including VK_KHR_maintenance6 are now integrated into the core Vulkan 1.4 specification.

4. Enhanced Rendering Capabilities:

Vulkan 1.4 guarantees support for 8K rendering with up to eight separate render targets, along with several other limit increases. This signifies a substantial boost in rendering capabilities.

5. New Structures:

  • A new feature structure (VkPhysicalDeviceVulkan14Features) is introduced, encompassing features from extensions promoted to the core. bresenhamLines and shaderSubgroupRotateClustered are additionally required. pushDescriptor is also a new required feature. pipelineProtectedAccess is required only when the protectedMemory feature is supported.
  • A new properties structure (VkPhysicalDeviceVulkan14Properties) is added, including properties from extensions promoted to the core. The newly added dynamicRenderingLocalReadDepthStencilAttachments and dynamicRenderingLocalReadMultisampledAttachments properties are optional and control support for local reads of depth/stencil attachments and multisampled attachments in dynamic rendering.
Khronos Streamlines Development and Deployment of GPU-Accelerated Applications with Vulkan 1.4 Banner Vulkan logo author picture
Recent Posts