| // Copyright (c) 2016-2020 Nintendo |
| // |
| // SPDX-License-Identifier: CC-BY-4.0 |
| |
| include::{generated}/meta/{refprefix}VK_NN_vi_surface.txt[] |
| |
| === Other Extension Metadata |
| |
| *Last Modified Date*:: |
| 2016-12-02 |
| *IP Status*:: |
| No known IP claims. |
| *Contributors*:: |
| - Mathias Heyer, NVIDIA |
| - Michael Chock, NVIDIA |
| - Yasuhiro Yoshioka, Nintendo |
| - Daniel Koch, NVIDIA |
| |
| === Description |
| |
| The `VK_NN_vi_surface` extension is an instance extension. |
| It provides a mechanism to create a slink:VkSurfaceKHR object (defined by |
| the `apiext:VK_KHR_surface` extension) associated with an |
| code:nn::code:vi::code:Layer. |
| |
| include::{generated}/interfaces/VK_NN_vi_surface.txt[] |
| |
| === 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 |
| code:nn::code:vi C++ namespace. |
| This prevents its use in C source files. |
| code:nn::code:vi::code:NativeWindowHandle is always defined to be |
| code:void*, so this extension uses code:void* to match. |
| |
| === Version History |
| |
| * Revision 1, 2016-12-2 (Michael Chock) |
| - Initial draft. |