Vulkan-Docs/doc/specs/vulkan/appendices/VK_NN_vi_surface.txt
Jon Leech 1d67e47f14 Change log for June 4, 2017 Vulkan 1.0.51 spec update:
* Bump API patch number and header version number to 51 for this update.

Github Issues:

  * Add Valid Usage statement to flink:vkCmdResolveImage to require that
    source and destination image formats match (public issue 492).
  * Specify that a code:char* parameter must: be a valid null-terminated
    string in the <<fundamentals-implicit-validity, implicit valid usage>>
    section (public issue 494).
  * Removed unnecessary VU for slink:VkPhysicalDeviceFeatures which is
    covered by ename:VK_ERROR_FEATURE_NOT_PRESENT already (public issue
    496).
  * Clarify valid usage of pname:pQueueFamilyIndices in
    slink:VkBufferCreateInfo, slink:VkImageCreateInfo, and
    slink:VkSwapchainCreateInfoKHR (public issue 501).
  * Document that dependencies of enabled extensions must also be enabled in
    the <<extended-functionality-extensions-dependencies, Extension
    Dependencies>> section (public issue 507).

Internal Issues:

  * Change slink:VkMappedMemoryRange valid usage to allow pname:offset +
    pname:size == size of the allocation. Also, if ename:VK_WHOLE_SIZE is
    used, require the end of the mapping to be aligned to a multiple of
    pname:nonCoherentAtomSize (internal issue 611).
  * Add issue to `VK_KHR_win32_surface` about reusing window objects from a
    different graphics API or Vulkan ICD (internal issue 639).
  * Require locations on user in/out in `GL_KHR_vulkan_glsl` (internal issue
    783).
  * Added version info to the json validation output, and updated the schema
    to match (internal issue 838).
  * Restructure enumerated type descriptions separately from the command or
    structure they are used in, allowing better reference page generation
    (internal issue 841).
  * Re-sort extension appendices to be in alphabetical order within each
    author ID section.
  * Fix enum naming and clarify behavior for
    `VK_NVX_device_generated_commands` extension.

New Extensions:
2017-06-04 20:48:43 -07:00

78 lines
1.8 KiB
Plaintext

[[VK_NN_vi_surface]]
== VK_NN_vi_surface
*Name String*::
+VK_NN_vi_surface+
*Extension Type*::
Instance extension
*Registered Extension Number*::
63
*Last Modified Date*::
2016-12-2
*Revision*::
1
*IP Status*::
No known IP claims.
*Dependencies*::
- This extension is written against version 1.0 of the Vulkan API.
- Requires +VK_KHR_surface+.
*Contributors*::
- Mathias Heyer, NVIDIA
- Michael Chock, NVIDIA
- Yasuhiro Yoshioka, Nintendo
- Daniel Koch, NVIDIA
*Contacts*::
- Mathias Heyer, NVIDIA
The +VK_NN_vi_surface+ extension is an instance extension.
It provides a mechanism to create a slink:VkSurfaceKHR object (defined by
the +VK_KHR_surface+ extension) associated with an
code:nn::code:vi::code:Layer.
=== New Object Types
None
=== New Enum Constants
* Extending elink:VkStructureType:
** ename:VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN
=== New Enums
None
=== New Structures
* slink:VkViSurfaceCreateInfoNN
=== New Functions
* flink:vkCreateViSurfaceNN
=== Issues
1) Does VI need a way to query for compatibility between a particular
physical device (and queue family?) and a specific VI display?
*RESOLVED*: No.
It is currently always assumed that the device and display will always be
compatible.
2) slink:VkViSurfaceCreateInfoNN::pname:pWindow is intended to store an
code:nn::code:vi::code:NativeWindowHandle, but its declared type is a bare
code:void* to store the window handle.
Why the discrepancy?
*RESOLVED*: It is for C compatibility.
The definition for the VI native window handle type is defined inside the
nn::vi C++ namespace.
This prevents its use in C source files.
nn::vi::NativeWindowHandle is always defined to be void*, so this
extension uses void* to match.
=== Version History
* Revision 1, 2016-12-2 (Michael Chock)
- Initial draft.