HORIZON HASKELLDocslts/ghc-9.14.x45dd5372026-10-11Search names, modules, packages, or :: a typeCtrl K

GHC 9.14.1 · lts/ghc-9.14.x · 45dd537 · 2026-10-11

Modulevulkan-3.27GHC2021

Vulkan.Extensions.VK_NVX_binary_import

Name

VK_NVX_binary_import - device extension

VK_NVX_binary_import

Name String

VK_NVX_binary_import

Extension Type

Device extension

Registered Extension Number

30

Revision

2

Ratification Status

Not ratified

Extension and Version Dependencies

None

API Interactions
  • Interacts with VK_EXT_debug_report

Contact

Other Extension Metadata

Last Modified Date

2024-11-04

Contributors
  • Eric Werness, NVIDIA

  • Liam Middlebrook, NVIDIA

Description

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

There is currently no specification language written for this extension. The links to APIs defined by the extension are to stubs that only include generated content such as API declarations and implicit valid usage statements.

New Object Types

New Commands

New Structures

New Enum Constants

If VK_EXT_debug_report is supported:

Stub API References

There is currently no specification language written for this type. This section acts only as placeholder and to avoid dead links in the specification and reference pages.

// Provided by VK_NVX_binary_import
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX)

There is currently no specification language written for this type. This section acts only as placeholder and to avoid dead links in the specification and reference pages.

// Provided by VK_NVX_binary_import
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX)

There is currently no specification language written for this command. This section acts only as placeholder and to avoid dead links in the specification and reference pages.

// Provided by VK_NVX_binary_import
VkResult vkCreateCuFunctionNVX(
    VkDevice                                    device,
    const VkCuFunctionCreateInfoNVX*            pCreateInfo,
    const VkAllocationCallbacks*                pAllocator,
    VkCuFunctionNVX*                            pFunction);
Valid Usage (Implicit)
  • device must be a valid Device handle

  • pCreateInfo must be a valid pointer to a valid CuFunctionCreateInfoNVX structure

  • If pAllocator is not NULL, pAllocator must be a valid pointer to a valid AllocationCallbacks structure

  • pFunction must be a valid pointer to a CuFunctionNVX handle

  • The device must have been created with at least 1 queue

Return Codes
Success
Failure

There is currently no specification language written for this type. This section acts only as placeholder and to avoid dead links in the specification and reference pages.

// Provided by VK_NVX_binary_import
typedef struct VkCuFunctionCreateInfoNVX {
    VkStructureType    sType;
    const void*        pNext;
    VkCuModuleNVX      module;
    const char*        pName;
} VkCuFunctionCreateInfoNVX;
Valid Usage (Implicit)
  • pNext must be NULL

  • module must be a valid CuModuleNVX handle

  • pName must be a null-terminated UTF-8 string

There is currently no specification language written for this command. This section acts only as placeholder and to avoid dead links in the specification and reference pages.

// Provided by VK_NVX_binary_import
void vkDestroyCuFunctionNVX(
    VkDevice                                    device,
    VkCuFunctionNVX                             function,
    const VkAllocationCallbacks*                pAllocator);
Valid Usage (Implicit)
  • device must be a valid Device handle

  • function must be a valid CuFunctionNVX handle

  • If pAllocator is not NULL, pAllocator must be a valid pointer to a valid AllocationCallbacks structure

  • function must have been created, allocated, or retrieved from device

There is currently no specification language written for this command. This section acts only as placeholder and to avoid dead links in the specification and reference pages.

// Provided by VK_NVX_binary_import
VkResult vkCreateCuModuleNVX(
    VkDevice                                    device,
    const VkCuModuleCreateInfoNVX*              pCreateInfo,
    const VkAllocationCallbacks*                pAllocator,
    VkCuModuleNVX*                              pModule);
Valid Usage (Implicit)
  • device must be a valid Device handle

  • pCreateInfo must be a valid pointer to a valid CuModuleCreateInfoNVX structure

  • If pAllocator is not NULL, pAllocator must be a valid pointer to a valid AllocationCallbacks structure

  • pModule must be a valid pointer to a CuModuleNVX handle

  • The device must have been created with at least 1 queue

Return Codes
Success
Failure

There is currently no specification language written for this type. This section acts only as placeholder and to avoid dead links in the specification and reference pages.

// Provided by VK_NVX_binary_import
typedef struct VkCuModuleCreateInfoNVX {
    VkStructureType    sType;
    const void*        pNext;
    size_t             dataSize;
    const void*        pData;
} VkCuModuleCreateInfoNVX;
Valid Usage (Implicit)
  • pNext must be NULL or a pointer to a valid instance of CuModuleTexturingModeCreateInfoNVX

  • The sType value of each structure in the pNext chain must be unique

  • If dataSize is not 0, pData must be a valid pointer to an array of dataSize bytes

There is currently no specification language written for this type. This section acts only as placeholder and to avoid dead links in the specification and reference pages.

// Provided by VK_NVX_binary_import
typedef struct VkCuModuleTexturingModeCreateInfoNVX {
    VkStructureType    sType;
    const void*        pNext;
    VkBool32           use64bitTexturing;
} VkCuModuleTexturingModeCreateInfoNVX;
Valid Usage (Implicit)
Structure Chaining
Extends the structure

