2017-07-12 00:57:41 +00:00
|
|
|
// 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/
|
|
|
|
|
Change log for September 5, 2017 Vulkan 1.0.60 spec update:
* Bump API patch number and header version number to 60 for this update.
Github Issues:
* Document that <<queries-timestamps, Timestamp Queries>> can only be
meaningfully compared when they are written from the same queue (public
issue 216).
* Document that the `<extension>` tag `type` attribute is required for
non-disabled extensions (derived from, but does not close public issue
354).
* Clean up registry schema length attribute descriptions to be consistent
and correct (public issue 555).
Internal Issues:
* Replace as much of the hand-written extension appendix metadata as
possible with asciidoc includes generated from corresponding attributes
of +vk.xml+, and enhance the style guide to match. This avoids
inconsistencies between +vk.xml+ and the appendices, and produces a more
uniform style (internal issue 137).
* Remove the generated extDependency.{py,sh} files from the tree and
create them dynamically on demand instead, reducing merge conflicts
(internal issue 713).
* Add a prototype tool for generating in-place difference markup for
sections guarded by asciidoc conditionals, and new syntax for open
blocks to support it (internal issue 833).
* Remove unnecessary restriction of etext:*SYNC_FD_BIT_KHR external handle
types to the same physical device in the
slink:VkPhysicalDeviceIDPropertiesKHR,
flink:VkImportMemoryWin32HandleInfoKHR,
slink:VkImportFenceWin32HandleInfoKHR, slink:VkImportFenceFdInfoKHR,
slink:VkImportSemaphoreWin32HandleInfoKHR,
slink:VkImportSemaphoreFdInfoKHR
<<external-memory-handle-types-compatibility, External memory handle
types compatibility>>, <<external-semaphore-handle-types-compatibility,
External semaphore handle types compatibility>>, and
<<external-fence-handle-types-compatibility, External fence handle types
compatibility>> sections (internal issue 956).
Other Issues:
* Remove dependency of +VK_KHX_device_group+ on +VK_KHR_swapchain+ (there
is an interaction, but not a strict dependency), and add a new
`extension` attribute to the `<require` XML tag to allow classifying a
subset of interfaces of an extension as requiring another extension.
Update the registry schema and documentation accordingly.
New Extensions:
* `VK_AMD_shader_fragment_mask` (and related `GL_AMD_shader_fragment_mask`
GLSL extension)
* `VK_EXT_sample_locations`
* `VK_EXT_validation_cache`
2017-09-04 10:06:55 +00:00
|
|
|
include::meta/VK_KHR_external_fence_win32.txt[]
|
2017-07-12 00:57:41 +00:00
|
|
|
|
|
|
|
*Last Modified Date*::
|
|
|
|
2017-05-08
|
|
|
|
*IP Status*::
|
|
|
|
No known IP claims.
|
|
|
|
*Contributors*::
|
|
|
|
- Jesse Hall, Google
|
|
|
|
- James Jones, NVIDIA
|
|
|
|
- Jeff Juliano, NVIDIA
|
|
|
|
- Cass Everitt, Oculus
|
|
|
|
- Contributors to
|
|
|
|
<<VK_KHR_external_semaphore_win32,VK_KHR_external_semaphore_win32>>
|
|
|
|
|
|
|
|
An application using external memory may wish to synchronize access to that
|
|
|
|
memory using fences.
|
|
|
|
This extension enables an application to export fence payload to and import
|
|
|
|
fence payload from Windows handles.
|
|
|
|
|
|
|
|
=== New Object Types
|
|
|
|
|
|
|
|
None.
|
|
|
|
|
|
|
|
=== New Enum Constants
|
|
|
|
|
|
|
|
* ename:VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR
|
|
|
|
* ename:VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR
|
|
|
|
* ename:VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR
|
|
|
|
|
|
|
|
=== New Enums
|
|
|
|
|
|
|
|
None.
|
|
|
|
|
|
|
|
=== New Structs
|
|
|
|
|
|
|
|
* slink:VkImportFenceWin32HandleInfoKHR
|
|
|
|
* slink:VkExportFenceWin32HandleInfoKHR
|
|
|
|
* slink:VkFenceGetWin32HandleInfoKHR
|
|
|
|
|
|
|
|
=== New Functions
|
|
|
|
|
|
|
|
* flink:vkImportFenceWin32HandleKHR
|
|
|
|
* flink:vkGetFenceWin32HandleKHR
|
|
|
|
|
|
|
|
=== Issues
|
|
|
|
|
|
|
|
This extension borrows concepts, semantics, and language from
|
|
|
|
<<VK_KHR_external_semaphore_win32,VK_KHR_external_semaphore_win32>>.
|
|
|
|
That extension's issues apply equally to this extension.
|
|
|
|
|
|
|
|
1) Should D3D12 fence handle types be supported, like they are for
|
|
|
|
semaphores?
|
|
|
|
|
|
|
|
*RESOLVED*: No.
|
|
|
|
Doing so would require extending the fence signal and wait operations to
|
|
|
|
provide values to signal / wait for, like sname:VkD3D12FenceSubmitInfoKHR
|
|
|
|
does.
|
|
|
|
A D3D12 fence can be signaled by importing it into a elink:VkSemaphore
|
|
|
|
instead of a elink:VkFence, and applications can check status or wait on the
|
|
|
|
D3D12 fence using non-Vulkan APIs.
|
|
|
|
The convenience of being able to do these operations on sname:VkFence
|
|
|
|
objects doesn't justify the extra API complexity.
|