HORIZON HASKELLDocslts/ghc-10.0.x8174fa42026-10-11Search names, modules, packages, or :: a typeCtrl K

GHC 10.0.0.20260917 · lts/ghc-10.0.x · 8174fa4 · 2026-10-11

Modulevulkan-3.27GHC2021

Vulkan.Extensions.VK_EXT_fragment_density_map_offset

Name

VK_EXT_fragment_density_map_offset - device extension

VK_EXT_fragment_density_map_offset

Name String

VK_EXT_fragment_density_map_offset

Extension Type

Device extension

Registered Extension Number

620

Revision

1

Ratification Status

Ratified

Extension and Version Dependencies

VK_KHR_get_physical_device_properties2      or

Vulkan Version 1.1 and VK_EXT_fragment_density_map and

VK_KHR_create_renderpass2      or

Vulkan Version 1.2 and

Vulkan Version 1.3      or

VK_KHR_dynamic_rendering

Contact
Extension Proposal

VK_EXT_fragment_density_map_offset

Other Extension Metadata

Last Modified Date

2025-02-14

Contributors
  • Connor Abbott, Valve Corporation

  • Matthew Netsch, Qualcomm Technologies, Inc.

  • Jonathan Wicks, Qualcomm Technologies, Inc.

  • Jonathan Tinkham, Qualcomm Technologies, Inc.

  • Jeff Leger, Qualcomm Technologies, Inc.

  • Manan Katwala, Qualcomm Technologies, Inc.

  • Mike Blumenkrantz, Valve Corporation

Description

This extension allows an application to specify offsets to a fragment density map attachment, changing the framebuffer location where density values are applied to without having to regenerate the fragment density map.

New Commands

New Structures

New Enum Constants

Version History

  • Revision 1, 2025-02-14 (Connor Abbott)

    • Initial version

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.

  • 7 types
  • 2 values
  • Packagevulkan-3.27
  • Exports12
  • LanguageGHC2021
  • LicenceBSD-3-Clause
  • SourceVK_EXT_fragment_density_map_offset.hs

VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT - Structure describing fragment density map offset features that can be supported by an implementation

Members

This structure describes the following feature:

Description

If the PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT 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. If the application wishes to use a Device with any features described by PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT, it must add an instance of the structure, with the desired feature members set to TRUE, to the pNext chain of DeviceCreateInfo when creating the Device.

Structure Chaining

Extends the structures

See Also

VK_EXT_fragment_density_map_offset, VK_QCOM_fragment_density_map_offset, Bool32, StructureType

Constructors

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero

VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT - Structure describing fragment density map offset properties that can be supported by an implementation

Description

If the PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT structure is included in the pNext chain of the PhysicalDeviceProperties2 structure passed to getPhysicalDeviceProperties2, it is filled in with each corresponding implementation-dependent property.

Structure Chaining

Extends the structure

See Also

VK_EXT_fragment_density_map_offset, VK_QCOM_fragment_density_map_offset, Extent2D, StructureType

Instances5Show, Storable, FromCStruct, ToCStruct, Zero

VkRenderPassFragmentDensityMapOffsetEndInfoEXT - Structure specifying fragment density map offset subpass end information

Description

The array elements are given per layer as defined by Fetch Density Value, where index = layer. Each (x,y) offset is in framebuffer pixels and shifts the fetch of the fragment density map by that amount. Offsets can be positive or negative.

If neither the SubpassEndInfo::pNext chain for the last subpass of a render pass nor the RenderingEndInfoEXT::pNext chain of a dynamic render pass include RenderPassFragmentDensityMapOffsetEndInfoEXT, or if fragmentDensityOffsetCount is zero, then the offset (0,0) is used for Fetch Density Value.

Valid Usage

  • If the fragmentDensityMapOffset feature is not enabled or fragment density map is not enabled in the render pass, fragmentDensityOffsetCount must equal 0

Valid Usage (Implicit)

  • If fragmentDensityOffsetCount is not 0, pFragmentDensityOffsets must be a valid pointer to an array of fragmentDensityOffsetCount Offset2D structures

Structure Chaining

Extends the structures

See Also

VK_EXT_fragment_density_map_offset, VK_QCOM_fragment_density_map_offset, Offset2D, StructureType

Constructors

Instances4Show, FromCStruct, ToCStruct, Zero
datadata RenderingEndInfoKHR (es :: [Type])
#

VkRenderingEndInfoKHR - Structure specifying render pass end information

Valid Usage (Implicit)

See Also

VK_EXT_fragment_density_map_offset, VK_KHR_maintenance10, StructureType, cmdEndRendering2KHR, cmdEndRendering2KHR

Constructors

Instances5Extensible, Show, FromCStruct, ToCStruct, Zero
valuecmdEndRendering2KHR
  1. :: (Extendss RenderingEndInfoKHR a, PokeChain a, MonadIO io)
  2. => CommandBuffer

    commandBuffer is the command buffer in which to record the command.

  3. -> "renderingEndInfo" ::: Maybe (RenderingEndInfoKHR a)

    pRenderingEndInfo is NULL or a pointer to a RenderingEndInfoKHR structure containing information about how the render pass will be ended.

  4. -> io ()
#

vkCmdEndRendering2KHR - End a dynamic render pass instance

Description

If the value of pRenderingInfo->flags used to begin this render pass instance included RENDERING_SUSPENDING_BIT, then this render pass is suspended and will be resumed later in submission order.

There is no implicit ordering between separate render passes, even in the same command buffer, and even when the attachments match. Some applications rely on the continuation of rasterization order between multiple render passes with attachments defined in the same way, in order to perform non-rendering operations (such as copies or compute operations) between draw calls, but this has never been required by the specification. There is also no explicit barrier currently in the API that provides the guarantee that applications rely on without additional performance penalties.

New applications should avoid relying on this ordering until an appropriate barrier is added to the API.

Implementations where applications are performing this splitting are encouraged to continue supporting this guarantee until a suitable barrier is added to the API.

Existing applications relying on this ordering should expect that it will continue working on platforms where it currently does. Once a new extension adds support for a new barrier, developers are encouraged to adapt their applications to use this when available.

Valid Usage

  • The current render pass instance must have been begun in commandBuffer

  • This command must not be recorded when transform feedback is active

  • If cmdBeginQuery* was called within the render pass, the corresponding cmdEndQuery* must have been called subsequently within the same subpass

Valid Usage (Implicit)

  • If pRenderingEndInfo is not NULL, pRenderingEndInfo must be a valid pointer to a valid RenderingEndInfoKHR structure

  • commandBuffer must be in the recording state

  • The CommandPool that commandBuffer was allocated from must support QUEUE_GRAPHICS_BIT operations

  • This command must only be called inside of a render pass instance

  • This command must not be called between suspended render pass instances

  • This command must only be called outside of a video coding scope

Host Synchronization

  • Host access to commandBuffer must be externally synchronized

  • Host access to the CommandPool that commandBuffer was allocated from must be externally synchronized

Command Properties

'

Command Buffer Levels

Render Pass Scope

Video Coding Scope

Supported Queue Types

Command Type

Primary Secondary

Inside

Outside

VK_QUEUE_GRAPHICS_BIT

Action State

Conditional Rendering

vkCmdEndRendering2KHR is not affected by conditional rendering

See Also

VK_EXT_fragment_density_map_offset, VK_KHR_maintenance10, CommandBuffer, RenderingEndInfoKHR