vulkan-3.26.1: Bindings to the Vulkan graphics API.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Vulkan.Extensions.VK_NV_cuda_kernel_launch

Description

Name

VK_NV_cuda_kernel_launch - device extension

VK_NV_cuda_kernel_launch

Name String
VK_NV_cuda_kernel_launch
Extension Type
Device extension
Registered Extension Number
308
Revision
2
Ratification Status
Not ratified
Extension and Version Dependencies
  • __This is a provisional extension and must be used with caution. See the description of provisional header files for enablement and stability details.__
Contact

Other Extension Metadata

Last Modified Date
2020-09-30
Contributors
  • Eric Werness, NVIDIA

Description

Interoperability between APIs can sometimes create additional overhead depending on the platform used. This extension targets deployment of existing CUDA kernels via Vulkan, with a way to directly upload PTX kernels and dispatch the kernels from Vulkan’s command buffer without the need to use interoperability between the Vulkan and CUDA contexts. However, we do encourage actual development using the native CUDA runtime for the purpose of debugging and profiling.

The application will first have to create a CUDA module using createCudaModuleNV then create the CUDA function entry point with createCudaFunctionNV.

Then in order to dispatch this function, the application will create a command buffer where it will launch the kernel with cmdCudaLaunchKernelNV.

When done, the application will then destroy the function handle, as well as the CUDA module handle with destroyCudaFunctionNV and destroyCudaModuleNV.

To reduce the impact of compilation time, this extension offers the capability to return a binary cache from the PTX that was provided. For this, a first query for the required cache size is made with getCudaModuleCacheNV with a NULL pointer to a buffer and with a valid pointer receiving the size; then another call of the same function with a valid pointer to a buffer to retrieve the data. The resulting cache could then be user later for further runs of this application by sending this cache instead of the PTX code (using the same createCudaModuleNV), thus significantly speeding up the initialization of the CUDA module.

As with PipelineCache, the binary cache depends on the hardware architecture. Therefore the application must assume the cache might fail, and thus need to handle falling back to the original PTX code as necessary. Most often, the cache will succeed if the same GPU driver and architecture is used between the cache generation from PTX and the use of this cache. But most often, in the event of a new driver version or a if using a different GPU But in the event of a new driver version or if using a different GPU architecture, the cache is likely to become invalid.

New Object Types

New Commands

New Structures

New Enum Constants

Issues

None.

Version History

  • Revision 1, 2020-03-01 (Tristan Lorach)
  • Revision 2, 2020-09-30 (Tristan Lorach)

See Also

CudaFunctionCreateInfoNV, CudaFunctionNV, CudaLaunchInfoNV, CudaModuleCreateInfoNV, CudaModuleNV, PhysicalDeviceCudaKernelLaunchFeaturesNV, PhysicalDeviceCudaKernelLaunchPropertiesNV, cmdCudaLaunchKernelNV, createCudaFunctionNV, createCudaModuleNV, destroyCudaFunctionNV, destroyCudaModuleNV, getCudaModuleCacheNV

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.

Synopsis

Documentation

createCudaModuleNV Source #

Arguments

:: forall io. MonadIO io 
=> Device

device is the logical device that creates the shader module.

-> CudaModuleCreateInfoNV

pCreateInfo is a pointer to a CudaModuleCreateInfoNV structure.

-> ("allocator" ::: Maybe AllocationCallbacks)

pAllocator controls host memory allocation as described in the Memory Allocation chapter.

-> io CudaModuleNV 

vkCreateCudaModuleNV - Creates a new CUDA module object

Description

Once a CUDA module has been created, you may create the function entry point that must refer to one function in the module.

Valid Usage (Implicit)

  • device must be a valid Device handle

Return Codes

Success
Failure

See Also

VK_NV_cuda_kernel_launch, AllocationCallbacks, CudaModuleCreateInfoNV, CudaModuleNV, Device

withCudaModuleNV :: forall io r. MonadIO io => Device -> CudaModuleCreateInfoNV -> Maybe AllocationCallbacks -> (io CudaModuleNV -> (CudaModuleNV -> io ()) -> r) -> r Source #

A convenience wrapper to make a compatible pair of calls to createCudaModuleNV and destroyCudaModuleNV

To ensure that destroyCudaModuleNV 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.

getCudaModuleCacheNV Source #

Arguments

:: forall io. MonadIO io 
=> Device

device is the logical device that destroys the Function.

-> CudaModuleNV

module is the CUDA module.

-> io (Result, "cacheData" ::: ByteString) 

vkGetCudaModuleCacheNV - Get CUDA module cache

