Modulevulkan-3.27GHC2021
Vulkan.Core13.Enums.FormatFeatureFlags2
- 2 types
- Packagevulkan-3.27
- Exports54
- LanguageGHC2021
- LicenceBSD-3-Clause
- SourceFormatFeatureFlags2.hs
VkFormatFeatureFlagBits2 - Bitmask specifying features supported by a buffer
Description
The following bits may be set in linearTilingFeatures and
optimalTilingFeatures, specifying that the features are supported by
images or image views or
sampler Y′CBCR conversion objects
created with the queried
getPhysicalDeviceFormatProperties2::format:
FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT specifies that an image view can be sampled from.
FORMAT_FEATURE_2_STORAGE_IMAGE_BIT specifies that an image view can be used as a storage image.
FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT specifies that an image view can be used as storage image that supports atomic operations.
FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT specifies that an image view can be used as a framebuffer color attachment and as an input attachment.
FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT specifies that an image view can be used as a framebuffer color attachment that supports blending.
FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT specifies that an image view can be used as a framebuffer depth/stencil attachment and as an input attachment.
FORMAT_FEATURE_2_BLIT_SRC_BIT specifies that an image can be used as the
srcImagefor cmdBlitImage2 and cmdBlitImage.FORMAT_FEATURE_2_BLIT_DST_BIT specifies that an image can be used as the
dstImagefor cmdBlitImage2 and cmdBlitImage.FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT specifies that if FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT is also set, an image view can be used with a sampler that has either of
magFilterorminFilterset to FILTER_LINEAR, ormipmapModeset to SAMPLER_MIPMAP_MODE_LINEAR. If FORMAT_FEATURE_2_BLIT_SRC_BIT is also set, an image can be used as thesrcImagefor cmdBlitImage2 and cmdBlitImage with afilterof FILTER_LINEAR. This bit must only be exposed for formats that also support the FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT or FORMAT_FEATURE_2_BLIT_SRC_BIT.If the format being queried is a depth/stencil format, this bit only specifies that the depth aspect (not the stencil aspect) of an image of this format supports linear filtering. Where depth comparison is supported it may be linear filtered whether this bit is present or not, but where this bit is not present the filtered value may be computed in an implementation-dependent manner which differs from the normal rules of linear filtering. The resulting value must be in the range [0,1] and should be proportional to, or a weighted average of, the number of comparison passes or failures.
FORMAT_FEATURE_2_TRANSFER_SRC_BIT specifies that an image can be used as a source image for copy commands.
FORMAT_FEATURE_2_TRANSFER_DST_BIT specifies that an image can be used as a destination image for copy commands and clear commands.
FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT specifies Image can be used as a sampled image with a min or max SamplerReductionMode. This bit must only be exposed for formats that also support the FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT.
FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT specifies that Image can be used with a sampler that has either of
magFilterorminFilterset to FILTER_CUBIC_EXT, or be the source image for a blit withfilterset to FILTER_CUBIC_EXT. This bit must only be exposed for formats that also support the FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT. If the format being queried is a depth/stencil format, this only specifies that the depth aspect is cubic filterable.FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT specifies that an application can define a sampler Y′CBCR conversion using this format as a source, and that an image of this format can be used with a SamplerYcbcrConversionCreateInfo
xChromaOffsetand/oryChromaOffsetof CHROMA_LOCATION_MIDPOINT. Otherwise bothxChromaOffsetandyChromaOffsetmust be CHROMA_LOCATION_COSITED_EVEN. If a format does not incorporate chroma downsampling (it is not a “422” or “420” format) but the implementation supports sampler Y′CBCR conversion for this format, the implementation must set FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT.FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT specifies that an application can define a sampler Y′CBCR conversion using this format as a source, and that an image of this format can be used with a SamplerYcbcrConversionCreateInfo
xChromaOffsetand/oryChromaOffsetof CHROMA_LOCATION_COSITED_EVEN. Otherwise bothxChromaOffsetandyChromaOffsetmust be CHROMA_LOCATION_MIDPOINT. If neither FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT nor FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT is set, the application must not define a sampler Y′CBCR conversion using this format as a source.FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT specifies that an application can define a sampler Y′CBCR conversion using this format as a source with
chromaFilterset to FILTER_LINEAR.FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT specifies that the format can have different chroma, min, and mag filters.
FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT specifies that reconstruction is explicit, as described in https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#textures-chroma-reconstruction. If this bit is not present, reconstruction is implicit by default.
FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT specifies that reconstruction can be forcibly made explicit by setting SamplerYcbcrConversionCreateInfo::
forceExplicitReconstructionto TRUE. If the format being queried supports FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT it must also support FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT.FORMAT_FEATURE_2_DISJOINT_BIT specifies that a multi-planar image can have the IMAGE_CREATE_DISJOINT_BIT set during image creation. An implementation must not set FORMAT_FEATURE_2_DISJOINT_BIT for single-plane formats.
FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT specifies that an image view can be used as a fragment density map attachment.
FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR specifies that an image view can be used as a fragment shading rate attachment. An implementation must not set this feature for formats with a numeric format other than
UINT, or set it as a buffer feature.VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR specifies that an image view with this format can be used as a decode output picture in video decode operations.
VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR specifies that an image view with this format can be used as an output reconstructed picture or an input reference picture in video decode operations.
VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR specifies that an image view with this format can be used as an encode input picture in video encode operations.
VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR specifies that an image view with this format can be used as an output reconstructed picture or an input reference picture in video encode operations.
FORMAT_FEATURE_2_DEPTH_COPY_ON_COMPUTE_QUEUE_BIT_KHR specifies that the depth aspect of this format can be copied using a queue family that supports QUEUE_COMPUTE_BIT but does not support QUEUE_GRAPHICS_BIT.
FORMAT_FEATURE_2_DEPTH_COPY_ON_TRANSFER_QUEUE_BIT_KHR specifies that the depth aspect of this format can be copied using a queue family that supports QUEUE_TRANSFER_BIT but does not support QUEUE_GRAPHICS_BIT or QUEUE_COMPUTE_BIT.
FORMAT_FEATURE_2_STENCIL_COPY_ON_COMPUTE_QUEUE_BIT_KHR specifies that the stencil aspect of this format can be copied using a queue family that supports QUEUE_COMPUTE_BIT but does not support QUEUE_GRAPHICS_BIT.
FORMAT_FEATURE_2_STENCIL_COPY_ON_TRANSFER_QUEUE_BIT_KHR specifies that the stencil aspect of this format can be copied using a queue family that supports QUEUE_TRANSFER_BIT but does not support QUEUE_GRAPHICS_BIT or QUEUE_COMPUTE_BIT.
Specific video profiles may have additional restrictions on the format and other image creation parameters corresponding to image views used by video coding operations that can be enumerated using the vkGetPhysicalDeviceVideoFormatPropertiesKHR command.
FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT specifies that image views or buffer views created with this format can be used as storage images or storage texel buffers respectively for read operations without specifying a format.
FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT specifies that image views or buffer views created with this format can be used as storage images or storage texel buffers respectively for write operations without specifying a format.
FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT specifies that image views created with this format can be used for depth comparison performed by
OpImage*Dref*instructions.FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV specifies that the format is supported as a renderable Linear Color Attachment. This bit will be set for renderable color formats in the
linearTilingFeatures. This must not be set in theoptimalTilingFeaturesorbufferFeaturesmembers.FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM specifies that image views created with this format can be used as the weight image input to weight image sampling operations.
FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM specifies that image views created with this format can be sampled in weight image sampling operations.
FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM specifies that image views created with this format can be used in block matching operations.
FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM specifies that image views created with this format can be sampled in box filter sampling operations.
FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT specifies that an image can be created with the IMAGE_USAGE_HOST_TRANSFER_BIT usage flag set.
FORMAT_FEATURE_2_COPY_IMAGE_INDIRECT_DST_BIT_KHR specifies that a Image can be used as destination for indirect copies.
VK_FORMAT_FEATURE_2_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR specifies that an image view with this format can be used as a quantization delta map in video encode operations.
VK_FORMAT_FEATURE_2_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR specifies that an image view with this format can be used as an emphasis map in video encode operations.
Video encode quantization maps have additional restrictions specific to the video profile they are used with that can be enumerated using the vkGetPhysicalDeviceVideoFormatPropertiesKHR command.
The following bits may be set in bufferFeatures, specifying that the
features are supported by buffers or
buffer views created with the queried
getPhysicalDeviceFormatProperties2::format:
FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT specifies that the format can be used to create a buffer view that can be bound to a DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER descriptor.
FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT specifies that the format can be used to create a buffer view that can be bound to a DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER descriptor.
FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT specifies that atomic operations are supported on DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER with this format.
FORMAT_FEATURE_2_VERTEX_BUFFER_BIT specifies that the format can be used as a vertex attribute format (VertexInputAttributeDescription::
format).FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR specifies that the format can be used as the vertex format when creating an acceleration structure (AccelerationStructureGeometryTrianglesDataKHR::
vertexFormat). This format can also be used as the vertex format in host memory when doing host acceleration structure builds.FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_RADIUS_BUFFER_BIT_NV specifies that the format can be used as the radius format when creating an acceleration structure (AccelerationStructureGeometryLinearSweptSpheresDataNV::
radiusFormator AccelerationStructureGeometrySpheresDataNV::radiusFormat). This format can also be used as the radius format in host memory when doing host acceleration structure builds.FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT specifies that buffer views created with this format can be used as storage texel buffers for read operations without specifying a format.
FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT specifies that buffer views created with this format can be used as storage texel buffers for write operations without specifying a format.
FORMAT_FEATURE_2_OPTICAL_FLOW_IMAGE_BIT_NV specifies that an image view with this format can be used as an input or reference to optical flow operations
FORMAT_FEATURE_2_OPTICAL_FLOW_VECTOR_BIT_NV specifies that an image view with this format can be used as a flow vector map (either as hint, output or global flow) for optical flow operations
FORMAT_FEATURE_2_OPTICAL_FLOW_COST_BIT_NV specifies that an image view with this format can be used as an output cost map for optical flow operations
FORMAT_FEATURE_2_BLOCK_MATCHING_SXD_BIT_QCOM specifies that image views created with this format can be used in
OpImageBlockMatchSSDQCOMandOpImageBlockMatchSADQCOMblock matching operations. Implementations must set this flag for all formats which it sets the FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM flag.FORMAT_FEATURE_2_DATA_GRAPH_OPTICAL_FLOW_IMAGE_BIT_ARM specifies that an image view with this format can be used as an input or reference to optical flow operations
FORMAT_FEATURE_2_DATA_GRAPH_OPTICAL_FLOW_VECTOR_BIT_ARM specifies that an image view with this format can be used as a flow vector map (either as hint, output or global flow) for optical flow operations
FORMAT_FEATURE_2_DATA_GRAPH_OPTICAL_FLOW_COST_BIT_ARM specifies that an image view with this format can be used as an output cost map for optical flow operations
See Also
VK_KHR_format_feature_flags2, VK_VERSION_1_3, FormatFeatureFlags2
Constructors
Instances8Eq, Ord, Read, Show, Bits, FiniteBits, …
Eq FormatFeatureFlagBits2Defined in vulkan-3.27 · Vulkan.Core13.Enums.FormatFeatureFlags2Ord FormatFeatureFlagBits2Defined in vulkan-3.27 · Vulkan.Core13.Enums.FormatFeatureFlags2Read FormatFeatureFlagBits2Defined in vulkan-3.27 · Vulkan.Core13.Enums.FormatFeatureFlags2Show FormatFeatureFlagBits2Defined in vulkan-3.27 · Vulkan.Core13.Enums.FormatFeatureFlags2Bits FormatFeatureFlagBits2Defined in vulkan-3.27 · Vulkan.Core13.Enums.FormatFeatureFlags2FiniteBits FormatFeatureFlagBits2Defined in vulkan-3.27 · Vulkan.Core13.Enums.FormatFeatureFlags2Storable FormatFeatureFlagBits2Defined in vulkan-3.27 · Vulkan.Core13.Enums.FormatFeatureFlags2Zero FormatFeatureFlagBits2Defined in vulkan-3.27 · Vulkan.Core13.Enums.FormatFeatureFlags2