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