// Copyright (c) 2018-2021 NVIDIA Corporation
//
// SPDX-License-Identifier: CC-BY-4.0

include::{generated}/meta/{refprefix}VK_NVX_binary_import.txt[]

=== Other Extension Metadata

*Last Modified Date*::
    2021-04-09
*Contributors*::
  - Eric Werness, NVIDIA
  - Liam Middlebrook, NVIDIA

=== Description

This extension allows applications to import CuBIN binaries and execute
them.

ifdef::EXTENSION_UNDEFINED[]
include::{generated}/interfaces/VK_NVX_binary_import.txt[]
endif::EXTENSION_UNDEFINED[]

ifndef::EXTENSION_UNDEFINED[]
// The anchor is added here as a landing place for a reference from
// the autogenerated section of the features chapter, until spec
// language is written.
[[vkCmdCuLaunchKernelNVX]]
[NOTE]
.Note
====
There is currently no specification language written for this extension, so
although it appears in the Vulkan headers, its interfaces are not summarized
here.
====
endif::EXTENSION_UNDEFINED[]

=== Version History

  * Revision 1, 2021-04-09 (Eric Werness)
    - Internal revisions