There is currently no specification language written for this command. This section acts only as placeholder and to avoid dead links in the specification and reference pages.

// Provided by VK_NVX_binary_import
void vkDestroyCuModuleNVX(
    VkDevice                                    device,
    VkCuModuleNVX                               module,
    const VkAllocationCallbacks*                pAllocator);
Valid Usage (Implicit)
  • device must be a valid Device handle

  • module must be a valid CuModuleNVX handle

  • If pAllocator is not NULL, pAllocator must be a valid pointer to a valid AllocationCallbacks structure

  • module must have been created, allocated, or retrieved from device

There is currently no specification language written for this command. This section acts only as placeholder and to avoid dead links in the specification and reference pages.

// Provided by VK_NVX_binary_import
void vkCmdCuLaunchKernelNVX(
    VkCommandBuffer                             commandBuffer,
    const VkCuLaunchInfoNVX*                    pLaunchInfo);
Valid Usage (Implicit)
Host Synchronization
  • Host access to the CommandPool that commandBuffer was allocated from must be externally synchronized

Command Properties

'

Command Buffer Levels

Render Pass Scope

Video Coding Scope

Supported Queue Types

Command Type

Primary Secondary

Both

Outside

VK_QUEUE_COMPUTE_BIT VK_QUEUE_GRAPHICS_BIT

Action

Conditional Rendering

vkCmdCuLaunchKernelNVX is not affected by conditional rendering

There is currently no specification language written for this type. This section acts only as placeholder and to avoid dead links in the specification and reference pages.

// Provided by VK_NVX_binary_import
typedef struct VkCuLaunchInfoNVX {
    VkStructureType        sType;
    const void*            pNext;
    VkCuFunctionNVX        function;
    uint32_t               gridDimX;
    uint32_t               gridDimY;
    uint32_t               gridDimZ;
    uint32_t               blockDimX;
    uint32_t               blockDimY;
    uint32_t               blockDimZ;
    uint32_t               sharedMemBytes;
    size_t                 paramCount;
    const void* const *    pParams;
    size_t                 extraCount;
    const void* const *    pExtras;
} VkCuLaunchInfoNVX;
Valid Usage (Implicit)
  • pNext must be NULL

  • function must be a valid CuFunctionNVX handle

  • If paramCount is not 0, pParams must be a valid pointer to an array of paramCount bytes

  • If extraCount is not 0, pExtras must be a valid pointer to an array of extraCount bytes

Version History

  • Revision 1, 2021-04-09 (Eric Werness)

    • Internal revisions

See Also

No cross-references are available

Document Notes

For more information, see the Vulkan Specification.

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.

  • 9 types
  • 7 values
  • Packagevulkan-3.27
  • Exports59
  • LanguageGHC2021
  • LicenceBSD-3-Clause
  • SourceVK_NVX_binary_import.hs

vkCreateCuModuleNVX - Stub description of vkCreateCuModuleNVX

Valid Usage (Implicit)

  • device must be a valid Device handle

  • pCreateInfo must be a valid pointer to a valid CuModuleCreateInfoNVX structure

  • If pAllocator is not NULL, pAllocator must be a valid pointer to a valid AllocationCallbacks structure

  • pModule must be a valid pointer to a CuModuleNVX handle

  • The device must have been created with at least 1 queue

Return Codes

Success
Failure

See Also

VK_NVX_binary_import, AllocationCallbacks, CuModuleCreateInfoNVX, CuModuleNVX, Device

A convenience wrapper to make a compatible pair of calls to createCuModuleNVX and destroyCuModuleNVX

To ensure that destroyCuModuleNVX is always called: pass bracket (or the allocate function from your favourite resource management library) as the last argument. To just extract the pair pass (,) as the last argument.

vkCreateCuFunctionNVX - Stub description of vkCreateCuFunctionNVX

Valid Usage (Implicit)

  • device must be a valid Device handle

  • pCreateInfo must be a valid pointer to a valid CuFunctionCreateInfoNVX structure

  • If pAllocator is not NULL, pAllocator must be a valid pointer to a valid AllocationCallbacks structure

  • pFunction must be a valid pointer to a CuFunctionNVX handle

  • The device must have been created with at least 1 queue

Return Codes

Success
Failure

See Also

VK_NVX_binary_import, AllocationCallbacks, CuFunctionCreateInfoNVX, CuFunctionNVX, Device

valuedestroyCuModuleNVX
  1. :: MonadIO io
  2. => Device
  3. -> CuModuleNVX
  4. -> "allocator" ::: Maybe AllocationCallbacks
  5. -> io ()
#

vkDestroyCuModuleNVX - Stub description of vkDestroyCuModuleNVX

Valid Usage (Implicit)

  • device must be a valid Device handle

  • module must be a valid CuModuleNVX handle

  • If pAllocator is not NULL, pAllocator must be a valid pointer to a valid AllocationCallbacks structure

  • module must have been created, allocated, or retrieved from device

