Vulkan-Docs/doc/specs/vulkan/appendices/VK_KHR_maintenance1.txt
Jon Leech 64fa8ef4df Change log for November 27, 2017 Vulkan 1.0.66 spec update:
* Bump API patch number and header version number to 66 for this update.

Github Issues:

  * Clarified how and when ename:VK_ERROR_TOO_MANY_OBJECTS is generated in
    flink:vkAllocate Memory, and remove incorrect valid usage statement
    about exceeding the API limit (public issue 356).
  * Minor clarification of the description of
    flink:vkUpdateDescriptorSetWithTemplateKHR::pname:descriptorUpdateTemplate
    (public issue 564).
  * Minor fixes for flink:vkCmdSetViewportWScalingNV (public pull request
    588).
  * Fix random name markup issues (public pull request 603).
  * Fix code:BuiltIn decoration typo in the <<fxvertex-attrib, Vertex
    Attributes>> section (public pull request 606).
  * Fix synchronization language following the definition of
    flink:vkAcquireNextImageKHR (public issue 607).
  * Restore descriptions of several commands and structures missing from the
    generated spec due to a mistyped asciidoctor conditional (public issue
    612).
  * Fix 1.0.41 changelog to refer to public issues 403/404 (public issue
    618).

Internal Issues:

  * Refactor valid usage statements with internal conditionals in
    `copies.txt`, `pipelines.txt`, `renderpass.txt`, and `resources.txt` so
    each branch of the conditional appears as a standalone statement which
    can contain a separate VUID. This should have no impact on the generated
    specs, but is necessary given the present state of the VU extractor and
    the validation layer code that consumes them (internal issue 1043).
  * Fix VkQueueGlobalPriorityEXT enum values missing _EXT suffix (internal
    issue 1045).
  * Clarified initial ownership of resources bound to shared memory objects,
    (internal issue 1068).
  * Fix duplicated valid usage ID tag for flink:vkCmdCopyImage, and make the
    required layouts include ename:VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIONAL in
    both cases (internal issue 1084).

Other Issues:

  * Remove the noise functions from GLSL for SPIR-V for Vulkan in the
    `GL_KHR_vulkan_glsl.txt` extension.

New Extensions:

  * `VK_EXT_external_memory_host`
  * `VK_EXT_external_memory_dma_buf`
  * `VK_EXT_queue_family_foreign`
2017-11-27 01:07:06 -08:00

94 lines
3.1 KiB
Plaintext

// Copyright (c) 2016-2017 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*::
2016-10-26
*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
=== Issues
None.
=== Version History
* Revision 1, 2016-10-26 (Piers Daniell)
- Internal revisions