• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright (c) 2020,2023 Qualcomm Technologies, Inc.
2//
3// SPDX-License-Identifier: CC-BY-4.0
4
5include::{generated}/meta/{refprefix}VK_QCOM_rotated_copy_commands.adoc[]
6
7=== Other Extension Metadata
8
9*Last Modified Date*::
10    2023-12-13
11*Interactions and External Dependencies*::
12  - This extension interacts with `apiext:VK_KHR_swapchain`
13  - This extension interacts with `apiext:VK_KHR_surface`
14*Contributors*::
15  - Jeff Leger, Qualcomm Technologies, Inc.
16  - Matthew Netsch, Qualcomm Technologies, Inc.
17
18=== Description
19
20This extension extends adds an optional rotation transform to copy commands
21flink:vkCmdBlitImage2KHR, flink:vkCmdCopyImageToBuffer2KHR and
22flink:vkCmdCopyBufferToImage2KHR.
23When copying between two resources, where one resource contains rotated
24content and the other does not, a rotated copy may be desired.
25This extension may be used in combination with VK_QCOM_render_pass_transform
26which adds rotated render passes.
27
28This extension adds an extension structure to the following commands:
29vkCmdBlitImage2KHR, vkCmdCopyImageToBuffer2KHR and
30vkCmdCopyBufferToImage2KHR
31
32
33=== Issues
34
351) What is an appropriate name for the added extension structure? The style
36guide says "`Structures which extend other structures through the
37pname:pNext chain should reflect the name of the base structure they
38extend.`", but in this case a single extension structure is used to extend
39three base structures (vkCmdBlitImage2KHR, vkCmdCopyImageToBuffer2KHR and
40vkCmdCopyBufferToImage2KHR).
41Creating three identical structures with unique names seemed undesirable.
42
43*RESOLVED*: Deviate from the style guide for extension structure naming.
44
45
462) Should this extension add a rotation capability to vkCmdCopyImage2KHR?
47
48*RESOLVED*: No.
49Use of rotated vkCmdBlitImage2KHR can fully address this use case.
50
513) Should this extension add a rotation capability to vkCmdResolveImage2KHR?
52
53*RESOLVED* No.
54Use of vkCmdResolveImage2KHR is very slow and extremely bandwidth intensive
55on Qualcomm's GPU architecture and use of pResolveAttachments in
56vkRenderPass is the strongly preferred approach.
57Therefore, we choose not to introduce a rotation capability to
58vkCmdResolveImage2KHR.
59
60include::{generated}/interfaces/VK_QCOM_rotated_copy_commands.adoc[]
61
62=== Version History
63
64  * Revision 1, 2020-09-19 (Jeff Leger)
65  * Revision 2, 2023-12-13 (Matthew Netsch)
66  ** Relax dependency on VK_KHR_swapchain
67