/ 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.