109 lines
3.3 KiB
Plaintext
109 lines
3.3 KiB
Plaintext
|
// Copyright (c) 2016-2017 The Khronos Group Inc.
|
||
|
// Copyright notice at https://www.khronos.org/registry/speccopyright.html
|
||
|
|
||
|
[[VK_KHR_maintenance1]]
|
||
|
== VK_KHR_maintenance1
|
||
|
|
||
|
*Name String*::
|
||
|
+VK_KHR_maintenance1+
|
||
|
*Extension Type*::
|
||
|
Device extension
|
||
|
*Registered Extension Number*::
|
||
|
70
|
||
|
*Status*::
|
||
|
Draft
|
||
|
*Last Modified Date*::
|
||
|
2016-10-26
|
||
|
*Revision*::
|
||
|
1
|
||
|
*Dependencies*::
|
||
|
- This extension is written against version 1.0 of the Vulkan API.
|
||
|
*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
|
||
|
*Contacts*::
|
||
|
- Piers Daniell (pdaniell 'at' nvidia.com)
|
||
|
*Overview*::
|
||
|
|
||
|
+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
|
||
|
|
||
|
=== Issues
|
||
|
|
||
|
None.
|
||
|
|
||
|
=== Version History
|
||
|
|
||
|
* Revision 1, 2016-10-26 (Piers Daniell)
|
||
|
- Internal revisions
|