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

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

Modulevulkan-3.27GHC2021

Vulkan.Extensions.VK_QCOM_rotated_copy_commands

Name

VK_QCOM_rotated_copy_commands - device extension

VK_QCOM_rotated_copy_commands

Name String

VK_QCOM_rotated_copy_commands

Extension Type

Device extension

Registered Extension Number

334

Revision

2

Ratification Status

Not ratified

Extension and Version Dependencies

VK_KHR_copy_commands2

or

Vulkan Version 1.3

Contact

Other Extension Metadata

Last Modified Date

2023-12-13

Interactions and External Dependencies
  • This extension interacts with VK_KHR_swapchain

  • This extension interacts with VK_KHR_surface

Contributors
  • Jeff Leger, Qualcomm Technologies, Inc.

  • Matthew Netsch, Qualcomm Technologies, Inc.

Description

This extension extends adds an optional rotation transform to copy commands cmdBlitImage2KHR, cmdCopyImageToBuffer2KHR and cmdCopyBufferToImage2KHR. When copying between two resources, where one resource contains rotated content and the other does not, a rotated copy may be desired. This extension may be used in combination with VK_QCOM_render_pass_transform which adds rotated render passes.

This extension adds an extension structure to the commands cmdBlitImage2KHR, cmdCopyImageToBuffer2KHR, and cmdCopyBufferToImage2KHR

Issues

1) What is an appropriate name for the added extension structure? The style guide says “Structures which extend other structures through the pNext chain should reflect the name of the base structure they extend.”, but in this case a single extension structure is used to extend three base structures (vkCmdBlitImage2KHR, vkCmdCopyImageToBuffer2KHR, and vkCmdCopyBufferToImage2KHR). Creating three identical structures with unique names seemed undesirable.

RESOLVED: Deviate from the style guide for extension structure naming.

2) Should this extension add a rotation capability to vkCmdCopyImage2KHR?

RESOLVED: No. Use of rotated vkCmdBlitImage2KHR can fully address this use case.

3) Should this extension add a rotation capability to vkCmdResolveImage2KHR?

RESOLVED No. Use of vkCmdResolveImage2KHR is very slow and extremely bandwidth intensive on Qualcomm’s GPU architecture and use of pResolveAttachments in vkRenderPass is the strongly preferred approach. Therefore, we choose not to introduce a rotation capability to vkCmdResolveImage2KHR.

New Structures

New Enum Constants

Version History

  • Revision 1, 2020-09-19 (Jeff Leger)

  • Revision 2, 2023-12-13 (Matthew Netsch)

    • Relax dependency on VK_KHR_swapchain

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.

  • 5 types
  • Packagevulkan-3.27
  • Exports16
  • LanguageGHC2021
  • LicenceBSD-3-Clause
  • SourceVK_QCOM_rotated_copy_commands.hs

VkCopyCommandTransformInfoQCOM - Structure describing transform parameters of rotated copy command

Description

Including this structure in the pNext chain of BufferImageCopy2 defines a rotation to be performed when copying between an image and a buffer. Including this structure in the pNext chain of BlitImageInfo2 defines a rotation to be performed when blitting between two images. If this structure is not specified in either case, the implementation behaves as if it was specified with a transform equal to SURFACE_TRANSFORM_IDENTITY_BIT_KHR.

Specifying a transform for a copy between an image and a buffer rotates the region accessed in the image around the offset. Specifying a transform for a blit performs a similar transform as described in Image Blits with Scaling and Rotation.

Rotations other than SURFACE_TRANSFORM_IDENTITY_BIT_KHR can only be specified for single-plane 2D images with a 1x1x1 texel block extent.

Structure Chaining

Extends the structures

See Also

VK_QCOM_rotated_copy_commands, StructureType, SurfaceTransformFlagBitsKHR

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero
newtypenewtype SurfaceTransformFlagBitsKHR
#

VkSurfaceTransformFlagBitsKHR - Presentation transforms supported on a device

Description

See Also

VK_KHR_surface, CommandBufferInheritanceRenderPassTransformInfoQCOM, CopyCommandTransformInfoQCOM, DisplaySurfaceCreateInfoKHR, RenderPassTransformBeginInfoQCOM, SurfaceCapabilities2EXT, SurfaceCapabilitiesKHR, SurfaceTransformFlagsKHR, SwapchainCreateInfoKHR

Instances8Eq, Ord, Read, Show, Bits, FiniteBits, …