Safe Haskell | None |
---|---|
Language | Haskell2010 |
Name
VK_EXT_fragment_density_map - device extension
VK_EXT_fragment_density_map
- Name String
VK_EXT_fragment_density_map
- Extension Type
- Device extension
- Registered Extension Number
- 219
- Revision
- 2
- Extension and Version Dependencies
- Requires Vulkan 1.0
- Requires
VK_KHR_get_physical_device_properties2
- Contact
Other Extension Metadata
- Last Modified Date
- 2021-09-30
- Interactions and External Dependencies
- This extension requires SPV_EXT_fragment_invocation_density
- Contributors
- Matthew Netsch, Qualcomm Technologies, Inc.
- Robert VanReenen, Qualcomm Technologies, Inc.
- Jonathan Wicks, Qualcomm Technologies, Inc.
- Tate Hornbeck, Qualcomm Technologies, Inc.
- Sam Holmes, Qualcomm Technologies, Inc.
- Jeff Leger, Qualcomm Technologies, Inc.
- Jan-Harald Fredriksen, ARM
- Jeff Bolz, NVIDIA
- Pat Brown, NVIDIA
- Daniel Rakos, AMD
- Piers Daniell, NVIDIA
Description
This extension allows an application to specify areas of the render target where the fragment shader may be invoked fewer times. These fragments are broadcasted out to multiple pixels to cover the render target.
The primary use of this extension is to reduce workloads in areas where lower quality may not be perceived such as the distorted edges of a lens or the periphery of a user’s gaze.
New Structures
Extending
PhysicalDeviceProperties2
:Extending
RenderPassCreateInfo
,RenderPassCreateInfo2
:
New Enum Constants
EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION
Extending
AccessFlagBits
:Extending
FormatFeatureFlagBits
:Extending
ImageCreateFlagBits
:Extending
ImageLayout
:Extending
ImageUsageFlagBits
:Extending
ImageViewCreateFlagBits
:Extending
PipelineStageFlagBits
:Extending
SamplerCreateFlagBits
:Extending
StructureType
:
If VK_KHR_format_feature_flags2 is supported:
New or Modified Built-In Variables
New SPIR-V Capabilities
Version History
Revision 1, 2018-09-25 (Matthew Netsch)
- Initial version
Revision 2, 2021-09-30 (Jon Leech)
- Add interaction with
VK_KHR_format_feature_flags2
tovk.xml
- Add interaction with
See Also
PhysicalDeviceFragmentDensityMapFeaturesEXT
,
PhysicalDeviceFragmentDensityMapPropertiesEXT
,
RenderPassFragmentDensityMapCreateInfoEXT
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.
Synopsis
- data PhysicalDeviceFragmentDensityMapFeaturesEXT = PhysicalDeviceFragmentDensityMapFeaturesEXT {}
- data PhysicalDeviceFragmentDensityMapPropertiesEXT = PhysicalDeviceFragmentDensityMapPropertiesEXT {}
- data RenderPassFragmentDensityMapCreateInfoEXT = RenderPassFragmentDensityMapCreateInfoEXT {}
- type EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 2
- pattern EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION :: forall a. Integral a => a
- type EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME = "VK_EXT_fragment_density_map"
- pattern EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
- newtype FormatFeatureFlagBits2KHR where
- FormatFeatureFlagBits2KHR Flags64
- pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR :: FormatFeatureFlagBits2KHR
- pattern FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR :: FormatFeatureFlagBits2KHR
- pattern FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR :: FormatFeatureFlagBits2KHR
- pattern FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR :: FormatFeatureFlagBits2KHR
- pattern FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR :: FormatFeatureFlagBits2KHR
- pattern FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR :: FormatFeatureFlagBits2KHR
- pattern FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR :: FormatFeatureFlagBits2KHR
- pattern FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR :: FormatFeatureFlagBits2KHR
- pattern FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR :: FormatFeatureFlagBits2KHR
- pattern FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR :: FormatFeatureFlagBits2KHR
- pattern FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR :: FormatFeatureFlagBits2KHR
- pattern FORMAT_FEATURE_2_BLIT_DST_BIT_KHR :: FormatFeatureFlagBits2KHR
- pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR :: FormatFeatureFlagBits2KHR
- pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT :: FormatFeatureFlagBits2KHR
- pattern FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR :: FormatFeatureFlagBits2KHR
- pattern FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR :: FormatFeatureFlagBits2KHR
- pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR :: FormatFeatureFlagBits2KHR
- pattern FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR :: FormatFeatureFlagBits2KHR
- pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR :: FormatFeatureFlagBits2KHR
- pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR :: FormatFeatureFlagBits2KHR
- pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR :: FormatFeatureFlagBits2KHR
- pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR :: FormatFeatureFlagBits2KHR
- pattern FORMAT_FEATURE_2_DISJOINT_BIT_KHR :: FormatFeatureFlagBits2KHR
- pattern FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR :: FormatFeatureFlagBits2KHR
- pattern FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR :: FormatFeatureFlagBits2KHR
- pattern FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR :: FormatFeatureFlagBits2KHR
- pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR :: FormatFeatureFlagBits2KHR
- pattern FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: FormatFeatureFlagBits2KHR
- pattern FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT :: FormatFeatureFlagBits2KHR
- pattern FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR :: FormatFeatureFlagBits2KHR
- type FormatFeatureFlags2KHR = FormatFeatureFlagBits2KHR
- type Flags64 = Word64
Documentation
data PhysicalDeviceFragmentDensityMapFeaturesEXT Source #
VkPhysicalDeviceFragmentDensityMapFeaturesEXT - Structure describing fragment density map features that can be supported by an implementation
Members
This structure describes the following features:
Description
If the PhysicalDeviceFragmentDensityMapFeaturesEXT
structure is
included in the pNext
chain of the
PhysicalDeviceFeatures2
structure passed to
getPhysicalDeviceFeatures2
,
it is filled in to indicate whether each corresponding feature is
supported. PhysicalDeviceFragmentDensityMapFeaturesEXT
can also be
used in the pNext
chain of DeviceCreateInfo
to
selectively enable these features.
Valid Usage (Implicit)
See Also
PhysicalDeviceFragmentDensityMapFeaturesEXT | |
|
Instances
data PhysicalDeviceFragmentDensityMapPropertiesEXT Source #
VkPhysicalDeviceFragmentDensityMapPropertiesEXT - Structure describing fragment density map properties that can be supported by an implementation
Description
If the PhysicalDeviceFragmentDensityMapPropertiesEXT
structure is
included in the pNext
chain of the
PhysicalDeviceProperties2
structure passed to
getPhysicalDeviceProperties2
,
it is filled in with each corresponding implementation-dependent
property.
Valid Usage (Implicit)
See Also
VK_EXT_fragment_density_map,
Bool32
,
Extent2D
,
StructureType
PhysicalDeviceFragmentDensityMapPropertiesEXT | |
|
Instances
data RenderPassFragmentDensityMapCreateInfoEXT Source #
VkRenderPassFragmentDensityMapCreateInfoEXT - Structure containing fragment density map attachment for render pass
Description
The fragment density map is read at an implementation-dependent time
with the following constraints determined by the attachment’s image view
flags
:
IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT
specifies that the fragment density map will be read by the device duringPIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT
IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT
specifies that the fragment density map will be read by the host duringendCommandBuffer
of the primary command buffer that the render pass is recorded into- Otherwise the fragment density map will be read by the host during
cmdBeginRenderPass
The fragment density map may additionally be read by the device during
PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT
for any mode.
If this structure is not present, it is as if
fragmentDensityMapAttachment
was given as
ATTACHMENT_UNUSED
.
Valid Usage
-
If
fragmentDensityMapAttachment
is notATTACHMENT_UNUSED
,fragmentDensityMapAttachment
must be less thanRenderPassCreateInfo
::attachmentCount
-
If
fragmentDensityMapAttachment
is notATTACHMENT_UNUSED
,fragmentDensityMapAttachment
must not be an element ofSubpassDescription
::pInputAttachments
,SubpassDescription
::pColorAttachments
,SubpassDescription
::pResolveAttachments
,SubpassDescription
::pDepthStencilAttachment
, orSubpassDescription
::pPreserveAttachments
for any subpass -
If
fragmentDensityMapAttachment
is notATTACHMENT_UNUSED
,layout
must be equal toIMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT
, orIMAGE_LAYOUT_GENERAL
-
If
fragmentDensityMapAttachment
is notATTACHMENT_UNUSED
,fragmentDensityMapAttachment
must reference an attachment with aloadOp
equal toATTACHMENT_LOAD_OP_LOAD
orATTACHMENT_LOAD_OP_DONT_CARE
-
If
fragmentDensityMapAttachment
is notATTACHMENT_UNUSED
,fragmentDensityMapAttachment
must reference an attachment with astoreOp
equal toATTACHMENT_STORE_OP_DONT_CARE
Valid Usage (Implicit)
-
fragmentDensityMapAttachment
must be a validAttachmentReference
structure
See Also
VK_EXT_fragment_density_map,
AttachmentReference
,
StructureType
RenderPassFragmentDensityMapCreateInfoEXT | |
|
Instances
type EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 2 Source #
pattern EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION :: forall a. Integral a => a Source #
type EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME = "VK_EXT_fragment_density_map" Source #
pattern EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #
newtype FormatFeatureFlagBits2KHR Source #
VkFormatFeatureFlagBits2KHR - 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_KHR
specifies that an image view can be sampled from.FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR
specifies that an image view can be used as a storage image.FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR
specifies that an image view can be used as storage image that supports atomic operations.FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR
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_KHR
specifies that an image view can be used as a framebuffer color attachment that supports blending and as an input attachment.FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR
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_KHR
specifies that an image can be used assrcImage
for thecmdBlitImage2KHR
andcmdBlitImage
commands.FORMAT_FEATURE_2_BLIT_DST_BIT_KHR
specifies that an image can be used asdstImage
for thecmdBlitImage2KHR
andcmdBlitImage
commands.FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR
specifies that ifFORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR
is also set, an image view can be used with a sampler that has either ofmagFilter
orminFilter
set toFILTER_LINEAR
, ormipmapMode
set toSAMPLER_MIPMAP_MODE_LINEAR
. IfFORMAT_FEATURE_2_BLIT_SRC_BIT_KHR
is also set, an image can be used as thesrcImage
tocmdBlitImage2KHR
andcmdBlitImage
with afilter
ofFILTER_LINEAR
. This bit must only be exposed for formats that also support theFORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR
orFORMAT_FEATURE_2_BLIT_SRC_BIT_KHR
.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_KHR
specifies that an image can be used as a source image for copy commands.FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR
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_KHR
specifiesImage
can be used as a sampled image with a min or maxSamplerReductionMode
. This bit must only be exposed for formats that also support theFORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR
.FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
specifies thatImage
can be used with a sampler that has either ofmagFilter
orminFilter
set toFILTER_CUBIC_EXT
, or be the source image for a blit withfilter
set toFILTER_CUBIC_EXT
. This bit must only be exposed for formats that also support theFORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR
. 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_KHR
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 aSamplerYcbcrConversionCreateInfo
xChromaOffset
and/oryChromaOffset
ofCHROMA_LOCATION_MIDPOINT
. Otherwise bothxChromaOffset
andyChromaOffset
must beCHROMA_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 setFORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR
.FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR
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 aSamplerYcbcrConversionCreateInfo
xChromaOffset
and/oryChromaOffset
ofCHROMA_LOCATION_COSITED_EVEN
. Otherwise bothxChromaOffset
andyChromaOffset
must beCHROMA_LOCATION_MIDPOINT
. If neitherFORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR
norFORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR
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_KHR
specifies that an application can define a sampler Y′CBCR conversion using this format as a source withchromaFilter
set toFILTER_LINEAR
.FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR
specifies that the format can have different chroma, min, and mag filters.FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR
specifies that reconstruction is explicit, as described in https://www.khronos.org/registry/vulkan/specs/1.2-extensions/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_KHR
specifies that reconstruction can be forcibly made explicit by settingSamplerYcbcrConversionCreateInfo
::forceExplicitReconstruction
toTRUE
. If the format being queried supportsFORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR
it must also supportFORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR
.FORMAT_FEATURE_2_DISJOINT_BIT_KHR
specifies that a multi-planar image can have theIMAGE_CREATE_DISJOINT_BIT
set during image creation. An implementation must not setFORMAT_FEATURE_2_DISJOINT_BIT_KHR
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 numeric type other than*UINT
, or set it as a buffer feature.FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR
specifies that image views created with this format can be used as storage images for read operations without specifying a format.FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR
specifies that image views created with this format can be used as storage images for write operations without specifying a format.FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR
specifies that image views created with this format can be used for depth comparison performed byOpImage*Dref
instructions.
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_KHR
specifies that the format can be used to create a buffer view that can be bound to aDESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER
descriptor.FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR
specifies that the format can be used to create a buffer view that can be bound to aDESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER
descriptor.FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR
specifies that atomic operations are supported onDESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER
with this format.FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR
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.