Valid Usage

  • pCacheSize must be a pointer containing the amount of bytes to be copied in pCacheData. If pCacheData is NULL, the function will return in this pointer the total amount of bytes required to later perform the copy into pCacheData.
  • pCacheData may be a pointer to a buffer in which the binary cache will be copied. The amount of bytes copied is defined by the value in pCacheSize. This pointer may be NULL. In this case, the function will write the total amount of required data in pCacheSize.

Valid Usage (Implicit)

  • device must be a valid Device handle
  • module must be a valid CudaModuleNV handle
  • pCacheSize must be a valid pointer to a size_t value
  • If the value referenced by pCacheSize is not 0, and pCacheData is not NULL, pCacheData must be a valid pointer to an array of pCacheSize bytes
  • module must have been created, allocated, or retrieved from device

Return Codes

Success
Failure

See Also

VK_NV_cuda_kernel_launch, CudaModuleNV, Device

createCudaFunctionNV Source #

Arguments

:: forall io. MonadIO io 
=> Device

device is the logical device that creates the shader module.

-> CudaFunctionCreateInfoNV

pCreateInfo is a pointer to a CudaFunctionCreateInfoNV structure.

-> ("allocator" ::: Maybe AllocationCallbacks)

pAllocator controls host memory allocation as described in the Memory Allocation chapter.

-> io CudaFunctionNV 

vkCreateCudaFunctionNV - Creates a new CUDA function object

Valid Usage (Implicit)

  • device must be a valid Device handle

Return Codes

Success
Failure

See Also

VK_NV_cuda_kernel_launch, AllocationCallbacks, CudaFunctionCreateInfoNV, CudaFunctionNV, Device

withCudaFunctionNV :: forall io r. MonadIO io => Device -> CudaFunctionCreateInfoNV -> Maybe AllocationCallbacks -> (io CudaFunctionNV -> (CudaFunctionNV -> io ()) -> r) -> r Source #

A convenience wrapper to make a compatible pair of calls to createCudaFunctionNV and destroyCudaFunctionNV

To ensure that destroyCudaFunctionNV 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.

destroyCudaModuleNV Source #

Arguments

:: forall io. MonadIO io 
=> Device

device is the logical device that destroys the shader module.

-> CudaModuleNV

module is the handle of the CUDA module to destroy.

-> ("allocator" ::: Maybe AllocationCallbacks)

pAllocator controls host memory allocation as described in the Memory Allocation chapter.

-> io () 

vkDestroyCudaModuleNV - Destroy a CUDA module

Valid Usage (Implicit)

  • device must be a valid Device handle
  • module must be a valid CudaModuleNV 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_NV_cuda_kernel_launch, AllocationCallbacks, CudaModuleNV, Device

destroyCudaFunctionNV Source #

Arguments

:: forall io. MonadIO io 
=> Device

device is the logical device that destroys the Function.

-> CudaFunctionNV

function is the handle of the CUDA function to destroy.

-> ("allocator" ::: Maybe AllocationCallbacks)

pAllocator controls host memory allocation as described in the Memory Allocation chapter.

-> io () 

vkDestroyCudaFunctionNV - Destroy a CUDA function

Valid Usage (Implicit)

  • device must be a valid Device handle
  • function must be a valid CudaFunctionNV 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_NV_cuda_kernel_launch, AllocationCallbacks, CudaFunctionNV, Device

cmdCudaLaunchKernelNV Source #

Arguments

:: forall io. MonadIO io 
=> CommandBuffer

commandBuffer is the command buffer into which the command will be recorded.

-> CudaLaunchInfoNV

pLaunchInfo is a pointer to a CudaLaunchInfoNV structure in which the grid (similar to workgroup) dimension, function handle and related arguments are defined.

-> io () 

vkCmdCudaLaunchKernelNV - Dispatch compute work items

Description

When the command is executed, a global workgroup consisting of gridDimX × gridDimY × gridDimZ local workgroups is assembled.

Valid Usage (Implicit)

  • pLaunchInfo must be a valid pointer to a valid CudaLaunchInfoNV structure
  • commandBuffer must be in the recording state
  • The CommandPool that commandBuffer was allocated from must support graphics, or compute operations
  • This command must only be called outside of a video coding scope

Host Synchronization

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

Command Properties

'

Command Buffer LevelsRender Pass ScopeVideo Coding ScopeSupported Queue TypesCommand Type
Primary SecondaryBoth Outside Graphics ComputeAction

See Also

VK_NV_cuda_kernel_launch, CommandBuffer, CudaLaunchInfoNV

data CudaModuleCreateInfoNV Source #

