| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Vulkan.Extensions.VK_KHR_format_feature_flags2
Description
Name
VK_KHR_format_feature_flags2 - device extension
VK_KHR_format_feature_flags2
- Name String
VK_KHR_format_feature_flags2
- Extension Type
- Device extension
- Registered Extension Number
- 361
- Revision
- 2
- Ratification Status
- Ratified
- Extension and Version Dependencies
- VK_KHR_get_physical_device_properties2 or Vulkan Version 1.1
- API Interactions
- Interacts with VK_VERSION_1_2
- Interacts with VK_EXT_filter_cubic
- Interacts with VK_EXT_sampler_filter_minmax
- Interacts with VK_IMG_filter_cubic
- Deprecation State
- Promoted to Vulkan 1.3
- Contact
Other Extension Metadata
- Last Modified Date
- 2021-07-01
- IP Status
- No known IP claims.
- Contributors
- Lionel Landwerlin, Intel
- Faith Ekstrand, Intel
- Tobias Hector, AMD
- Spencer Fricke, Samsung Electronics
- Graeme Leese, Broadcom
- Jan-Harald Fredriksen, ARM
Description
This extension adds a new FormatFeatureFlagBits2KHR 64bits format
feature flag type to extend the existing
FormatFeatureFlagBits which
is limited to 31 flags. At the time of this writing 29 bits of
FormatFeatureFlagBits are
already used.
Because
FormatProperties2
is already defined to extend the Vulkan 1.0
getPhysicalDeviceFormatProperties
command, this extension defines a new FormatProperties3KHR to extend
the FormatProperties.
On top of replicating all the bits from
FormatFeatureFlagBits,
FormatFeatureFlagBits2KHR adds the following bits :
FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHRandFORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHRspecify that an implementation supports reading and writing, respectively, a givenFormatthrough storage operations without specifying the format in the shader.FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHRspecifies that an implementation supports depth comparison performed byOpImage*Dref*instructions on a givenFormat. Previously the result of executing aOpImage*Dref*instruction on an image view, where theformatwas not one of the depth/stencil formats with a depth component, was undefined. This bit clarifies on which formats such instructions can be used.
Prior to version 2 of this extension, implementations exposing the
shaderStorageImageReadWithoutFormat
and
shaderStorageImageWriteWithoutFormat
features may not report
FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR and
FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR in
FormatProperties3KHR::bufferFeatures. Despite this, buffer
reads/writes are supported as intended by the original features.
New Structures
Extending
FormatProperties2:
New Enums
New Bitmasks
New Enum Constants
KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSIONExtending
FormatFeatureFlagBits2:FORMAT_FEATURE_2_BLIT_DST_BIT_KHRFORMAT_FEATURE_2_BLIT_SRC_BIT_KHRFORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHRFORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHRFORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHRFORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHRFORMAT_FEATURE_2_DISJOINT_BIT_KHRFORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHRFORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHRFORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHRFORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHRFORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHRFORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHRFORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHRFORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHRFORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHRFORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHRFORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHRFORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHRFORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHRFORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHRFORMAT_FEATURE_2_TRANSFER_DST_BIT_KHRFORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHRFORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHRFORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR
Extending
StructureType:
If VK_EXT_filter_cubic or VK_IMG_filter_cubic is supported:
If Vulkan Version 1.2 or VK_EXT_sampler_filter_minmax is supported:
Promotion to Vulkan 1.3
Vulkan APIs in this extension are included in core Vulkan 1.3, with the KHR suffix omitted. External interactions defined by this extension, such as SPIR-V token names, retain their original names. The original Vulkan API names are still available as aliases of the core functionality.
Version History
Revision 2, 2022-07-20 (Lionel Landwerlin)
- Clarify that VK_FORMAT_FEATURE_2_STORAGE_(READ|WRITE)_WITHOUT_FORMAT_BIT also apply to buffer views.
Revision 1, 2020-07-21 (Lionel Landwerlin)
- Initial draft
See Also
No cross-references are available
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 FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR :: FormatFeatureFlagBits2 Source #
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR :: FormatFeatureFlagBits2 Source #
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR :: FormatFeatureFlagBits2 Source #
pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR :: FormatFeatureFlagBits2 Source #
pattern KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION :: Integral a => a Source #
type KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME = "VK_KHR_format_feature_flags2" Source #
pattern KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME :: (Eq a, IsString a) => a Source #