107 lines
3.5 KiB
Plaintext
107 lines
3.5 KiB
Plaintext
// Copyright (c) 2016-2018 Khronos Group. This work is licensed under a
|
|
// Creative Commons Attribution 4.0 International License; see
|
|
// http://creativecommons.org/licenses/by/4.0/
|
|
|
|
include::meta/VK_KHR_maintenance1.txt[]
|
|
|
|
*Last Modified Date*::
|
|
2018-03-13
|
|
*Interactions and External Dependencies*::
|
|
- Promoted to Vulkan 1.1 Core
|
|
*Contributors*::
|
|
- Dan Ginsburg, Valve
|
|
- Daniel Koch, NVIDIA
|
|
- Daniel Rakos, AMD
|
|
- Jan-Harald Fredriksen, ARM
|
|
- Jason Ekstrand, Intel
|
|
- Jeff Bolz, NVIDIA
|
|
- Jesse Hall, Google
|
|
- John Kessenich, Google
|
|
- Michael Worcester, Imagination Technologies
|
|
- Neil Henning, Codeplay Software Ltd.
|
|
- Piers Daniell, NVIDIA
|
|
- Slawomir Grajewski, Intel
|
|
- Tobias Hector, Imagination Technologies
|
|
- Tom Olson, ARM
|
|
|
|
`VK_KHR_maintenance1` adds a collection of minor features that were
|
|
intentionally left out or overlooked from the original Vulkan 1.0 release.
|
|
|
|
The new features are as follows:
|
|
|
|
* Allow 2D and 2D array image views to be created from 3D images, which
|
|
can then be used as color framebuffer attachments.
|
|
This allows applications to render to slices of a 3D image.
|
|
* Support flink:vkCmdCopyImage between 2D array layers and 3D slices.
|
|
This extension allows copying from layers of a 2D array image to slices
|
|
of a 3D image and vice versa.
|
|
* Allow negative height to be specified in the
|
|
slink:VkViewport::pname:height field to perform y-inversion of the
|
|
clip-space to framebuffer-space transform.
|
|
This allows apps to avoid having to use `gl_Position.y = -gl_Position.y`
|
|
in shaders also targeting other APIs.
|
|
* Allow implementations to express support for doing just transfers and
|
|
clears of image formats that they otherwise support no other format
|
|
features for.
|
|
This is done by adding new format feature flags
|
|
ename:VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR and
|
|
ename:VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR.
|
|
* Support flink:vkCmdFillBuffer on transfer-only queues.
|
|
Previously flink:vkCmdFillBuffer was defined to only work on command
|
|
buffers allocated from command pools which support graphics or compute
|
|
queues.
|
|
It is now allowed on queues that just support transfer operations.
|
|
* Fix the inconsistency of how error conditions are returned between the
|
|
flink:vkCreateGraphicsPipelines and flink:vkCreateComputePipelines
|
|
functions and the flink:vkAllocateDescriptorSets and
|
|
flink:vkAllocateCommandBuffers functions.
|
|
* Add new ename:VK_ERROR_OUT_OF_POOL_MEMORY_KHR error so implementations
|
|
can give a more precise reason for flink:vkAllocateDescriptorSets
|
|
failures.
|
|
* Add a new command flink:vkTrimCommandPoolKHR which gives the
|
|
implementation an opportunity to release any unused command pool memory
|
|
back to the system.
|
|
|
|
=== New Object Types
|
|
|
|
None.
|
|
|
|
=== New Enum Constants
|
|
|
|
* ename:VK_ERROR_OUT_OF_POOL_MEMORY_KHR
|
|
* ename:VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
|
|
* ename:VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR
|
|
* ename:VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR
|
|
|
|
=== New Enums
|
|
|
|
None.
|
|
|
|
=== New Structures
|
|
|
|
None.
|
|
|
|
=== New Functions
|
|
|
|
* flink:vkTrimCommandPoolKHR
|
|
|
|
=== Promotion to Vulkan 1.1
|
|
|
|
All functionality in this extension is included in core Vulkan 1.1, with the
|
|
KHR suffix omitted.
|
|
The original type, enum and command names are still available as aliases of
|
|
the core functionality.
|
|
|
|
=== Issues
|
|
|
|
. Are viewports with zero height allowed?
|
|
+
|
|
*RESOLVED*: Yes, although they have low utility.
|
|
|
|
=== Version History
|
|
|
|
* Revision 1, 2016-10-26 (Piers Daniell)
|
|
- Internal revisions
|
|
* Revision 2, 2018-03-13 (Jon Leech)
|
|
- Add issue for zero-height viewports
|