VkCudaModuleCreateInfoNV - Structure specifying the parameters to create a CUDA Module

Valid Usage (Implicit)

See Also

VK_NV_cuda_kernel_launch, StructureType, createCudaModuleNV

Constructors

CudaModuleCreateInfoNV 

Fields

  • dataSize :: Word64

    dataSize is the length of the pData array.

    dataSize must be the total size in bytes of the PTX files or binary cache passed to pData.

    dataSize must be greater than 0

  • data' :: Ptr ()

    pData is a pointer to CUDA code

    pData must be a valid pointer to an array of dataSize bytes

Instances

Instances details
Storable CudaModuleCreateInfoNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cuda_kernel_launch

Show CudaModuleCreateInfoNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cuda_kernel_launch

FromCStruct CudaModuleCreateInfoNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cuda_kernel_launch

ToCStruct CudaModuleCreateInfoNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cuda_kernel_launch

Zero CudaModuleCreateInfoNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cuda_kernel_launch

data CudaFunctionCreateInfoNV Source #

VkCudaFunctionCreateInfoNV - Structure specifying the parameters to create a CUDA Function

Valid Usage (Implicit)

See Also

VK_NV_cuda_kernel_launch, CudaModuleNV, StructureType, createCudaFunctionNV

Constructors

CudaFunctionCreateInfoNV 

Fields

  • module' :: CudaModuleNV

    module must be the CUDA CudaModuleNV module in which the function resides.

    module must be a valid CudaModuleNV handle

  • name :: ByteString

    pName is a null-terminated UTF-8 string containing the name of the shader entry point for this stage.

    pName must be a null-terminated UTF-8 string

data CudaLaunchInfoNV Source #

VkCudaLaunchInfoNV - Structure specifying the parameters to launch a CUDA kernel

Valid Usage

  • gridDimY must be less than or equal to PhysicalDeviceLimits::maxComputeWorkGroupCount[1]
  • gridDimZ must be less than or equal to PhysicalDeviceLimits::maxComputeWorkGroupCount[2]
  • paramCount must be the total amount of parameters listed in the pParams table.
  • pParams must be a pointer to a table of paramCount parameters, corresponding to the arguments of function.
  • extraCount must be 0
  • pExtras must be NULL

Valid Usage (Implicit)

  • pNext must be NULL
  • function must be a valid CudaFunctionNV 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_NV_cuda_kernel_launch, CudaFunctionNV, StructureType, cmdCudaLaunchKernelNV

Constructors

CudaLaunchInfoNV 

Fields

data PhysicalDeviceCudaKernelLaunchFeaturesNV Source #

VkPhysicalDeviceCudaKernelLaunchFeaturesNV - Structure describing whether cuda kernel launch is supported by the implementation

Members

This structure describes the following features:

Description

If the PhysicalDeviceCudaKernelLaunchFeaturesNV structure is included in the pNext chain of the PhysicalDeviceFeatures2 structure passed to getPhysicalDeviceFeatures2, it is filled in to indicate whether each corresponding feature is supported. PhysicalDeviceCudaKernelLaunchFeaturesNV can also be used in the pNext chain of DeviceCreateInfo to selectively enable these features.

Valid Usage (Implicit)

See Also

VK_NV_cuda_kernel_launch, Bool32, StructureType

Constructors

PhysicalDeviceCudaKernelLaunchFeaturesNV 

Fields

Instances

Instances details
Storable PhysicalDeviceCudaKernelLaunchFeaturesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cuda_kernel_launch

Show PhysicalDeviceCudaKernelLaunchFeaturesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cuda_kernel_launch

Eq PhysicalDeviceCudaKernelLaunchFeaturesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cuda_kernel_launch

FromCStruct PhysicalDeviceCudaKernelLaunchFeaturesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cuda_kernel_launch

ToCStruct PhysicalDeviceCudaKernelLaunchFeaturesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cuda_kernel_launch

Zero PhysicalDeviceCudaKernelLaunchFeaturesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cuda_kernel_launch

data PhysicalDeviceCudaKernelLaunchPropertiesNV Source #

VkPhysicalDeviceCudaKernelLaunchPropertiesNV - Structure describing the compute capability version available

Members

The members of the PhysicalDeviceCudaKernelLaunchPropertiesNV structure describe the following features:

Description

If the PhysicalDeviceCudaKernelLaunchPropertiesNV structure is included in the pNext chain of the PhysicalDeviceProperties2 structure passed to getPhysicalDeviceProperties2, it is filled in with each corresponding implementation-dependent property.

Valid Usage (Implicit)

See Also

VK_NV_cuda_kernel_launch, StructureType

Constructors

