Registered Extension Number

361

Revision

1

Extension and Version Dependencies

Contact

Other Extension Metadata

Last Modified Date

2021-07-01

IP Status

No known IP claims.

Contributors
  • Lionel Landwerlin, Intel

  • Jason Ekstrand, Intel

  • Tobias Hector, AMD

  • Spencer Fricke, Samsung Electronics

  • Graeme Leese, Broadcom

  • Jan-Harald Fredriksen, ARM

Description

This extension adds a new VkFormatFeatureFlagBits2KHR 64bits format feature flag type to extend the existing VkFormatFeatureFlagBits which is limited to 31 flags. At the time of this writing 29 bits of VkFormatFeatureFlagBits are already used.

Because VkFormatProperties2 is already defined to extend the Vulkan 1.0 vkGetPhysicalDeviceFormatProperties entry point, this extension defines a new VkFormatProperties3KHR to extend the VkFormatProperties.

On top of replicating all the bits from VkFormatFeatureFlagBits, VkFormatFeatureFlagBits2KHR adds the following bits :

  • VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR and VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR indicate that an implementation supports respectively reading and writing a given VkFormat through storage operations without specifying the format in the shader.

  • VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR indicates that an implementation supports depth comparison performed by OpImage*Dref instructions on a given VkFormat. Previously the result of executing a OpImage*Dref* instruction on an image view, where the format was not one of the depth/stencil formats with a depth component, was undefined. This bit clarifies on which formats such instructions can be used.

New Structures

New Enums

New Bitmasks

New Enum Constants

  • VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME

  • VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION

  • Extending VkStructureType:

    • VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR

Version History

  • Revision 1, 2020-07-21 (Lionel Landwerlin)

    • Initial draft

See Also

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.

Copyright 2014-2021 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0