vulkan-3.23: Bindings to the Vulkan graphics API.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Vulkan.Extensions.VK_KHR_maintenance4

Description

Name

VK_KHR_maintenance4 - device extension

VK_KHR_maintenance4

Name String
VK_KHR_maintenance4
Extension Type
Device extension
Registered Extension Number
414
Revision
2
Extension and Version Dependencies
  • Requires support for Vulkan 1.1
Deprecation state
Contact

Other Extension Metadata

Last Modified Date
2021-10-25
Interactions and External Dependencies
  • Promoted to Vulkan 1.3 Core
  • Requires SPIR-V 1.2 for LocalSizeId
Contributors
  • Lionel Duc, NVIDIA
  • Jason Ekstrand, Intel
  • Spencer Fricke, Samsung
  • Tobias Hector, AMD
  • Lionel Landwerlin, Intel
  • Graeme Leese, Broadcom
  • Tom Olson, Arm
  • Stu Smith, AMD
  • Yiwei Zhang, Google

Description

VK_KHR_maintenance4 adds a collection of minor features, none of which would warrant an entire extension of their own.

The new features are as follows:

  • Allow the application to destroy their PipelineLayout object immediately after it was used to create another object. It is no longer necessary to keep its handle valid while the created object is in use.
  • Add a new maxBufferSize implementation-defined limit for the maximum size Buffer that can be created.
  • Add support for the SPIR-V 1.2 LocalSizeId execution mode, which can be used as an alternative to LocalSize to specify the local workgroup size with specialization constants.
  • Add a guarantee that images created with identical creation parameters will always have the same alignment requirements.
  • Add new getDeviceBufferMemoryRequirementsKHR, getDeviceImageMemoryRequirementsKHR, and getDeviceImageSparseMemoryRequirementsKHR to allow the application to query the image memory requirements without having to create an image object and query it.
  • Relax the requirement that push constants must be initialized before they are dynamically accessed.
  • Relax the interface matching rules to allow a larger output vector to match with a smaller input vector, with additional values being discarded.
  • Add a guarantee for buffer memory requirement that the size memory requirement is never greater than the result of aligning create size with the alignment memory requirement.

New Commands

New Structures

New Enum Constants

Promotion to Vulkan 1.3

Functionality in this extension is included in core Vulkan 1.3, with the KHR suffix omitted. The original type, enum and command names are still available as aliases of the core functionality.

Issues

None.

Version History

  • Revision 1, 2021-08-18 (Piers Daniell)

    • Internal revisions
  • Revision 2, 2021-10-25 (Yiwei Zhang)

    • More guarantees on buffer memory requirements

See Also

DeviceBufferMemoryRequirementsKHR, DeviceImageMemoryRequirementsKHR, PhysicalDeviceMaintenance4FeaturesKHR, PhysicalDeviceMaintenance4PropertiesKHR, getDeviceBufferMemoryRequirementsKHR, getDeviceImageMemoryRequirementsKHR, getDeviceImageSparseMemoryRequirementsKHR

Document Notes

For more information, see the Vulkan Specification

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.

Documentation

pattern KHR_MAINTENANCE_4_SPEC_VERSION :: forall a. Integral a => a Source #

type KHR_MAINTENANCE_4_EXTENSION_NAME = "VK_KHR_maintenance4" Source #

pattern KHR_MAINTENANCE_4_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #