VK_QCOM_rotated_copy_commands(3)

# VK_QCOM_rotated_copy_commands(3) Manual Page

## Name

VK_QCOM_rotated_copy_commands - device extension

Loading… please wait.

## Registered Extension Number

334

## Revision

1

## Extension and Version Dependencies

- Requires support for Vulkan 1.0

- Requires `VK_KHR_swapchain` to be enabled for any device-level functionality

- Requires `VK_KHR_copy_commands2` to be enabled for any device-level functionality

## Contact

- Jeff Leger jackohound

## Other Extension Metadata

Last Modified Date

  2020-09-18

Interactions and External Dependencies

  - None

Contributors

  - Jeff Leger, Qualcomm Technologies, Inc.

## Description

This extension extends adds an optional rotation transform to copy commands vkCmdBlitImage2KHR, vkCmdCopyImageToBuffer2KHR and vkCmdCopyBufferToImage2KHR. 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 following commands: vkCmdBlitImage2KHR, vkCmdCopyImageToBuffer2KHR and vkCmdCopyBufferToImage2KHR

## 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

- Extending VkBufferImageCopy2, VkImageBlit2:

  - VkCopyCommandTransformInfoQCOM

## New Enum Constants

- `VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME`

- `VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION`

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM`

## Version History

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

## See Also

VkCopyCommandTransformInfoQCOM

## 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.

## Copyright

Copyright 2014-2022 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0