mirror of
https://github.com/status-im/Vulkan-Docs.git
synced 2025-02-25 12:35:11 +00:00
* Update release number to 121. Github Issues: * Add missing `structextends` attribute in `vk.xml` for slink:VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR (public issue 1018). * Change attributes of flink:vkCmdCopyAccelerationStructureNV, flink:vkCmdWriteAccelerationStructuresPropertiesNV, flink:vkCmdBuildAccelerationStructureNV, and flink:vkCmdTraceRaysNV to require that these commands execute outside renderpasses (public issue 1021). * Add an issue to the `<<VK_EXT_buffer_device_address>>` appendix discussing the introduction of new names and aliasing by equivalent old names (public pull request 1024). Internal Issues: * Protect the `VK_KHR_sampler_mirror_clamp_to_edge` extension with asciidoctor conditionals, and remove it from the core-only specification builds, where it had previously been force-included in the Makefile. It is now treated like any other extension (internal issue 1776). * Edit some asciidoctor anchor names starting with `features-features-` to just start with `features-`, since the old chapters was split into 3 pieces. There are still some mild naming inconsistencies with anchors which may be addressed in the future (internal issue 1792). * Add `KHR` alias for the non-suffixed extension token ename:VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE, for compatibility with naming rules for extensions (internal issue 1796). * Clarify requirements for external memory in NOTEs for sname:VkExternalMemoryBufferCreateInfo, and valid usage statements for flink:vkBindBufferMemory, slink:VkBindBufferMemoryInfo, flink:vkBindImageMemory, and slink:VkBindImageMemoryInfo (internal merge request 3301). * Make extension version numbers in `vk.xml` and extension appendices consistent. In a few cases, we could not recover history at this granularity, and left the summary of a version's change undefined (internal merge request 3323). * Fix invocation of `CodeInlineMacro` in the Ruby extension backing the `code:` macro, which was delegating to the wrong base class (internal merge request 3331). * Modify `reg.py` to do a better job of recognizing equivalent <enum> definitions. * Add a `sortorder` attribute to XML feature and extension tags. New Extensions * `<<VK_AMD_device_coherent_memory>>`
84 lines
2.4 KiB
Plaintext
84 lines
2.4 KiB
Plaintext
// Copyright (c) 2016-2019 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_external_semaphore.txt[]
|
|
|
|
*Last Modified Date*::
|
|
2016-10-21
|
|
*IP Status*::
|
|
No known IP claims.
|
|
*Interactions and External Dependencies*::
|
|
- Promoted to Vulkan 1.1 Core
|
|
*Contributors*::
|
|
- Jason Ekstrand, Intel
|
|
- Jesse Hall, Google
|
|
- Tobias Hector, Imagination Technologies
|
|
- James Jones, NVIDIA
|
|
- Jeff Juliano, NVIDIA
|
|
- Matthew Netsch, Qualcomm Technologies, Inc.
|
|
- Ray Smith, ARM
|
|
- Chad Versace, Google
|
|
|
|
An application using external memory may wish to synchronize access to that
|
|
memory using semaphores.
|
|
This extension enables an application to create semaphores from which
|
|
non-Vulkan handles that reference the underlying synchronization primitive
|
|
can be exported.
|
|
|
|
=== New Object Types
|
|
|
|
None.
|
|
|
|
=== New Enum Constants
|
|
|
|
* ename:VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR
|
|
* ename:VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR
|
|
|
|
=== New Enums
|
|
|
|
* elink:VkSemaphoreImportFlagBitsKHR
|
|
|
|
=== New Structs
|
|
|
|
* slink:VkExportSemaphoreCreateInfoKHR
|
|
|
|
=== New Functions
|
|
|
|
None.
|
|
|
|
=== 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
|
|
|
|
1) Should there be restrictions on what side effects can occur when waiting
|
|
on imported semaphores that are in an invalid state?
|
|
|
|
*RESOLVED*: Yes.
|
|
Normally, validating such state would be the responsibility of the
|
|
application, and the implementation would be free to enter an undefined:
|
|
state if valid usage rules were violated.
|
|
However, this could cause security concerns when using imported semaphores,
|
|
as it would require the importing application to trust the exporting
|
|
application to ensure the state is valid.
|
|
Requiring this level of trust is undesirable for many potential use cases.
|
|
|
|
2) Must implementations validate external handles the application provides
|
|
as input to semaphore state import operations?
|
|
|
|
*RESOLVED*: Implementations must return an error to the application if the
|
|
provided semaphore state handle cannot be used to complete the requested
|
|
import operation.
|
|
However, implementations need not validate handles are of the exact type
|
|
specified by the application.
|
|
|
|
=== Version History
|
|
|
|
* Revision 1, 2016-10-21 (James Jones)
|
|
- Initial revision
|