mirror of
https://github.com/status-im/Vulkan-Docs.git
synced 2025-02-19 09:47:19 +00:00
* First public update for Vulkan 1.1. Github Issues: * Refer to standard sparse image block shape format tables explicitly in the <<sparsememory-standard-shapes, Standard Sparse Image Block Shapes>> section (public issue 93). * Add the missing definition of the code:LocalInvocationIndex decoration in the <<interfaces-builtin-variables, Built-In Variables>> section (public issue 532). * Clarify dynamic state definition in the introduction to the <<pipelines, Pipelines>> section and the new <<pipelines-dynamic-state, Dynamic State>> subsection (public issue 620). * Clarified deprecation statement in the `VK_AMD_negative_viewport_height` appendix (public issue 674). * Fix parameter descriptions for flink:vkCreateIndirectCommandsLayoutNVX (public issue 677). Internal Issues: * Remove description of <<primsrast-points, rasterization point size>> being taken from the tessellation control shader, since there are no circumstances under which you can have TCS without TES (internal issue 522). * Define <<copies-images-format-size-compatibility, _size-compatible_ image formats>> for flink:vkCmdCopyImage, add it to the glossary, and use that definition for slink:VkImageViewCreateInfo (internal issue 771). * Change brief descriptions of enumerant names, and of parameters which are enumerants, from "`enum *indicates*`" to "`enum *specifies*`" for consistency, and add a markup style guide rule (internal issue 862). * Clarify how execution dependencies interact with <<synchronization-submission-order, submission order>> at numerous places in the <<renderpass, Render Pass>> and <<synchronization, Synchronization>> chapters (internal issue 1062). * Clarify statement in the <<interfaces-resources-setandbinding, DescriptorSet and Binding Assignment>> section that only interface variables statically used by the entry point used in a pipeline must be present in the descriptor set layout (internal issue 1172). * Flip sparse image diagrams with partially full mip levels vertically, to match graph origins of other image diagrams (internal issue 1176). * Update new SVG diagrams to have consistent style and base font size, increase consistency of primitive topology diagrams, and add a section to the style guide on creating and editing images in a consistent style (internal issue 1177). * Resolve problems with valid usage statement extraction by fixing existing VUID tags for interfaces promoted to version 1.1 and fixing conditional directives around VUID-VkMemoryDedicatedAllocateInfo-image-01797 (internal issue 1184). * Strip `KHR` suffixes from a few interfaces promoted to Vulkan 1.1 that were missed previously (internal issue 1185). * Restrict code:OpImageQuerySizeLod and code:OpImageQueryLevels to only work on code:Image operands with their code:Sampled operand set to 1. In other words, these operations are not defined to work with storage images (internal issue 1193). * Recycle extension slot for extension #82 in `vk.xml`. This extension was never published (internal issue 1195). * Add an issue to the `VK_KHR_maintenance1` appendix noting that zero height viewports are allowed when this extension is enabled (internal issue 1202). * Fix slink:VkDescriptorSetLayoutBinding description so that shader stages always use descriptor bindings, not the other way around (internal issue 1206). * Fix field name for slink:VkInputAttachmentAspectReference::pname:inputAttachmentIndex (internal issue 1210). Other Issues: * Fix a few broken links in the <<versions-1.1, Version 1.1>> appendix. * Replace a few old refBegin/refEnd tags with open block markup around interfaces, and remove old KHX VUID tags that were breaking the valid usage statement extraction. * Fix error codes accidentally tagged as success codes in `vk.xml` for flink:vkGetSwapchainCounterEXT. * Added valid usage statements for ftext:vkBind*Memory2 input structures stext:VkBind*MemoryInfo, and fix a pname:image -> pname:buffer typo in a couple of places. * Fix swapped descriptions of elink:VkDescriptorType enums ename:VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE and ename:VK_DESCRIPTOR_TYPE_STORAGE_IMAGE (reported via tweet). New Extensions: * `VK_ANDROID_external_memory_android_hardware_buffer`
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
|