/ appendices / VK_NN_vi_surface.txt
VK_NN_vi_surface.txt
 1  include::meta/VK_NN_vi_surface.txt[]
 2  
 3  *Last Modified Date*::
 4      2016-12-02
 5  *IP Status*::
 6      No known IP claims.
 7  *Contributors*::
 8    - Mathias Heyer, NVIDIA
 9    - Michael Chock, NVIDIA
10    - Yasuhiro Yoshioka, Nintendo
11    - Daniel Koch, NVIDIA
12  
13  The `VK_NN_vi_surface` extension is an instance extension.
14  It provides a mechanism to create a slink:VkSurfaceKHR object (defined by
15  the `<<VK_KHR_surface>>` extension) associated with an
16  code:nn::code:vi::code:Layer.
17  
18  === New Object Types
19  
20  None
21  
22  === New Enum Constants
23  
24    * Extending elink:VkStructureType:
25    ** ename:VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN
26  
27  === New Enums
28  
29  None
30  
31  === New Structures
32  
33    * slink:VkViSurfaceCreateInfoNN
34  
35  === New Functions
36  
37    * flink:vkCreateViSurfaceNN
38  
39  === Issues
40  
41  1) Does VI need a way to query for compatibility between a particular
42  physical device (and queue family?) and a specific VI display?
43  
44  *RESOLVED*: No.
45  It is currently always assumed that the device and display will always be
46  compatible.
47  
48  2) slink:VkViSurfaceCreateInfoNN::pname:pWindow is intended to store an
49  code:nn::code:vi::code:NativeWindowHandle, but its declared type is a bare
50  code:void* to store the window handle.
51  Why the discrepancy?
52  
53  *RESOLVED*: It is for C compatibility.
54  The definition for the VI native window handle type is defined inside the
55  code:nn::code:vi C++ namespace.
56  This prevents its use in C source files.
57  code:nn::code:vi::code:NativeWindowHandle is always defined to be
58  code:void*, so this extension uses code:void* to match.
59  
60  === Version History
61  
62   * Revision 1, 2016-12-2 (Michael Chock)
63     - Initial draft.