mirror of
https://github.com/status-im/Vulkan-Docs.git
synced 2025-02-04 18:43:56 +00:00
64fa8ef4df
* 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`
107 lines
3.5 KiB
Plaintext
107 lines
3.5 KiB
Plaintext
// Copyright (c) 2014-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_wayland_surface.txt[]
|
|
|
|
*Last Modified Date*::
|
|
2015-11-28
|
|
*IP Status*::
|
|
No known IP claims.
|
|
*Contributors*::
|
|
- Patrick Doane, Blizzard
|
|
- Jason Ekstrand, Intel
|
|
- Ian Elliott, LunarG
|
|
- Courtney Goeltzenleuchter, LunarG
|
|
- Jesse Hall, Google
|
|
- James Jones, NVIDIA
|
|
- Antoine Labour, Google
|
|
- Jon Leech, Khronos
|
|
- David Mao, AMD
|
|
- Norbert Nopper, Freescale
|
|
- Alon Or-bach, Samsung
|
|
- Daniel Rakos, AMD
|
|
- Graham Sellers, AMD
|
|
- Ray Smith, ARM
|
|
- Jeff Vigil, Qualcomm
|
|
- Chia-I Wu, LunarG
|
|
|
|
The +VK_KHR_wayland_surface+ extension is an instance extension.
|
|
It provides a mechanism to create a slink:VkSurfaceKHR object (defined by
|
|
the +VK_KHR_surface+ extension) that refers to a Wayland code:wl_surface, as
|
|
well as a query to determine support for rendering to a Wayland compositor.
|
|
|
|
=== New Object Types
|
|
|
|
None
|
|
|
|
=== New Enum Constants
|
|
|
|
* Extending elink:VkStructureType:
|
|
** ename:VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR
|
|
|
|
=== New Enums
|
|
|
|
None
|
|
|
|
=== New Structures
|
|
|
|
* slink:VkWaylandSurfaceCreateInfoKHR
|
|
|
|
=== New Functions
|
|
|
|
* flink:vkCreateWaylandSurfaceKHR
|
|
* flink:vkGetPhysicalDeviceWaylandPresentationSupportKHR
|
|
|
|
=== Issues
|
|
|
|
1) Does Wayland need a way to query for compatibility between a particular
|
|
physical device and a specific Wayland display? This would be a more general
|
|
query than flink:vkGetPhysicalDeviceSurfaceSupportKHR: if the
|
|
Wayland-specific query returned ename:VK_TRUE for a (slink:VkPhysicalDevice,
|
|
`struct wl_display*`) pair, then the physical device could be assumed to
|
|
support presentation to any slink:VkSurfaceKHR for surfaces on the display.
|
|
|
|
*RESOLVED*: Yes.
|
|
flink:vkGetPhysicalDeviceWaylandPresentationSupportKHR was added to address
|
|
this issue.
|
|
|
|
2) Should we require surfaces created with flink:vkCreateWaylandSurfaceKHR
|
|
to support the ename:VK_PRESENT_MODE_MAILBOX_KHR present mode?
|
|
|
|
*RESOLVED*: Yes.
|
|
Wayland is an inherently mailbox window system and mailbox support is
|
|
required for some Wayland compositor interactions to work as expected.
|
|
While handling these interactions may be possible with
|
|
ename:VK_PRESENT_MODE_FIFO_KHR, it is much more difficult to do without
|
|
deadlock and requiring all Wayland applications to be able to support
|
|
implementations which only support ename:VK_PRESENT_MODE_FIFO_KHR would be
|
|
an onerous restriction on application developers.
|
|
|
|
=== Version History
|
|
|
|
* Revision 1, 2015-09-23 (Jesse Hall)
|
|
- Initial draft, based on the previous contents of VK_EXT_KHR_swapchain
|
|
(later renamed VK_EXT_KHR_surface).
|
|
|
|
* Revision 2, 2015-10-02 (James Jones)
|
|
- Added vkGetPhysicalDeviceWaylandPresentationSupportKHR() to resolve
|
|
issue #1.
|
|
- Adjusted wording of issue #1 to match the agreed-upon solution.
|
|
- Renamed "window" parameters to "surface" to match Wayland conventions.
|
|
|
|
* Revision 3, 2015-10-26 (Ian Elliott)
|
|
- Renamed from VK_EXT_KHR_wayland_surface to VK_KHR_wayland_surface.
|
|
|
|
* Revision 4, 2015-11-03 (Daniel Rakos)
|
|
- Added allocation callbacks to vkCreateWaylandSurfaceKHR.
|
|
|
|
* Revision 5, 2015-11-28 (Daniel Rakos)
|
|
- Updated the surface create function to take a pCreateInfo structure.
|
|
|
|
* Revision 6, 2017-02-08 (Jason Ekstrand)
|
|
- Added the requirement that implementations support
|
|
ename:VK_PRESENT_MODE_MAILBOX_KHR.
|
|
- Added wording about interactions between flink:vkQueuePresentKHR and
|
|
the Wayland requests sent to the compositor.
|