PhysicalDeviceCudaKernelLaunchPropertiesNV 

Fields

Instances

Instances details
Storable PhysicalDeviceCudaKernelLaunchPropertiesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cuda_kernel_launch

Show PhysicalDeviceCudaKernelLaunchPropertiesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cuda_kernel_launch

Eq PhysicalDeviceCudaKernelLaunchPropertiesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cuda_kernel_launch

FromCStruct PhysicalDeviceCudaKernelLaunchPropertiesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cuda_kernel_launch

ToCStruct PhysicalDeviceCudaKernelLaunchPropertiesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cuda_kernel_launch

Zero PhysicalDeviceCudaKernelLaunchPropertiesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cuda_kernel_launch

type NV_CUDA_KERNEL_LAUNCH_EXTENSION_NAME = "VK_NV_cuda_kernel_launch" Source #

pattern NV_CUDA_KERNEL_LAUNCH_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #

newtype CudaModuleNV Source #

VkCudaModuleNV - Opaque handle to a CUDA module object

See Also

VK_NV_cuda_kernel_launch, CudaFunctionCreateInfoNV, createCudaModuleNV, destroyCudaModuleNV, getCudaModuleCacheNV

Constructors

CudaModuleNV Word64 

Instances

Instances details
Storable CudaModuleNV Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Show CudaModuleNV Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Eq CudaModuleNV Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Ord CudaModuleNV Source # 
Instance details

Defined in Vulkan.Extensions.Handles

HasObjectType CudaModuleNV Source # 
Instance details

Defined in Vulkan.Extensions.Handles

IsHandle CudaModuleNV Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Zero CudaModuleNV Source # 
Instance details

Defined in Vulkan.Extensions.Handles

newtype CudaFunctionNV Source #

VkCudaFunctionNV - Opaque handle to a CUDA function object

See Also

VK_NV_cuda_kernel_launch, CudaLaunchInfoNV, createCudaFunctionNV, destroyCudaFunctionNV

Constructors

CudaFunctionNV Word64 

Instances

Instances details
Storable CudaFunctionNV Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Show CudaFunctionNV Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Eq CudaFunctionNV Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Ord CudaFunctionNV Source # 
Instance details

Defined in Vulkan.Extensions.Handles

HasObjectType CudaFunctionNV Source # 
Instance details

Defined in Vulkan.Extensions.Handles

IsHandle CudaFunctionNV Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Zero CudaFunctionNV Source # 
Instance details

Defined in Vulkan.Extensions.Handles

newtype DebugReportObjectTypeEXT Source #

VkDebugReportObjectTypeEXT - Specify the type of an object handle

Description

'

DebugReportObjectTypeEXTVulkan Handle Type
DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXTUnknown/Undefined Handle
DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXTInstance
DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXTPhysicalDevice
DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXTDevice
DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXTQueue
DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXTSemaphore
DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXTCommandBuffer
DEBUG_REPORT_OBJECT_TYPE_FENCE_EXTFence
DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXTDeviceMemory
DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXTBuffer
DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXTImage
DEBUG_REPORT_OBJECT_TYPE_EVENT_EXTEvent
DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXTQueryPool
DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXTBufferView
DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXTImageView
DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXTShaderModule
DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXTPipelineCache
DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXTPipelineLayout
DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXTRenderPass
DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXTPipeline
DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXTDescriptorSetLayout
DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXTSampler
DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXTDescriptorPool
DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXTDescriptorSet
DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXTFramebuffer
DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXTCommandPool
DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXTSurfaceKHR
DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXTSwapchainKHR
DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXTDebugReportCallbackEXT
DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXTDisplayKHR
DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXTDisplayModeKHR
DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXTDescriptorUpdateTemplate

DebugReportObjectTypeEXT and Vulkan Handle Relationship

Note

The primary expected use of ERROR_VALIDATION_FAILED_EXT is for validation layer testing. It is not expected that an application would see this error code during normal use of the validation layers.

See Also

VK_EXT_debug_marker, VK_EXT_debug_report, DebugMarkerObjectNameInfoEXT, DebugMarkerObjectTagInfoEXT, debugReportMessageEXT

Bundled Patterns

pattern DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_CUDA_FUNCTION_NV :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_CUDA_MODULE_NV :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT :: DebugReportObjectTypeEXT 
pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT :: DebugReportObjectTypeEXT 

Instances

Instances details
Storable DebugReportObjectTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_debug_report

Read DebugReportObjectTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_debug_report

Show DebugReportObjectTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_debug_report

Eq DebugReportObjectTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_debug_report

Ord DebugReportObjectTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_debug_report

Zero DebugReportObjectTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_debug_report