See Also

VK_NVX_binary_import, AllocationCallbacks, CuModuleNVX, Device

vkDestroyCuFunctionNVX - Stub description of vkDestroyCuFunctionNVX

Valid Usage (Implicit)

  • device must be a valid Device handle

  • function must be a valid CuFunctionNVX handle

  • If pAllocator is not NULL, pAllocator must be a valid pointer to a valid AllocationCallbacks structure

  • function must have been created, allocated, or retrieved from device

See Also

VK_NVX_binary_import, AllocationCallbacks, CuFunctionNVX, Device

vkCmdCuLaunchKernelNVX - Stub description of vkCmdCuLaunchKernelNVX

Valid Usage (Implicit)

Host Synchronization

  • Host access to the CommandPool that commandBuffer was allocated from must be externally synchronized

Command Properties

'

Command Buffer Levels

Render Pass Scope

Video Coding Scope

Supported Queue Types

Command Type

Primary Secondary

Both

Outside

VK_QUEUE_COMPUTE_BIT VK_QUEUE_GRAPHICS_BIT

Action

Conditional Rendering

vkCmdCuLaunchKernelNVX is not affected by conditional rendering

See Also

VK_NVX_binary_import, CommandBuffer, CuLaunchInfoNVX

datadata CuModuleCreateInfoNVX (es :: [Type])
#

VkCuModuleCreateInfoNVX - Stub description of VkCuModuleCreateInfoNVX

Valid Usage (Implicit)

  • pNext must be NULL or a pointer to a valid instance of CuModuleTexturingModeCreateInfoNVX

  • The sType value of each structure in the pNext chain must be unique

  • If dataSize is not 0, pData must be a valid pointer to an array of dataSize bytes

See Also

VK_NVX_binary_import, StructureType, createCuModuleNVX

Instances5Extensible, Show, FromCStruct, ToCStruct, Zero

VkCuModuleTexturingModeCreateInfoNVX - Stub description of VkCuModuleTexturingModeCreateInfoNVX

Structure Chaining

Extends the structure

See Also

VK_NVX_binary_import, Bool32, StructureType

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero

VkCuFunctionCreateInfoNVX - Stub description of VkCuFunctionCreateInfoNVX

Valid Usage (Implicit)

See Also

VK_NVX_binary_import, CuModuleNVX, StructureType, createCuFunctionNVX

Constructors

Instances4Show, FromCStruct, ToCStruct, Zero
datadata CuLaunchInfoNVX
#

VkCuLaunchInfoNVX - Stub description of VkCuLaunchInfoNVX

Valid Usage (Implicit)

  • pNext must be NULL

  • function must be a valid CuFunctionNVX handle

  • If paramCount is not 0, pParams must be a valid pointer to an array of paramCount bytes

  • If extraCount is not 0, pExtras must be a valid pointer to an array of extraCount bytes

See Also

VK_NVX_binary_import, CuFunctionNVX, StructureType, cmdCuLaunchKernelNVX

Instances4Show, FromCStruct, ToCStruct, Zero
newtypenewtype CuModuleNVX
#
Instances7Eq, Ord, Show, Storable, HasObjectType, IsHandle, …
newtypenewtype CuFunctionNVX
#
Instances7Eq, Ord, Show, Storable, HasObjectType, IsHandle, …
newtypenewtype DebugReportObjectTypeEXT
#

VkDebugReportObjectTypeEXT - Specify the type of an object handle

Description

'

DebugReportObjectTypeEXT

Vulkan Handle Type

DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT

Unknown/Undefined Handle

DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT

Instance

DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT

PhysicalDevice

DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT

Device

DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT

Queue

DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT

Semaphore

DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT

CommandBuffer

DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT

Fence

DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT

DeviceMemory

DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT

Buffer

DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT

Image

DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT

Event

DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT

QueryPool

DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT

BufferView

DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT

ImageView

DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT

ShaderModule

DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT

PipelineCache

DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT

PipelineLayout

DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT

RenderPass

DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT

Pipeline

DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT

DescriptorSetLayout

DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT

Sampler

DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT

DescriptorPool

DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT

DescriptorSet

DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT

Framebuffer

DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT

CommandPool

DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT

SurfaceKHR

DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT

SwapchainKHR

DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT

DebugReportCallbackEXT

DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT

DisplayKHR

DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT

DisplayModeKHR

DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT

DescriptorUpdateTemplate

DebugReportObjectTypeEXT and Vulkan Handle Relationship

The primary expected use of ERROR_VALIDATION_FAILED_EXT is for validation layer testing to prevent invalid commands from reaching the ICD. It is not expected that an application would see this error code during normal use of the validation layers. If an application returns TRUE in DebugUtilsMessengerCallbackDataEXT, the validation layers will return this error code instead of passing the command down the dispatch chain.

See Also

PFN_vkDebugReportCallbackEXT, VK_EXT_debug_marker, VK_EXT_debug_report, DebugMarkerObjectNameInfoEXT, DebugMarkerObjectTagInfoEXT, debugReportMessageEXT

Instances6Eq, Ord, Read, Show, Storable, Zero