VK_NN_vi_surface

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 VkSurfaceKHR object (defined by the VK_KHR_surface extension) associated with an nn::vi::Layer.

New Commands

New Structures

New Bitmasks

New Enum Constants

  • VK_NN_VI_SURFACE_EXTENSION_NAME
  • VK_NN_VI_SURFACE_SPEC_VERSION
  • Extending VkStructureType:
    • VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN

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) VkViSurfaceCreateInfoNN::pWindow is intended to store an nn::vi::NativeWindowHandle, but its declared type is a bare 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.