{-# language CPP #-}
{-# language NoDuplicateRecordFields #-}
module Vulkan.Dynamic  ( InstanceCmds(..)
                       , getInstanceProcAddr'
                       , initInstanceCmds
                       , DeviceCmds(..)
                       , initDeviceCmds
                       ) where

import Vulkan.CStruct.Utils (FixedArray)
import Foreign.Ptr (castFunPtr)
import GHC.Ptr (nullFunPtr)
import Foreign.Ptr (nullPtr)
import Foreign.C.Types (CChar)
import Foreign.C.Types (CFloat)
import Foreign.C.Types (CInt)
import Foreign.C.Types (CSize)
import Data.Int (Int32)
import Foreign.Ptr (FunPtr)
import Foreign.Ptr (Ptr)
import GHC.Ptr (Ptr(Ptr))
import Data.Word (Word16)
import Data.Word (Word32)
import Data.Word (Word64)
import Vulkan.NamedType ((:::))
import {-# SOURCE #-} Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer (AHardwareBuffer)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing (AccelerationStructureBuildGeometryInfoKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing (AccelerationStructureBuildOffsetInfoKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing (AccelerationStructureCreateInfoKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_NV_ray_tracing (AccelerationStructureCreateInfoNV)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing (AccelerationStructureDeviceAddressInfoKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_NV_ray_tracing (AccelerationStructureInfoNV)
import {-# SOURCE #-} Vulkan.Extensions.Handles (AccelerationStructureKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing (AccelerationStructureMemoryRequirementsInfoKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_NV_ray_tracing (AccelerationStructureMemoryRequirementsInfoNV)
import {-# SOURCE #-} Vulkan.Extensions.VK_NV_ray_tracing (AccelerationStructureNV)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing (AccelerationStructureVersionKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_swapchain (AcquireNextImageInfoKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_performance_query (AcquireProfilingLockInfoKHR)
import {-# SOURCE #-} Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)
import {-# SOURCE #-} Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer (AndroidHardwareBufferPropertiesANDROID)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_android_surface (AndroidSurfaceCreateInfoKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing (BindAccelerationStructureMemoryInfoKHR)
import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2 (BindBufferMemoryInfo)
import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2 (BindImageMemoryInfo)
import {-# SOURCE #-} Vulkan.Core10.SparseResourceMemoryManagement (BindSparseInfo)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_copy_commands2 (BlitImageInfo2KHR)
import {-# SOURCE #-} Vulkan.Core10.FundamentalTypes (Bool32)
import {-# SOURCE #-} Vulkan.Core10.Handles (Buffer)
import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (BufferCopy)
import {-# SOURCE #-} Vulkan.Core10.Buffer (BufferCreateInfo)
import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address (BufferDeviceAddressInfo)
import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (BufferImageCopy)
import {-# SOURCE #-} Vulkan.Core10.OtherTypes (BufferMemoryBarrier)
import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2 (BufferMemoryRequirementsInfo2)
import {-# SOURCE #-} Vulkan.Core10.Handles (BufferView)
import {-# SOURCE #-} Vulkan.Core10.BufferView (BufferViewCreateInfo)
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_calibrated_timestamps (CalibratedTimestampInfoEXT)
import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints (CheckpointDataNV)
import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (ClearAttachment)
import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (ClearColorValue)
import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (ClearDepthStencilValue)
import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (ClearRect)
import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shading_rate_image (CoarseSampleOrderCustomNV)
import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shading_rate_image (CoarseSampleOrderTypeNV)
import {-# SOURCE #-} Vulkan.Core10.CommandBuffer (CommandBufferAllocateInfo)
import {-# SOURCE #-} Vulkan.Core10.CommandBuffer (CommandBufferBeginInfo)
import {-# SOURCE #-} Vulkan.Core10.Enums.CommandBufferResetFlagBits (CommandBufferResetFlags)
import {-# SOURCE #-} Vulkan.Core10.Handles (CommandBuffer_T)
import {-# SOURCE #-} Vulkan.Core10.Handles (CommandPool)
import {-# SOURCE #-} Vulkan.Core10.CommandPool (CommandPoolCreateInfo)
import {-# SOURCE #-} Vulkan.Core10.Enums.CommandPoolResetFlagBits (CommandPoolResetFlags)
import {-# SOURCE #-} Vulkan.Core11.Enums.CommandPoolTrimFlags (CommandPoolTrimFlags)
import {-# SOURCE #-} Vulkan.Core10.Enums.CompareOp (CompareOp)
import {-# SOURCE #-} Vulkan.Core10.Pipeline (ComputePipelineCreateInfo)
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_conditional_rendering (ConditionalRenderingBeginInfoEXT)
import {-# SOURCE #-} Vulkan.Extensions.VK_NV_cooperative_matrix (CooperativeMatrixPropertiesNV)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing (CopyAccelerationStructureInfoKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing (CopyAccelerationStructureModeKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing (CopyAccelerationStructureToMemoryInfoKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_copy_commands2 (CopyBufferInfo2KHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_copy_commands2 (CopyBufferToImageInfo2KHR)
import {-# SOURCE #-} Vulkan.Core10.DescriptorSet (CopyDescriptorSet)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_copy_commands2 (CopyImageInfo2KHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_copy_commands2 (CopyImageToBufferInfo2KHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing (CopyMemoryToAccelerationStructureInfoKHR)
import {-# SOURCE #-} Vulkan.Core10.Enums.CullModeFlagBits (CullModeFlags)
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_debug_marker (DebugMarkerMarkerInfoEXT)
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_debug_marker (DebugMarkerObjectNameInfoEXT)
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_debug_marker (DebugMarkerObjectTagInfoEXT)
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_debug_report (DebugReportCallbackCreateInfoEXT)
import {-# SOURCE #-} Vulkan.Extensions.Handles (DebugReportCallbackEXT)
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_debug_report (DebugReportFlagsEXT)
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_debug_report (DebugReportObjectTypeEXT)
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_debug_utils (DebugUtilsLabelEXT)
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_debug_utils (DebugUtilsMessageSeverityFlagBitsEXT)
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_debug_utils (DebugUtilsMessageTypeFlagsEXT)
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_debug_utils (DebugUtilsMessengerCallbackDataEXT)
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_debug_utils (DebugUtilsMessengerCreateInfoEXT)
import {-# SOURCE #-} Vulkan.Extensions.Handles (DebugUtilsMessengerEXT)
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_debug_utils (DebugUtilsObjectNameInfoEXT)
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_debug_utils (DebugUtilsObjectTagInfoEXT)
import {-# SOURCE #-} Vulkan.Extensions.Handles (DeferredOperationKHR)
import {-# SOURCE #-} Vulkan.Core10.Enums.DependencyFlagBits (DependencyFlags)
import {-# SOURCE #-} Vulkan.Core10.Handles (DescriptorPool)
import {-# SOURCE #-} Vulkan.Core10.DescriptorSet (DescriptorPoolCreateInfo)
import {-# SOURCE #-} Vulkan.Core10.Enums.DescriptorPoolResetFlags (DescriptorPoolResetFlags)
import {-# SOURCE #-} Vulkan.Core10.Handles (DescriptorSet)
import {-# SOURCE #-} Vulkan.Core10.DescriptorSet (DescriptorSetAllocateInfo)
import {-# SOURCE #-} Vulkan.Core10.Handles (DescriptorSetLayout)
import {-# SOURCE #-} Vulkan.Core10.DescriptorSet (DescriptorSetLayoutCreateInfo)
import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_maintenance3 (DescriptorSetLayoutSupport)
import {-# SOURCE #-} Vulkan.Core11.Handles (DescriptorUpdateTemplate)
import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template (DescriptorUpdateTemplateCreateInfo)
import {-# SOURCE #-} Vulkan.Core10.FundamentalTypes (DeviceAddress)
import {-# SOURCE #-} Vulkan.Core10.Device (DeviceCreateInfo)
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_display_control (DeviceEventInfoEXT)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_swapchain (DeviceGroupPresentCapabilitiesKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_swapchain (DeviceGroupPresentModeFlagsKHR)
import {-# SOURCE #-} Vulkan.Core10.Handles (DeviceMemory)
import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address (DeviceMemoryOpaqueCaptureAddressInfo)
import {-# SOURCE #-} Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory (DeviceQueueInfo2)
import {-# SOURCE #-} Vulkan.Core10.FundamentalTypes (DeviceSize)
import {-# SOURCE #-} Vulkan.Core10.Handles (Device_T)
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_directfb_surface (DirectFBSurfaceCreateInfoEXT)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_xlib_surface (Display)
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_display_control (DisplayEventInfoEXT)
import {-# SOURCE #-} Vulkan.Extensions.Handles (DisplayKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_display (DisplayModeCreateInfoKHR)
import {-# SOURCE #-} Vulkan.Extensions.Handles (DisplayModeKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_get_display_properties2 (DisplayModeProperties2KHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_display (DisplayModePropertiesKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_get_display_properties2 (DisplayPlaneCapabilities2KHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_display (DisplayPlaneCapabilitiesKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_get_display_properties2 (DisplayPlaneInfo2KHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_get_display_properties2 (DisplayPlaneProperties2KHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_display (DisplayPlanePropertiesKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_display_control (DisplayPowerInfoEXT)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_get_display_properties2 (DisplayProperties2KHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_display (DisplayPropertiesKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_display (DisplaySurfaceCreateInfoKHR)
import {-# SOURCE #-} Vulkan.Core10.Handles (Event)
import {-# SOURCE #-} Vulkan.Core10.Event (EventCreateInfo)
import {-# SOURCE #-} Vulkan.Core10.ExtensionDiscovery (ExtensionProperties)
import {-# SOURCE #-} Vulkan.Core10.FundamentalTypes (Extent2D)
import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities (ExternalBufferProperties)
import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_external_fence_capabilities (ExternalFenceProperties)
import {-# SOURCE #-} Vulkan.Extensions.VK_NV_external_memory_capabilities (ExternalImageFormatPropertiesNV)
import {-# SOURCE #-} Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits (ExternalMemoryHandleTypeFlagBits)
import {-# SOURCE #-} Vulkan.Extensions.VK_NV_external_memory_capabilities (ExternalMemoryHandleTypeFlagsNV)
import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore_capabilities (ExternalSemaphoreProperties)
import {-# SOURCE #-} Vulkan.Core10.Handles (Fence)
import {-# SOURCE #-} Vulkan.Core10.Fence (FenceCreateInfo)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_external_fence_fd (FenceGetFdInfoKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_external_fence_win32 (FenceGetWin32HandleInfoKHR)
import {-# SOURCE #-} Vulkan.Core10.Enums.Filter (Filter)
import {-# SOURCE #-} Vulkan.Core10.Enums.Format (Format)
import {-# SOURCE #-} Vulkan.Core10.DeviceInitialization (FormatProperties)
import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2 (FormatProperties2)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_fragment_shading_rate (FragmentShadingRateCombinerOpKHR)
import {-# SOURCE #-} Vulkan.Core10.Handles (Framebuffer)
import {-# SOURCE #-} Vulkan.Core10.Pass (FramebufferCreateInfo)
import {-# SOURCE #-} Vulkan.Extensions.VK_NV_coverage_reduction_mode (FramebufferMixedSamplesCombinationNV)
import {-# SOURCE #-} Vulkan.Core10.Enums.FrontFace (FrontFace)
import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_generated_commands (GeneratedCommandsInfoNV)
import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_generated_commands (GeneratedCommandsMemoryRequirementsInfoNV)
import {-# SOURCE #-} Vulkan.Core10.Pipeline (GraphicsPipelineCreateInfo)
import {-# SOURCE #-} Vulkan.Extensions.VK_NV_external_memory_win32 (HANDLE)
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_hdr_metadata (HdrMetadataEXT)
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_headless_surface (HeadlessSurfaceCreateInfoEXT)
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_directfb_surface (IDirectFB)
import {-# SOURCE #-} Vulkan.Extensions.VK_MVK_ios_surface (IOSSurfaceCreateInfoMVK)
import {-# SOURCE #-} Vulkan.Core10.Handles (Image)
import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (ImageBlit)
import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (ImageCopy)
import {-# SOURCE #-} Vulkan.Core10.Enums.ImageCreateFlagBits (ImageCreateFlags)
import {-# SOURCE #-} Vulkan.Core10.Image (ImageCreateInfo)
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_image_drm_format_modifier (ImageDrmFormatModifierPropertiesEXT)
import {-# SOURCE #-} Vulkan.Core10.DeviceInitialization (ImageFormatProperties)
import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2 (ImageFormatProperties2)
import {-# SOURCE #-} Vulkan.Core10.Enums.ImageLayout (ImageLayout)
import {-# SOURCE #-} Vulkan.Core10.OtherTypes (ImageMemoryBarrier)
import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2 (ImageMemoryRequirementsInfo2)
import {-# SOURCE #-} Vulkan.Extensions.VK_FUCHSIA_imagepipe_surface (ImagePipeSurfaceCreateInfoFUCHSIA)
import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (ImageResolve)
import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2 (ImageSparseMemoryRequirementsInfo2)
import {-# SOURCE #-} Vulkan.Core10.SparseResourceMemoryManagement (ImageSubresource)
import {-# SOURCE #-} Vulkan.Core10.ImageView (ImageSubresourceRange)
import {-# SOURCE #-} Vulkan.Core10.Enums.ImageTiling (ImageTiling)
import {-# SOURCE #-} Vulkan.Core10.Enums.ImageType (ImageType)
import {-# SOURCE #-} Vulkan.Core10.Enums.ImageUsageFlagBits (ImageUsageFlags)
import {-# SOURCE #-} Vulkan.Core10.Handles (ImageView)
import {-# SOURCE #-} Vulkan.Extensions.VK_NVX_image_view_handle (ImageViewAddressPropertiesNVX)
import {-# SOURCE #-} Vulkan.Core10.ImageView (ImageViewCreateInfo)
import {-# SOURCE #-} Vulkan.Extensions.VK_NVX_image_view_handle (ImageViewHandleInfoNVX)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_external_fence_fd (ImportFenceFdInfoKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_external_fence_win32 (ImportFenceWin32HandleInfoKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_external_semaphore_fd (ImportSemaphoreFdInfoKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_external_semaphore_win32 (ImportSemaphoreWin32HandleInfoKHR)
import {-# SOURCE #-} Vulkan.Core10.Enums.IndexType (IndexType)
import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_generated_commands (IndirectCommandsLayoutCreateInfoNV)
import {-# SOURCE #-} Vulkan.Extensions.Handles (IndirectCommandsLayoutNV)
import {-# SOURCE #-} Vulkan.Extensions.VK_INTEL_performance_query (InitializePerformanceApiInfoINTEL)
import {-# SOURCE #-} Vulkan.Core10.Handles (Instance_T)
import {-# SOURCE #-} Vulkan.Core10.LayerDiscovery (LayerProperties)
import {-# SOURCE #-} Vulkan.Extensions.VK_MVK_macos_surface (MacOSSurfaceCreateInfoMVK)
import {-# SOURCE #-} Vulkan.Core10.Memory (MappedMemoryRange)
import {-# SOURCE #-} Vulkan.Core10.Memory (MemoryAllocateInfo)
import {-# SOURCE #-} Vulkan.Core10.OtherTypes (MemoryBarrier)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_external_memory_fd (MemoryFdPropertiesKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer (MemoryGetAndroidHardwareBufferInfoANDROID)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_external_memory_fd (MemoryGetFdInfoKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_external_memory_win32 (MemoryGetWin32HandleInfoKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_external_memory_host (MemoryHostPointerPropertiesEXT)
import {-# SOURCE #-} Vulkan.Core10.Enums.MemoryMapFlags (MemoryMapFlags)
import {-# SOURCE #-} Vulkan.Core10.MemoryManagement (MemoryRequirements)
import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2 (MemoryRequirements2)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_get_memory_requirements2 (MemoryRequirements2KHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_external_memory_win32 (MemoryWin32HandlePropertiesKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_metal_surface (MetalSurfaceCreateInfoEXT)
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_sample_locations (MultisamplePropertiesEXT)
import {-# SOURCE #-} Vulkan.Core10.Enums.ObjectType (ObjectType)
import {-# SOURCE #-} Vulkan.Core10.FuncPointers (PFN_vkVoidFunction)
import {-# SOURCE #-} Vulkan.Extensions.VK_GOOGLE_display_timing (PastPresentationTimingGOOGLE)
import {-# SOURCE #-} Vulkan.Core11.Enums.PeerMemoryFeatureFlagBits (PeerMemoryFeatureFlags)
import {-# SOURCE #-} Vulkan.Extensions.VK_INTEL_performance_query (PerformanceConfigurationAcquireInfoINTEL)
import {-# SOURCE #-} Vulkan.Extensions.Handles (PerformanceConfigurationINTEL)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_performance_query (PerformanceCounterDescriptionKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_performance_query (PerformanceCounterKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_INTEL_performance_query (PerformanceMarkerInfoINTEL)
import {-# SOURCE #-} Vulkan.Extensions.VK_INTEL_performance_query (PerformanceOverrideInfoINTEL)
import {-# SOURCE #-} Vulkan.Extensions.VK_INTEL_performance_query (PerformanceParameterTypeINTEL)
import {-# SOURCE #-} Vulkan.Extensions.VK_INTEL_performance_query (PerformanceStreamMarkerInfoINTEL)
import {-# SOURCE #-} Vulkan.Extensions.VK_INTEL_performance_query (PerformanceValueINTEL)
import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities (PhysicalDeviceExternalBufferInfo)
import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_external_fence_capabilities (PhysicalDeviceExternalFenceInfo)
import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore_capabilities (PhysicalDeviceExternalSemaphoreInfo)
import {-# SOURCE #-} Vulkan.Core10.DeviceInitialization (PhysicalDeviceFeatures)
import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2 (PhysicalDeviceFeatures2)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_fragment_shading_rate (PhysicalDeviceFragmentShadingRateKHR)
import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_device_group_creation (PhysicalDeviceGroupProperties)
import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2 (PhysicalDeviceImageFormatInfo2)
import {-# SOURCE #-} Vulkan.Core10.DeviceInitialization (PhysicalDeviceMemoryProperties)
import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2 (PhysicalDeviceMemoryProperties2)
import {-# SOURCE #-} Vulkan.Core10.DeviceInitialization (PhysicalDeviceProperties)
import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2 (PhysicalDeviceProperties2)
import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2 (PhysicalDeviceSparseImageFormatInfo2)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_get_surface_capabilities2 (PhysicalDeviceSurfaceInfo2KHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_tooling_info (PhysicalDeviceToolPropertiesEXT)
import {-# SOURCE #-} Vulkan.Core10.Handles (PhysicalDevice_T)
import {-# SOURCE #-} Vulkan.Core10.Handles (Pipeline)
import {-# SOURCE #-} Vulkan.Core10.Enums.PipelineBindPoint (PipelineBindPoint)
import {-# SOURCE #-} Vulkan.Core10.Handles (PipelineCache)
import {-# SOURCE #-} Vulkan.Core10.PipelineCache (PipelineCacheCreateInfo)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_pipeline_executable_properties (PipelineExecutableInfoKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_pipeline_executable_properties (PipelineExecutableInternalRepresentationKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_pipeline_executable_properties (PipelineExecutablePropertiesKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_pipeline_executable_properties (PipelineExecutableStatisticKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_pipeline_executable_properties (PipelineInfoKHR)
import {-# SOURCE #-} Vulkan.Core10.Handles (PipelineLayout)
import {-# SOURCE #-} Vulkan.Core10.PipelineLayout (PipelineLayoutCreateInfo)
import {-# SOURCE #-} Vulkan.Core10.Enums.PipelineStageFlagBits (PipelineStageFlagBits)
import {-# SOURCE #-} Vulkan.Core10.Enums.PipelineStageFlagBits (PipelineStageFlags)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_swapchain (PresentInfoKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_surface (PresentModeKHR)
import {-# SOURCE #-} Vulkan.Core10.Enums.PrimitiveTopology (PrimitiveTopology)
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_private_data (PrivateDataSlotCreateInfoEXT)
import {-# SOURCE #-} Vulkan.Extensions.Handles (PrivateDataSlotEXT)
import {-# SOURCE #-} Vulkan.Core10.Enums.QueryControlFlagBits (QueryControlFlags)
import {-# SOURCE #-} Vulkan.Core10.Handles (QueryPool)
import {-# SOURCE #-} Vulkan.Core10.Query (QueryPoolCreateInfo)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_performance_query (QueryPoolPerformanceCreateInfoKHR)
import {-# SOURCE #-} Vulkan.Core10.Enums.QueryResultFlagBits (QueryResultFlags)
import {-# SOURCE #-} Vulkan.Core10.Enums.QueryType (QueryType)
import {-# SOURCE #-} Vulkan.Core10.DeviceInitialization (QueueFamilyProperties)
import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2 (QueueFamilyProperties2)
import {-# SOURCE #-} Vulkan.Core10.Handles (Queue_T)
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_acquire_xlib_display (RROutput)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing (RayTracingPipelineCreateInfoKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_NV_ray_tracing (RayTracingPipelineCreateInfoNV)
import {-# SOURCE #-} Vulkan.Core10.FundamentalTypes (Rect2D)
import {-# SOURCE #-} Vulkan.Extensions.VK_GOOGLE_display_timing (RefreshCycleDurationGOOGLE)
import {-# SOURCE #-} Vulkan.Core10.Handles (RenderPass)
import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (RenderPassBeginInfo)
import {-# SOURCE #-} Vulkan.Core10.Pass (RenderPassCreateInfo)
import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2 (RenderPassCreateInfo2)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_copy_commands2 (ResolveImageInfo2KHR)
import {-# SOURCE #-} Vulkan.Core10.Enums.Result (Result)
import {-# SOURCE #-} Vulkan.Core10.Enums.SampleCountFlagBits (SampleCountFlagBits)
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_sample_locations (SampleLocationsInfoEXT)
import {-# SOURCE #-} Vulkan.Core10.Handles (Sampler)
import {-# SOURCE #-} Vulkan.Core10.Sampler (SamplerCreateInfo)
import {-# SOURCE #-} Vulkan.Core11.Handles (SamplerYcbcrConversion)
import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion (SamplerYcbcrConversionCreateInfo)
import {-# SOURCE #-} Vulkan.Core10.Handles (Semaphore)
import {-# SOURCE #-} Vulkan.Core10.QueueSemaphore (SemaphoreCreateInfo)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_external_semaphore_fd (SemaphoreGetFdInfoKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_external_semaphore_win32 (SemaphoreGetWin32HandleInfoKHR)
import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore (SemaphoreSignalInfo)
import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore (SemaphoreWaitInfo)
import {-# SOURCE #-} Vulkan.Extensions.VK_AMD_shader_info (ShaderInfoTypeAMD)
import {-# SOURCE #-} Vulkan.Core10.Handles (ShaderModule)
import {-# SOURCE #-} Vulkan.Core10.Shader (ShaderModuleCreateInfo)
import {-# SOURCE #-} Vulkan.Core10.Enums.ShaderStageFlagBits (ShaderStageFlagBits)
import {-# SOURCE #-} Vulkan.Core10.Enums.ShaderStageFlagBits (ShaderStageFlags)
import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shading_rate_image (ShadingRatePaletteNV)
import Vulkan.CStruct.Extends (SomeStruct)
import {-# SOURCE #-} Vulkan.Core10.SparseResourceMemoryManagement (SparseImageFormatProperties)
import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2 (SparseImageFormatProperties2)
import {-# SOURCE #-} Vulkan.Core10.SparseResourceMemoryManagement (SparseImageMemoryRequirements)
import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2 (SparseImageMemoryRequirements2)
import {-# SOURCE #-} Vulkan.Core10.Enums.StencilFaceFlagBits (StencilFaceFlags)
import {-# SOURCE #-} Vulkan.Core10.Enums.StencilOp (StencilOp)
import {-# SOURCE #-} Vulkan.Extensions.VK_GGP_stream_descriptor_surface (StreamDescriptorSurfaceCreateInfoGGP)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing (StridedBufferRegionKHR)
import {-# SOURCE #-} Vulkan.Core10.Queue (SubmitInfo)
import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2 (SubpassBeginInfo)
import {-# SOURCE #-} Vulkan.Core10.Enums.SubpassContents (SubpassContents)
import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2 (SubpassEndInfo)
import {-# SOURCE #-} Vulkan.Core10.Image (SubresourceLayout)
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_display_surface_counter (SurfaceCapabilities2EXT)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_get_surface_capabilities2 (SurfaceCapabilities2KHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_surface (SurfaceCapabilitiesKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_display_surface_counter (SurfaceCounterFlagBitsEXT)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_get_surface_capabilities2 (SurfaceFormat2KHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_surface (SurfaceFormatKHR)
import {-# SOURCE #-} Vulkan.Extensions.Handles (SurfaceKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_swapchain (SwapchainCreateInfoKHR)
import {-# SOURCE #-} Vulkan.Extensions.Handles (SwapchainKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_calibrated_timestamps (TimeDomainEXT)
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_validation_cache (ValidationCacheCreateInfoEXT)
import {-# SOURCE #-} Vulkan.Extensions.Handles (ValidationCacheEXT)
import {-# SOURCE #-} Vulkan.Extensions.VK_NN_vi_surface (ViSurfaceCreateInfoNN)
import {-# SOURCE #-} Vulkan.Core10.Pipeline (Viewport)
import {-# SOURCE #-} Vulkan.Extensions.VK_NV_clip_space_w_scaling (ViewportWScalingNV)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_xlib_surface (VisualID)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_wayland_surface (WaylandSurfaceCreateInfoKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_win32_surface (Win32SurfaceCreateInfoKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_wayland_surface (Wl_display)
import {-# SOURCE #-} Vulkan.Core10.DescriptorSet (WriteDescriptorSet)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_xcb_surface (XcbSurfaceCreateInfoKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_xcb_surface (Xcb_connection_t)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_xcb_surface (Xcb_visualid_t)
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_xlib_surface (XlibSurfaceCreateInfoKHR)
import Vulkan.Zero (Zero(..))
data InstanceCmds = InstanceCmds
  { InstanceCmds -> Ptr Instance_T
instanceCmdsHandle :: Ptr Instance_T
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
pVkDestroyInstance :: FunPtr (Ptr Instance_T -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pPhysicalDevices" ::: Ptr (Ptr PhysicalDevice_T))
      -> IO Result)
pVkEnumeratePhysicalDevices :: FunPtr (Ptr Instance_T -> ("pPhysicalDeviceCount" ::: Ptr Word32) -> ("pPhysicalDevices" ::: Ptr (Ptr PhysicalDevice_T)) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction)
pVkGetInstanceProcAddr :: FunPtr (Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pProperties" ::: Ptr PhysicalDeviceProperties) -> IO ())
pVkGetPhysicalDeviceProperties :: FunPtr (Ptr PhysicalDevice_T -> ("pProperties" ::: Ptr PhysicalDeviceProperties) -> IO ())
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pQueueFamilyProperties" ::: Ptr QueueFamilyProperties)
      -> IO ())
pVkGetPhysicalDeviceQueueFamilyProperties :: FunPtr (Ptr PhysicalDevice_T -> ("pQueueFamilyPropertyCount" ::: Ptr Word32) -> ("pQueueFamilyProperties" ::: Ptr QueueFamilyProperties) -> IO ())
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pMemoryProperties" ::: Ptr PhysicalDeviceMemoryProperties)
      -> IO ())
pVkGetPhysicalDeviceMemoryProperties :: FunPtr (Ptr PhysicalDevice_T -> ("pMemoryProperties" ::: Ptr PhysicalDeviceMemoryProperties) -> IO ())
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pFeatures" ::: Ptr PhysicalDeviceFeatures) -> IO ())
pVkGetPhysicalDeviceFeatures :: FunPtr (Ptr PhysicalDevice_T -> ("pFeatures" ::: Ptr PhysicalDeviceFeatures) -> IO ())
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Format
      -> ("pFormatProperties" ::: Ptr FormatProperties)
      -> IO ())
pVkGetPhysicalDeviceFormatProperties :: FunPtr (Ptr PhysicalDevice_T -> Format -> ("pFormatProperties" ::: Ptr FormatProperties) -> IO ())
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Format
      -> ImageType
      -> ImageTiling
      -> ImageUsageFlags
      -> ImageCreateFlags
      -> ("pImageFormatProperties" ::: Ptr ImageFormatProperties)
      -> IO Result)
pVkGetPhysicalDeviceImageFormatProperties :: FunPtr (Ptr PhysicalDevice_T -> Format -> ImageType -> ImageTiling -> ImageUsageFlags -> ImageCreateFlags -> ("pImageFormatProperties" ::: Ptr ImageFormatProperties) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pCreateInfo" ::: Ptr (SomeStruct DeviceCreateInfo))
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pDevice" ::: Ptr (Ptr Device_T))
      -> IO Result)
pVkCreateDevice :: FunPtr (Ptr PhysicalDevice_T -> ("pCreateInfo" ::: Ptr (SomeStruct DeviceCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pDevice" ::: Ptr (Ptr Device_T)) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr LayerProperties)
      -> IO Result)
pVkEnumerateDeviceLayerProperties :: FunPtr (Ptr PhysicalDevice_T -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr LayerProperties) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pName" ::: Ptr CChar)
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr ExtensionProperties)
      -> IO Result)
pVkEnumerateDeviceExtensionProperties :: FunPtr (Ptr PhysicalDevice_T -> ("pLayerName" ::: Ptr CChar) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr ExtensionProperties) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Format
      -> ImageType
      -> ("samples" ::: SampleCountFlagBits)
      -> ImageUsageFlags
      -> ImageTiling
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr SparseImageFormatProperties)
      -> IO ())
pVkGetPhysicalDeviceSparseImageFormatProperties :: FunPtr (Ptr PhysicalDevice_T -> Format -> ImageType -> ("samples" ::: SampleCountFlagBits) -> ImageUsageFlags -> ImageTiling -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr SparseImageFormatProperties) -> IO ())
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr AndroidSurfaceCreateInfoKHR)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
pVkCreateAndroidSurfaceKHR :: FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr AndroidSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr DisplayPropertiesKHR)
      -> IO Result)
pVkGetPhysicalDeviceDisplayPropertiesKHR :: FunPtr (Ptr PhysicalDevice_T -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr DisplayPropertiesKHR) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr DisplayPlanePropertiesKHR)
      -> IO Result)
pVkGetPhysicalDeviceDisplayPlanePropertiesKHR :: FunPtr (Ptr PhysicalDevice_T -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr DisplayPlanePropertiesKHR) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Word32
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pDisplays" ::: Ptr DisplayKHR)
      -> IO Result)
pVkGetDisplayPlaneSupportedDisplaysKHR :: FunPtr (Ptr PhysicalDevice_T -> ("planeIndex" ::: Word32) -> ("pDisplayCount" ::: Ptr Word32) -> ("pDisplays" ::: Ptr DisplayKHR) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> DisplayKHR
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr DisplayModePropertiesKHR)
      -> IO Result)
pVkGetDisplayModePropertiesKHR :: FunPtr (Ptr PhysicalDevice_T -> DisplayKHR -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr DisplayModePropertiesKHR) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> DisplayKHR
      -> ("pCreateInfo" ::: Ptr DisplayModeCreateInfoKHR)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pMode" ::: Ptr DisplayModeKHR)
      -> IO Result)
pVkCreateDisplayModeKHR :: FunPtr (Ptr PhysicalDevice_T -> DisplayKHR -> ("pCreateInfo" ::: Ptr DisplayModeCreateInfoKHR) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pMode" ::: Ptr DisplayModeKHR) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> DisplayModeKHR
      -> Word32
      -> ("pCapabilities" ::: Ptr DisplayPlaneCapabilitiesKHR)
      -> IO Result)
pVkGetDisplayPlaneCapabilitiesKHR :: FunPtr (Ptr PhysicalDevice_T -> DisplayModeKHR -> ("planeIndex" ::: Word32) -> ("pCapabilities" ::: Ptr DisplayPlaneCapabilitiesKHR) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr DisplaySurfaceCreateInfoKHR)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
pVkCreateDisplayPlaneSurfaceKHR :: FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr DisplaySurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> SurfaceKHR
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> IO ())
pVkDestroySurfaceKHR :: FunPtr (Ptr Instance_T -> SurfaceKHR -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Word32
      -> SurfaceKHR
      -> ("pSupported" ::: Ptr Bool32)
      -> IO Result)
pVkGetPhysicalDeviceSurfaceSupportKHR :: FunPtr (Ptr PhysicalDevice_T -> ("queueFamilyIndex" ::: Word32) -> SurfaceKHR -> ("pSupported" ::: Ptr Bool32) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> SurfaceKHR
      -> ("pSurfaceCapabilities" ::: Ptr SurfaceCapabilitiesKHR)
      -> IO Result)
pVkGetPhysicalDeviceSurfaceCapabilitiesKHR :: FunPtr (Ptr PhysicalDevice_T -> SurfaceKHR -> ("pSurfaceCapabilities" ::: Ptr SurfaceCapabilitiesKHR) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> SurfaceKHR
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pSurfaceFormats" ::: Ptr SurfaceFormatKHR)
      -> IO Result)
pVkGetPhysicalDeviceSurfaceFormatsKHR :: FunPtr (Ptr PhysicalDevice_T -> SurfaceKHR -> ("pSurfaceFormatCount" ::: Ptr Word32) -> ("pSurfaceFormats" ::: Ptr SurfaceFormatKHR) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> SurfaceKHR
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pPresentModes" ::: Ptr PresentModeKHR)
      -> IO Result)
pVkGetPhysicalDeviceSurfacePresentModesKHR :: FunPtr (Ptr PhysicalDevice_T -> SurfaceKHR -> ("pPresentModeCount" ::: Ptr Word32) -> ("pPresentModes" ::: Ptr PresentModeKHR) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr ViSurfaceCreateInfoNN)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
pVkCreateViSurfaceNN :: FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr ViSurfaceCreateInfoNN) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr WaylandSurfaceCreateInfoKHR)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
pVkCreateWaylandSurfaceKHR :: FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr WaylandSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T -> Word32 -> Ptr Wl_display -> IO Bool32)
pVkGetPhysicalDeviceWaylandPresentationSupportKHR :: FunPtr (Ptr PhysicalDevice_T -> ("queueFamilyIndex" ::: Word32) -> Ptr Wl_display -> IO Bool32)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr Win32SurfaceCreateInfoKHR)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
pVkCreateWin32SurfaceKHR :: FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr Win32SurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result)
  , InstanceCmds
-> FunPtr (Ptr PhysicalDevice_T -> Word32 -> IO Bool32)
pVkGetPhysicalDeviceWin32PresentationSupportKHR :: FunPtr (Ptr PhysicalDevice_T -> ("queueFamilyIndex" ::: Word32) -> IO Bool32)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr XlibSurfaceCreateInfoKHR)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
pVkCreateXlibSurfaceKHR :: FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr XlibSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Word32 -> ("dpy" ::: Ptr Display) -> VisualID -> IO Bool32)
pVkGetPhysicalDeviceXlibPresentationSupportKHR :: FunPtr (Ptr PhysicalDevice_T -> ("queueFamilyIndex" ::: Word32) -> ("dpy" ::: Ptr Display) -> VisualID -> IO Bool32)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr XcbSurfaceCreateInfoKHR)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
pVkCreateXcbSurfaceKHR :: FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr XcbSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Word32 -> Ptr Xcb_connection_t -> Word32 -> IO Bool32)
pVkGetPhysicalDeviceXcbPresentationSupportKHR :: FunPtr (Ptr PhysicalDevice_T -> ("queueFamilyIndex" ::: Word32) -> Ptr Xcb_connection_t -> ("visual_id" ::: Xcb_visualid_t) -> IO Bool32)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr DirectFBSurfaceCreateInfoEXT)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
pVkCreateDirectFBSurfaceEXT :: FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr DirectFBSurfaceCreateInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Word32 -> ("dfb" ::: Ptr IDirectFB) -> IO Bool32)
pVkGetPhysicalDeviceDirectFBPresentationSupportEXT :: FunPtr (Ptr PhysicalDevice_T -> ("queueFamilyIndex" ::: Word32) -> ("dfb" ::: Ptr IDirectFB) -> IO Bool32)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr ImagePipeSurfaceCreateInfoFUCHSIA)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
pVkCreateImagePipeSurfaceFUCHSIA :: FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr ImagePipeSurfaceCreateInfoFUCHSIA) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr StreamDescriptorSurfaceCreateInfoGGP)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
pVkCreateStreamDescriptorSurfaceGGP :: FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr StreamDescriptorSurfaceCreateInfoGGP) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pCallback" ::: Ptr DebugReportCallbackEXT)
      -> IO Result)
pVkCreateDebugReportCallbackEXT :: FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pCallback" ::: Ptr DebugReportCallbackEXT) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> DebugReportCallbackEXT
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> IO ())
pVkDestroyDebugReportCallbackEXT :: FunPtr (Ptr Instance_T -> DebugReportCallbackEXT -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> DebugReportFlagsEXT
      -> DebugReportObjectTypeEXT
      -> VisualID
      -> ("location" ::: CSize)
      -> ("messageCode" ::: Int32)
      -> ("pName" ::: Ptr CChar)
      -> ("pName" ::: Ptr CChar)
      -> IO ())
pVkDebugReportMessageEXT :: FunPtr (Ptr Instance_T -> DebugReportFlagsEXT -> DebugReportObjectTypeEXT -> ("object" ::: Word64) -> ("location" ::: CSize) -> ("messageCode" ::: Int32) -> ("pLayerPrefix" ::: Ptr CChar) -> ("pMessage" ::: Ptr CChar) -> IO ())
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Format
      -> ImageType
      -> ImageTiling
      -> ImageUsageFlags
      -> ImageCreateFlags
      -> ("externalHandleType" ::: ExternalMemoryHandleTypeFlagsNV)
      -> ("pExternalImageFormatProperties"
          ::: Ptr ExternalImageFormatPropertiesNV)
      -> IO Result)
pVkGetPhysicalDeviceExternalImageFormatPropertiesNV :: FunPtr (Ptr PhysicalDevice_T -> Format -> ImageType -> ImageTiling -> ImageUsageFlags -> ImageCreateFlags -> ("externalHandleType" ::: ExternalMemoryHandleTypeFlagsNV) -> ("pExternalImageFormatProperties" ::: Ptr ExternalImageFormatPropertiesNV) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pFeatures" ::: Ptr (SomeStruct PhysicalDeviceFeatures2))
      -> IO ())
pVkGetPhysicalDeviceFeatures2 :: FunPtr (Ptr PhysicalDevice_T -> ("pFeatures" ::: Ptr (SomeStruct PhysicalDeviceFeatures2)) -> IO ())
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pProperties" ::: Ptr (SomeStruct PhysicalDeviceProperties2))
      -> IO ())
pVkGetPhysicalDeviceProperties2 :: FunPtr (Ptr PhysicalDevice_T -> ("pProperties" ::: Ptr (SomeStruct PhysicalDeviceProperties2)) -> IO ())
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Format
      -> ("pFormatProperties" ::: Ptr (SomeStruct FormatProperties2))
      -> IO ())
pVkGetPhysicalDeviceFormatProperties2 :: FunPtr (Ptr PhysicalDevice_T -> Format -> ("pFormatProperties" ::: Ptr (SomeStruct FormatProperties2)) -> IO ())
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pImageFormatInfo"
          ::: Ptr (SomeStruct PhysicalDeviceImageFormatInfo2))
      -> ("pImageFormatProperties"
          ::: Ptr (SomeStruct ImageFormatProperties2))
      -> IO Result)
pVkGetPhysicalDeviceImageFormatProperties2 :: FunPtr (Ptr PhysicalDevice_T -> ("pImageFormatInfo" ::: Ptr (SomeStruct PhysicalDeviceImageFormatInfo2)) -> ("pImageFormatProperties" ::: Ptr (SomeStruct ImageFormatProperties2)) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pQueueFamilyProperties"
          ::: Ptr (SomeStruct QueueFamilyProperties2))
      -> IO ())
pVkGetPhysicalDeviceQueueFamilyProperties2 :: FunPtr (Ptr PhysicalDevice_T -> ("pQueueFamilyPropertyCount" ::: Ptr Word32) -> ("pQueueFamilyProperties" ::: Ptr (SomeStruct QueueFamilyProperties2)) -> IO ())
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pMemoryProperties"
          ::: Ptr (SomeStruct PhysicalDeviceMemoryProperties2))
      -> IO ())
pVkGetPhysicalDeviceMemoryProperties2 :: FunPtr (Ptr PhysicalDevice_T -> ("pMemoryProperties" ::: Ptr (SomeStruct PhysicalDeviceMemoryProperties2)) -> IO ())
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pFormatInfo" ::: Ptr PhysicalDeviceSparseImageFormatInfo2)
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr SparseImageFormatProperties2)
      -> IO ())
pVkGetPhysicalDeviceSparseImageFormatProperties2 :: FunPtr (Ptr PhysicalDevice_T -> ("pFormatInfo" ::: Ptr PhysicalDeviceSparseImageFormatInfo2) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr SparseImageFormatProperties2) -> IO ())
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pExternalBufferInfo" ::: Ptr PhysicalDeviceExternalBufferInfo)
      -> ("pExternalBufferProperties" ::: Ptr ExternalBufferProperties)
      -> IO ())
pVkGetPhysicalDeviceExternalBufferProperties :: FunPtr (Ptr PhysicalDevice_T -> ("pExternalBufferInfo" ::: Ptr PhysicalDeviceExternalBufferInfo) -> ("pExternalBufferProperties" ::: Ptr ExternalBufferProperties) -> IO ())
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pExternalSemaphoreInfo"
          ::: Ptr (SomeStruct PhysicalDeviceExternalSemaphoreInfo))
      -> ("pExternalSemaphoreProperties"
          ::: Ptr ExternalSemaphoreProperties)
      -> IO ())
pVkGetPhysicalDeviceExternalSemaphoreProperties :: FunPtr (Ptr PhysicalDevice_T -> ("pExternalSemaphoreInfo" ::: Ptr (SomeStruct PhysicalDeviceExternalSemaphoreInfo)) -> ("pExternalSemaphoreProperties" ::: Ptr ExternalSemaphoreProperties) -> IO ())
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pExternalFenceInfo" ::: Ptr PhysicalDeviceExternalFenceInfo)
      -> ("pExternalFenceProperties" ::: Ptr ExternalFenceProperties)
      -> IO ())
pVkGetPhysicalDeviceExternalFenceProperties :: FunPtr (Ptr PhysicalDevice_T -> ("pExternalFenceInfo" ::: Ptr PhysicalDeviceExternalFenceInfo) -> ("pExternalFenceProperties" ::: Ptr ExternalFenceProperties) -> IO ())
  , InstanceCmds
-> FunPtr (Ptr PhysicalDevice_T -> DisplayKHR -> IO Result)
pVkReleaseDisplayEXT :: FunPtr (Ptr PhysicalDevice_T -> DisplayKHR -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("dpy" ::: Ptr Display) -> DisplayKHR -> IO Result)
pVkAcquireXlibDisplayEXT :: FunPtr (Ptr PhysicalDevice_T -> ("dpy" ::: Ptr Display) -> DisplayKHR -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("dpy" ::: Ptr Display)
      -> VisualID
      -> ("pDisplays" ::: Ptr DisplayKHR)
      -> IO Result)
pVkGetRandROutputDisplayEXT :: FunPtr (Ptr PhysicalDevice_T -> ("dpy" ::: Ptr Display) -> RROutput -> ("pDisplay" ::: Ptr DisplayKHR) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> SurfaceKHR
      -> ("pSurfaceCapabilities" ::: Ptr SurfaceCapabilities2EXT)
      -> IO Result)
pVkGetPhysicalDeviceSurfaceCapabilities2EXT :: FunPtr (Ptr PhysicalDevice_T -> SurfaceKHR -> ("pSurfaceCapabilities" ::: Ptr SurfaceCapabilities2EXT) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pPhysicalDeviceGroupProperties"
          ::: Ptr PhysicalDeviceGroupProperties)
      -> IO Result)
pVkEnumeratePhysicalDeviceGroups :: FunPtr (Ptr Instance_T -> ("pPhysicalDeviceGroupCount" ::: Ptr Word32) -> ("pPhysicalDeviceGroupProperties" ::: Ptr PhysicalDeviceGroupProperties) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> SurfaceKHR
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pRects" ::: Ptr Rect2D)
      -> IO Result)
pVkGetPhysicalDevicePresentRectanglesKHR :: FunPtr (Ptr PhysicalDevice_T -> SurfaceKHR -> ("pRectCount" ::: Ptr Word32) -> ("pRects" ::: Ptr Rect2D) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr IOSSurfaceCreateInfoMVK)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
pVkCreateIOSSurfaceMVK :: FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr IOSSurfaceCreateInfoMVK) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr MacOSSurfaceCreateInfoMVK)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
pVkCreateMacOSSurfaceMVK :: FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr MacOSSurfaceCreateInfoMVK) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr MetalSurfaceCreateInfoEXT)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
pVkCreateMetalSurfaceEXT :: FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr MetalSurfaceCreateInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("samples" ::: SampleCountFlagBits)
      -> ("pMultisampleProperties" ::: Ptr MultisamplePropertiesEXT)
      -> IO ())
pVkGetPhysicalDeviceMultisamplePropertiesEXT :: FunPtr (Ptr PhysicalDevice_T -> ("samples" ::: SampleCountFlagBits) -> ("pMultisampleProperties" ::: Ptr MultisamplePropertiesEXT) -> IO ())
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pSurfaceInfo"
          ::: Ptr (SomeStruct PhysicalDeviceSurfaceInfo2KHR))
      -> ("pSurfaceCapabilities"
          ::: Ptr (SomeStruct SurfaceCapabilities2KHR))
      -> IO Result)
pVkGetPhysicalDeviceSurfaceCapabilities2KHR :: FunPtr (Ptr PhysicalDevice_T -> ("pSurfaceInfo" ::: Ptr (SomeStruct PhysicalDeviceSurfaceInfo2KHR)) -> ("pSurfaceCapabilities" ::: Ptr (SomeStruct SurfaceCapabilities2KHR)) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pSurfaceInfo"
          ::: Ptr (SomeStruct PhysicalDeviceSurfaceInfo2KHR))
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pSurfaceFormats" ::: Ptr SurfaceFormat2KHR)
      -> IO Result)
pVkGetPhysicalDeviceSurfaceFormats2KHR :: FunPtr (Ptr PhysicalDevice_T -> ("pSurfaceInfo" ::: Ptr (SomeStruct PhysicalDeviceSurfaceInfo2KHR)) -> ("pSurfaceFormatCount" ::: Ptr Word32) -> ("pSurfaceFormats" ::: Ptr SurfaceFormat2KHR) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr DisplayProperties2KHR)
      -> IO Result)
pVkGetPhysicalDeviceDisplayProperties2KHR :: FunPtr (Ptr PhysicalDevice_T -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr DisplayProperties2KHR) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr DisplayPlaneProperties2KHR)
      -> IO Result)
pVkGetPhysicalDeviceDisplayPlaneProperties2KHR :: FunPtr (Ptr PhysicalDevice_T -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr DisplayPlaneProperties2KHR) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> DisplayKHR
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr DisplayModeProperties2KHR)
      -> IO Result)
pVkGetDisplayModeProperties2KHR :: FunPtr (Ptr PhysicalDevice_T -> DisplayKHR -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr DisplayModeProperties2KHR) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pDisplayPlaneInfo" ::: Ptr DisplayPlaneInfo2KHR)
      -> ("pCapabilities" ::: Ptr DisplayPlaneCapabilities2KHR)
      -> IO Result)
pVkGetDisplayPlaneCapabilities2KHR :: FunPtr (Ptr PhysicalDevice_T -> ("pDisplayPlaneInfo" ::: Ptr DisplayPlaneInfo2KHR) -> ("pCapabilities" ::: Ptr DisplayPlaneCapabilities2KHR) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pTimeDomains" ::: Ptr TimeDomainEXT)
      -> IO Result)
pVkGetPhysicalDeviceCalibrateableTimeDomainsEXT :: FunPtr (Ptr PhysicalDevice_T -> ("pTimeDomainCount" ::: Ptr Word32) -> ("pTimeDomains" ::: Ptr TimeDomainEXT) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pMessenger" ::: Ptr DebugUtilsMessengerEXT)
      -> IO Result)
pVkCreateDebugUtilsMessengerEXT :: FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pMessenger" ::: Ptr DebugUtilsMessengerEXT) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> DebugUtilsMessengerEXT
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> IO ())
pVkDestroyDebugUtilsMessengerEXT :: FunPtr (Ptr Instance_T -> DebugUtilsMessengerEXT -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> DebugUtilsMessageSeverityFlagBitsEXT
      -> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
      -> ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
      -> IO ())
pVkSubmitDebugUtilsMessageEXT :: FunPtr (Ptr Instance_T -> DebugUtilsMessageSeverityFlagBitsEXT -> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT) -> IO ())
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr CooperativeMatrixPropertiesNV)
      -> IO Result)
pVkGetPhysicalDeviceCooperativeMatrixPropertiesNV :: FunPtr (Ptr PhysicalDevice_T -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr CooperativeMatrixPropertiesNV) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pSurfaceInfo"
          ::: Ptr (SomeStruct PhysicalDeviceSurfaceInfo2KHR))
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pPresentModes" ::: Ptr PresentModeKHR)
      -> IO Result)
pVkGetPhysicalDeviceSurfacePresentModes2EXT :: FunPtr (Ptr PhysicalDevice_T -> ("pSurfaceInfo" ::: Ptr (SomeStruct PhysicalDeviceSurfaceInfo2KHR)) -> ("pPresentModeCount" ::: Ptr Word32) -> ("pPresentModes" ::: Ptr PresentModeKHR) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Word32
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pCounters" ::: Ptr PerformanceCounterKHR)
      -> ("pCounterDescriptions"
          ::: Ptr PerformanceCounterDescriptionKHR)
      -> IO Result)
pVkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR :: FunPtr (Ptr PhysicalDevice_T -> ("queueFamilyIndex" ::: Word32) -> ("pCounterCount" ::: Ptr Word32) -> ("pCounters" ::: Ptr PerformanceCounterKHR) -> ("pCounterDescriptions" ::: Ptr PerformanceCounterDescriptionKHR) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPerformanceQueryCreateInfo"
          ::: Ptr QueryPoolPerformanceCreateInfoKHR)
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> IO ())
pVkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR :: FunPtr (Ptr PhysicalDevice_T -> ("pPerformanceQueryCreateInfo" ::: Ptr QueryPoolPerformanceCreateInfoKHR) -> ("pNumPasses" ::: Ptr Word32) -> IO ())
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr HeadlessSurfaceCreateInfoEXT)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
pVkCreateHeadlessSurfaceEXT :: FunPtr (Ptr Instance_T -> ("pCreateInfo" ::: Ptr HeadlessSurfaceCreateInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pCombinations" ::: Ptr FramebufferMixedSamplesCombinationNV)
      -> IO Result)
pVkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV :: FunPtr (Ptr PhysicalDevice_T -> ("pCombinationCount" ::: Ptr Word32) -> ("pCombinations" ::: Ptr FramebufferMixedSamplesCombinationNV) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pToolProperties" ::: Ptr PhysicalDeviceToolPropertiesEXT)
      -> IO Result)
pVkGetPhysicalDeviceToolPropertiesEXT :: FunPtr (Ptr PhysicalDevice_T -> ("pToolCount" ::: Ptr Word32) -> ("pToolProperties" ::: Ptr PhysicalDeviceToolPropertiesEXT) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pFragmentShadingRates"
          ::: Ptr PhysicalDeviceFragmentShadingRateKHR)
      -> IO Result)
pVkGetPhysicalDeviceFragmentShadingRatesKHR :: FunPtr (Ptr PhysicalDevice_T -> ("pFragmentShadingRateCount" ::: Ptr Word32) -> ("pFragmentShadingRates" ::: Ptr PhysicalDeviceFragmentShadingRateKHR) -> IO Result)
  }

deriving instance Eq InstanceCmds
deriving instance Show InstanceCmds
instance Zero InstanceCmds where
  zero :: InstanceCmds
zero = Ptr Instance_T
-> FunPtr
     (Ptr Instance_T
      -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
-> FunPtr
     (Ptr Instance_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pPhysicalDevices" ::: Ptr (Ptr PhysicalDevice_T))
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pProperties" ::: Ptr PhysicalDeviceProperties) -> IO ())
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pQueueFamilyProperties" ::: Ptr QueueFamilyProperties)
      -> IO ())
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pMemoryProperties" ::: Ptr PhysicalDeviceMemoryProperties)
      -> IO ())
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pFeatures" ::: Ptr PhysicalDeviceFeatures) -> IO ())
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Format
      -> ("pFormatProperties" ::: Ptr FormatProperties)
      -> IO ())
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Format
      -> ImageType
      -> ImageTiling
      -> ImageUsageFlags
      -> ImageCreateFlags
      -> ("pImageFormatProperties" ::: Ptr ImageFormatProperties)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pCreateInfo" ::: Ptr (SomeStruct DeviceCreateInfo))
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pDevice" ::: Ptr (Ptr Device_T))
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr LayerProperties)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pName" ::: Ptr CChar)
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr ExtensionProperties)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Format
      -> ImageType
      -> ("samples" ::: SampleCountFlagBits)
      -> ImageUsageFlags
      -> ImageTiling
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr SparseImageFormatProperties)
      -> IO ())
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr AndroidSurfaceCreateInfoKHR)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr DisplayPropertiesKHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr DisplayPlanePropertiesKHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Word32
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pDisplays" ::: Ptr DisplayKHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> DisplayKHR
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr DisplayModePropertiesKHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> DisplayKHR
      -> ("pCreateInfo" ::: Ptr DisplayModeCreateInfoKHR)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pMode" ::: Ptr DisplayModeKHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> DisplayModeKHR
      -> Word32
      -> ("pCapabilities" ::: Ptr DisplayPlaneCapabilitiesKHR)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr DisplaySurfaceCreateInfoKHR)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> SurfaceKHR
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> IO ())
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Word32
      -> SurfaceKHR
      -> ("pSupported" ::: Ptr Bool32)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> SurfaceKHR
      -> ("pSurfaceCapabilities" ::: Ptr SurfaceCapabilitiesKHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> SurfaceKHR
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pSurfaceFormats" ::: Ptr SurfaceFormatKHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> SurfaceKHR
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pPresentModes" ::: Ptr PresentModeKHR)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr ViSurfaceCreateInfoNN)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr WaylandSurfaceCreateInfoKHR)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T -> Word32 -> Ptr Wl_display -> IO Bool32)
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr Win32SurfaceCreateInfoKHR)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
-> FunPtr (Ptr PhysicalDevice_T -> Word32 -> IO Bool32)
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr XlibSurfaceCreateInfoKHR)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Word32 -> ("dpy" ::: Ptr Display) -> VisualID -> IO Bool32)
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr XcbSurfaceCreateInfoKHR)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Word32 -> Ptr Xcb_connection_t -> Word32 -> IO Bool32)
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr DirectFBSurfaceCreateInfoEXT)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Word32 -> ("dfb" ::: Ptr IDirectFB) -> IO Bool32)
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr ImagePipeSurfaceCreateInfoFUCHSIA)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr StreamDescriptorSurfaceCreateInfoGGP)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pCallback" ::: Ptr DebugReportCallbackEXT)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> DebugReportCallbackEXT
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> IO ())
-> FunPtr
     (Ptr Instance_T
      -> DebugReportFlagsEXT
      -> DebugReportObjectTypeEXT
      -> VisualID
      -> ("location" ::: CSize)
      -> ("messageCode" ::: Int32)
      -> ("pName" ::: Ptr CChar)
      -> ("pName" ::: Ptr CChar)
      -> IO ())
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Format
      -> ImageType
      -> ImageTiling
      -> ImageUsageFlags
      -> ImageCreateFlags
      -> ("externalHandleType" ::: ExternalMemoryHandleTypeFlagsNV)
      -> ("pExternalImageFormatProperties"
          ::: Ptr ExternalImageFormatPropertiesNV)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pFeatures" ::: Ptr (SomeStruct PhysicalDeviceFeatures2))
      -> IO ())
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pProperties" ::: Ptr (SomeStruct PhysicalDeviceProperties2))
      -> IO ())
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Format
      -> ("pFormatProperties" ::: Ptr (SomeStruct FormatProperties2))
      -> IO ())
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pImageFormatInfo"
          ::: Ptr (SomeStruct PhysicalDeviceImageFormatInfo2))
      -> ("pImageFormatProperties"
          ::: Ptr (SomeStruct ImageFormatProperties2))
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pQueueFamilyProperties"
          ::: Ptr (SomeStruct QueueFamilyProperties2))
      -> IO ())
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pMemoryProperties"
          ::: Ptr (SomeStruct PhysicalDeviceMemoryProperties2))
      -> IO ())
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pFormatInfo" ::: Ptr PhysicalDeviceSparseImageFormatInfo2)
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr SparseImageFormatProperties2)
      -> IO ())
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pExternalBufferInfo" ::: Ptr PhysicalDeviceExternalBufferInfo)
      -> ("pExternalBufferProperties" ::: Ptr ExternalBufferProperties)
      -> IO ())
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pExternalSemaphoreInfo"
          ::: Ptr (SomeStruct PhysicalDeviceExternalSemaphoreInfo))
      -> ("pExternalSemaphoreProperties"
          ::: Ptr ExternalSemaphoreProperties)
      -> IO ())
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pExternalFenceInfo" ::: Ptr PhysicalDeviceExternalFenceInfo)
      -> ("pExternalFenceProperties" ::: Ptr ExternalFenceProperties)
      -> IO ())
-> FunPtr (Ptr PhysicalDevice_T -> DisplayKHR -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("dpy" ::: Ptr Display) -> DisplayKHR -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("dpy" ::: Ptr Display)
      -> VisualID
      -> ("pDisplays" ::: Ptr DisplayKHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> SurfaceKHR
      -> ("pSurfaceCapabilities" ::: Ptr SurfaceCapabilities2EXT)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pPhysicalDeviceGroupProperties"
          ::: Ptr PhysicalDeviceGroupProperties)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> SurfaceKHR
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pRects" ::: Ptr Rect2D)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr IOSSurfaceCreateInfoMVK)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr MacOSSurfaceCreateInfoMVK)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr MetalSurfaceCreateInfoEXT)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("samples" ::: SampleCountFlagBits)
      -> ("pMultisampleProperties" ::: Ptr MultisamplePropertiesEXT)
      -> IO ())
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pSurfaceInfo"
          ::: Ptr (SomeStruct PhysicalDeviceSurfaceInfo2KHR))
      -> ("pSurfaceCapabilities"
          ::: Ptr (SomeStruct SurfaceCapabilities2KHR))
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pSurfaceInfo"
          ::: Ptr (SomeStruct PhysicalDeviceSurfaceInfo2KHR))
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pSurfaceFormats" ::: Ptr SurfaceFormat2KHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr DisplayProperties2KHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr DisplayPlaneProperties2KHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> DisplayKHR
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr DisplayModeProperties2KHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pDisplayPlaneInfo" ::: Ptr DisplayPlaneInfo2KHR)
      -> ("pCapabilities" ::: Ptr DisplayPlaneCapabilities2KHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pTimeDomains" ::: Ptr TimeDomainEXT)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pMessenger" ::: Ptr DebugUtilsMessengerEXT)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> DebugUtilsMessengerEXT
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> IO ())
-> FunPtr
     (Ptr Instance_T
      -> DebugUtilsMessageSeverityFlagBitsEXT
      -> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
      -> ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
      -> IO ())
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr CooperativeMatrixPropertiesNV)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pSurfaceInfo"
          ::: Ptr (SomeStruct PhysicalDeviceSurfaceInfo2KHR))
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pPresentModes" ::: Ptr PresentModeKHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Word32
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pCounters" ::: Ptr PerformanceCounterKHR)
      -> ("pCounterDescriptions"
          ::: Ptr PerformanceCounterDescriptionKHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPerformanceQueryCreateInfo"
          ::: Ptr QueryPoolPerformanceCreateInfoKHR)
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> IO ())
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr HeadlessSurfaceCreateInfoEXT)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pCombinations" ::: Ptr FramebufferMixedSamplesCombinationNV)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pToolProperties" ::: Ptr PhysicalDeviceToolPropertiesEXT)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pFragmentShadingRates"
          ::: Ptr PhysicalDeviceFragmentShadingRateKHR)
      -> IO Result)
-> InstanceCmds
InstanceCmds
    Ptr Instance_T
forall a. Ptr a
nullPtr FunPtr
  (Ptr Instance_T
   -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> ("pPhysicalDeviceCount" ::: Ptr Word32)
   -> ("pPhysicalDevices" ::: Ptr (Ptr PhysicalDevice_T))
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> ("pProperties" ::: Ptr PhysicalDeviceProperties) -> IO ())
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> ("pPhysicalDeviceCount" ::: Ptr Word32)
   -> ("pQueueFamilyProperties" ::: Ptr QueueFamilyProperties)
   -> IO ())
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> ("pMemoryProperties" ::: Ptr PhysicalDeviceMemoryProperties)
   -> IO ())
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> ("pFeatures" ::: Ptr PhysicalDeviceFeatures) -> IO ())
forall a. FunPtr a
nullFunPtr
    FunPtr
  (Ptr PhysicalDevice_T
   -> Format
   -> ("pFormatProperties" ::: Ptr FormatProperties)
   -> IO ())
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> Format
   -> ImageType
   -> ImageTiling
   -> ImageUsageFlags
   -> ImageCreateFlags
   -> ("pImageFormatProperties" ::: Ptr ImageFormatProperties)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> ("pCreateInfo" ::: Ptr (SomeStruct DeviceCreateInfo))
   -> ("pAllocator" ::: Ptr AllocationCallbacks)
   -> ("pDevice" ::: Ptr (Ptr Device_T))
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> ("pPhysicalDeviceCount" ::: Ptr Word32)
   -> ("pProperties" ::: Ptr LayerProperties)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> ("pName" ::: Ptr CChar)
   -> ("pPhysicalDeviceCount" ::: Ptr Word32)
   -> ("pProperties" ::: Ptr ExtensionProperties)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> Format
   -> ImageType
   -> ("samples" ::: SampleCountFlagBits)
   -> ImageUsageFlags
   -> ImageTiling
   -> ("pPhysicalDeviceCount" ::: Ptr Word32)
   -> ("pProperties" ::: Ptr SparseImageFormatProperties)
   -> IO ())
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> ("pCreateInfo" ::: Ptr AndroidSurfaceCreateInfoKHR)
   -> ("pAllocator" ::: Ptr AllocationCallbacks)
   -> ("pSurface" ::: Ptr SurfaceKHR)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> ("pPhysicalDeviceCount" ::: Ptr Word32)
   -> ("pProperties" ::: Ptr DisplayPropertiesKHR)
   -> IO Result)
forall a. FunPtr a
nullFunPtr
    FunPtr
  (Ptr PhysicalDevice_T
   -> ("pPhysicalDeviceCount" ::: Ptr Word32)
   -> ("pProperties" ::: Ptr DisplayPlanePropertiesKHR)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> Word32
   -> ("pPhysicalDeviceCount" ::: Ptr Word32)
   -> ("pDisplays" ::: Ptr DisplayKHR)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> DisplayKHR
   -> ("pPhysicalDeviceCount" ::: Ptr Word32)
   -> ("pProperties" ::: Ptr DisplayModePropertiesKHR)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> DisplayKHR
   -> ("pCreateInfo" ::: Ptr DisplayModeCreateInfoKHR)
   -> ("pAllocator" ::: Ptr AllocationCallbacks)
   -> ("pMode" ::: Ptr DisplayModeKHR)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> DisplayModeKHR
   -> Word32
   -> ("pCapabilities" ::: Ptr DisplayPlaneCapabilitiesKHR)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> ("pCreateInfo" ::: Ptr DisplaySurfaceCreateInfoKHR)
   -> ("pAllocator" ::: Ptr AllocationCallbacks)
   -> ("pSurface" ::: Ptr SurfaceKHR)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> SurfaceKHR
   -> ("pAllocator" ::: Ptr AllocationCallbacks)
   -> IO ())
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> Word32
   -> SurfaceKHR
   -> ("pSupported" ::: Ptr Bool32)
   -> IO Result)
forall a. FunPtr a
nullFunPtr
    FunPtr
  (Ptr PhysicalDevice_T
   -> SurfaceKHR
   -> ("pSurfaceCapabilities" ::: Ptr SurfaceCapabilitiesKHR)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> SurfaceKHR
   -> ("pPhysicalDeviceCount" ::: Ptr Word32)
   -> ("pSurfaceFormats" ::: Ptr SurfaceFormatKHR)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> SurfaceKHR
   -> ("pPhysicalDeviceCount" ::: Ptr Word32)
   -> ("pPresentModes" ::: Ptr PresentModeKHR)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> ("pCreateInfo" ::: Ptr ViSurfaceCreateInfoNN)
   -> ("pAllocator" ::: Ptr AllocationCallbacks)
   -> ("pSurface" ::: Ptr SurfaceKHR)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> ("pCreateInfo" ::: Ptr WaylandSurfaceCreateInfoKHR)
   -> ("pAllocator" ::: Ptr AllocationCallbacks)
   -> ("pSurface" ::: Ptr SurfaceKHR)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T -> Word32 -> Ptr Wl_display -> IO Bool32)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> ("pCreateInfo" ::: Ptr Win32SurfaceCreateInfoKHR)
   -> ("pAllocator" ::: Ptr AllocationCallbacks)
   -> ("pSurface" ::: Ptr SurfaceKHR)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr (Ptr PhysicalDevice_T -> Word32 -> IO Bool32)
forall a. FunPtr a
nullFunPtr
    FunPtr
  (Ptr Instance_T
   -> ("pCreateInfo" ::: Ptr XlibSurfaceCreateInfoKHR)
   -> ("pAllocator" ::: Ptr AllocationCallbacks)
   -> ("pSurface" ::: Ptr SurfaceKHR)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> Word32 -> ("dpy" ::: Ptr Display) -> VisualID -> IO Bool32)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> ("pCreateInfo" ::: Ptr XcbSurfaceCreateInfoKHR)
   -> ("pAllocator" ::: Ptr AllocationCallbacks)
   -> ("pSurface" ::: Ptr SurfaceKHR)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> Word32 -> Ptr Xcb_connection_t -> Word32 -> IO Bool32)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> ("pCreateInfo" ::: Ptr DirectFBSurfaceCreateInfoEXT)
   -> ("pAllocator" ::: Ptr AllocationCallbacks)
   -> ("pSurface" ::: Ptr SurfaceKHR)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> Word32 -> ("dfb" ::: Ptr IDirectFB) -> IO Bool32)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> ("pCreateInfo" ::: Ptr ImagePipeSurfaceCreateInfoFUCHSIA)
   -> ("pAllocator" ::: Ptr AllocationCallbacks)
   -> ("pSurface" ::: Ptr SurfaceKHR)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> ("pCreateInfo" ::: Ptr StreamDescriptorSurfaceCreateInfoGGP)
   -> ("pAllocator" ::: Ptr AllocationCallbacks)
   -> ("pSurface" ::: Ptr SurfaceKHR)
   -> IO Result)
forall a. FunPtr a
nullFunPtr
    FunPtr
  (Ptr Instance_T
   -> ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
   -> ("pAllocator" ::: Ptr AllocationCallbacks)
   -> ("pCallback" ::: Ptr DebugReportCallbackEXT)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> DebugReportCallbackEXT
   -> ("pAllocator" ::: Ptr AllocationCallbacks)
   -> IO ())
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> DebugReportFlagsEXT
   -> DebugReportObjectTypeEXT
   -> VisualID
   -> ("location" ::: CSize)
   -> ("messageCode" ::: Int32)
   -> ("pName" ::: Ptr CChar)
   -> ("pName" ::: Ptr CChar)
   -> IO ())
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> Format
   -> ImageType
   -> ImageTiling
   -> ImageUsageFlags
   -> ImageCreateFlags
   -> ("externalHandleType" ::: ExternalMemoryHandleTypeFlagsNV)
   -> ("pExternalImageFormatProperties"
       ::: Ptr ExternalImageFormatPropertiesNV)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> ("pFeatures" ::: Ptr (SomeStruct PhysicalDeviceFeatures2))
   -> IO ())
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> ("pProperties" ::: Ptr (SomeStruct PhysicalDeviceProperties2))
   -> IO ())
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> Format
   -> ("pFormatProperties" ::: Ptr (SomeStruct FormatProperties2))
   -> IO ())
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> ("pImageFormatInfo"
       ::: Ptr (SomeStruct PhysicalDeviceImageFormatInfo2))
   -> ("pImageFormatProperties"
       ::: Ptr (SomeStruct ImageFormatProperties2))
   -> IO Result)
forall a. FunPtr a
nullFunPtr
    FunPtr
  (Ptr PhysicalDevice_T
   -> ("pPhysicalDeviceCount" ::: Ptr Word32)
   -> ("pQueueFamilyProperties"
       ::: Ptr (SomeStruct QueueFamilyProperties2))
   -> IO ())
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> ("pMemoryProperties"
       ::: Ptr (SomeStruct PhysicalDeviceMemoryProperties2))
   -> IO ())
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> ("pFormatInfo" ::: Ptr PhysicalDeviceSparseImageFormatInfo2)
   -> ("pPhysicalDeviceCount" ::: Ptr Word32)
   -> ("pProperties" ::: Ptr SparseImageFormatProperties2)
   -> IO ())
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> ("pExternalBufferInfo" ::: Ptr PhysicalDeviceExternalBufferInfo)
   -> ("pExternalBufferProperties" ::: Ptr ExternalBufferProperties)
   -> IO ())
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> ("pExternalSemaphoreInfo"
       ::: Ptr (SomeStruct PhysicalDeviceExternalSemaphoreInfo))
   -> ("pExternalSemaphoreProperties"
       ::: Ptr ExternalSemaphoreProperties)
   -> IO ())
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> ("pExternalFenceInfo" ::: Ptr PhysicalDeviceExternalFenceInfo)
   -> ("pExternalFenceProperties" ::: Ptr ExternalFenceProperties)
   -> IO ())
forall a. FunPtr a
nullFunPtr FunPtr (Ptr PhysicalDevice_T -> DisplayKHR -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> ("dpy" ::: Ptr Display) -> DisplayKHR -> IO Result)
forall a. FunPtr a
nullFunPtr
    FunPtr
  (Ptr PhysicalDevice_T
   -> ("dpy" ::: Ptr Display)
   -> VisualID
   -> ("pDisplays" ::: Ptr DisplayKHR)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> SurfaceKHR
   -> ("pSurfaceCapabilities" ::: Ptr SurfaceCapabilities2EXT)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> ("pPhysicalDeviceCount" ::: Ptr Word32)
   -> ("pPhysicalDeviceGroupProperties"
       ::: Ptr PhysicalDeviceGroupProperties)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> SurfaceKHR
   -> ("pPhysicalDeviceCount" ::: Ptr Word32)
   -> ("pRects" ::: Ptr Rect2D)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> ("pCreateInfo" ::: Ptr IOSSurfaceCreateInfoMVK)
   -> ("pAllocator" ::: Ptr AllocationCallbacks)
   -> ("pSurface" ::: Ptr SurfaceKHR)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> ("pCreateInfo" ::: Ptr MacOSSurfaceCreateInfoMVK)
   -> ("pAllocator" ::: Ptr AllocationCallbacks)
   -> ("pSurface" ::: Ptr SurfaceKHR)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> ("pCreateInfo" ::: Ptr MetalSurfaceCreateInfoEXT)
   -> ("pAllocator" ::: Ptr AllocationCallbacks)
   -> ("pSurface" ::: Ptr SurfaceKHR)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> ("samples" ::: SampleCountFlagBits)
   -> ("pMultisampleProperties" ::: Ptr MultisamplePropertiesEXT)
   -> IO ())
forall a. FunPtr a
nullFunPtr
    FunPtr
  (Ptr PhysicalDevice_T
   -> ("pSurfaceInfo"
       ::: Ptr (SomeStruct PhysicalDeviceSurfaceInfo2KHR))
   -> ("pSurfaceCapabilities"
       ::: Ptr (SomeStruct SurfaceCapabilities2KHR))
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> ("pSurfaceInfo"
       ::: Ptr (SomeStruct PhysicalDeviceSurfaceInfo2KHR))
   -> ("pPhysicalDeviceCount" ::: Ptr Word32)
   -> ("pSurfaceFormats" ::: Ptr SurfaceFormat2KHR)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> ("pPhysicalDeviceCount" ::: Ptr Word32)
   -> ("pProperties" ::: Ptr DisplayProperties2KHR)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> ("pPhysicalDeviceCount" ::: Ptr Word32)
   -> ("pProperties" ::: Ptr DisplayPlaneProperties2KHR)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> DisplayKHR
   -> ("pPhysicalDeviceCount" ::: Ptr Word32)
   -> ("pProperties" ::: Ptr DisplayModeProperties2KHR)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> ("pDisplayPlaneInfo" ::: Ptr DisplayPlaneInfo2KHR)
   -> ("pCapabilities" ::: Ptr DisplayPlaneCapabilities2KHR)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> ("pPhysicalDeviceCount" ::: Ptr Word32)
   -> ("pTimeDomains" ::: Ptr TimeDomainEXT)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
   -> ("pAllocator" ::: Ptr AllocationCallbacks)
   -> ("pMessenger" ::: Ptr DebugUtilsMessengerEXT)
   -> IO Result)
forall a. FunPtr a
nullFunPtr
    FunPtr
  (Ptr Instance_T
   -> DebugUtilsMessengerEXT
   -> ("pAllocator" ::: Ptr AllocationCallbacks)
   -> IO ())
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> DebugUtilsMessageSeverityFlagBitsEXT
   -> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
   -> ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
   -> IO ())
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> ("pPhysicalDeviceCount" ::: Ptr Word32)
   -> ("pProperties" ::: Ptr CooperativeMatrixPropertiesNV)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> ("pSurfaceInfo"
       ::: Ptr (SomeStruct PhysicalDeviceSurfaceInfo2KHR))
   -> ("pPhysicalDeviceCount" ::: Ptr Word32)
   -> ("pPresentModes" ::: Ptr PresentModeKHR)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> Word32
   -> ("pPhysicalDeviceCount" ::: Ptr Word32)
   -> ("pCounters" ::: Ptr PerformanceCounterKHR)
   -> ("pCounterDescriptions"
       ::: Ptr PerformanceCounterDescriptionKHR)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> ("pPerformanceQueryCreateInfo"
       ::: Ptr QueryPoolPerformanceCreateInfoKHR)
   -> ("pPhysicalDeviceCount" ::: Ptr Word32)
   -> IO ())
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> ("pCreateInfo" ::: Ptr HeadlessSurfaceCreateInfoEXT)
   -> ("pAllocator" ::: Ptr AllocationCallbacks)
   -> ("pSurface" ::: Ptr SurfaceKHR)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> ("pPhysicalDeviceCount" ::: Ptr Word32)
   -> ("pCombinations" ::: Ptr FramebufferMixedSamplesCombinationNV)
   -> IO Result)
forall a. FunPtr a
nullFunPtr
    FunPtr
  (Ptr PhysicalDevice_T
   -> ("pPhysicalDeviceCount" ::: Ptr Word32)
   -> ("pToolProperties" ::: Ptr PhysicalDeviceToolPropertiesEXT)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr PhysicalDevice_T
   -> ("pPhysicalDeviceCount" ::: Ptr Word32)
   -> ("pFragmentShadingRates"
       ::: Ptr PhysicalDeviceFragmentShadingRateKHR)
   -> IO Result)
forall a. FunPtr a
nullFunPtr

-- | A version of 'getInstanceProcAddr' which can be called
-- with a null pointer for the instance.
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
  unsafe
#endif
  "vkGetInstanceProcAddr" getInstanceProcAddr' :: Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction

initInstanceCmds :: Ptr Instance_T -> IO InstanceCmds
initInstanceCmds :: Ptr Instance_T -> IO InstanceCmds
initInstanceCmds handle :: Ptr Instance_T
handle = do
  PFN_vkVoidFunction
vkDestroyInstance <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkDestroyInstance"#)
  PFN_vkVoidFunction
vkEnumeratePhysicalDevices <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkEnumeratePhysicalDevices"#)
  PFN_vkVoidFunction
vkGetInstanceProcAddr <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetInstanceProcAddr"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceProperties <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceProperties"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceQueueFamilyProperties <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceQueueFamilyProperties"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceMemoryProperties <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceMemoryProperties"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceFeatures <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceFeatures"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceFormatProperties <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceFormatProperties"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceImageFormatProperties <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceImageFormatProperties"#)
  PFN_vkVoidFunction
vkCreateDevice <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkCreateDevice"#)
  PFN_vkVoidFunction
vkEnumerateDeviceLayerProperties <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkEnumerateDeviceLayerProperties"#)
  PFN_vkVoidFunction
vkEnumerateDeviceExtensionProperties <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkEnumerateDeviceExtensionProperties"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceSparseImageFormatProperties <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceSparseImageFormatProperties"#)
  PFN_vkVoidFunction
vkCreateAndroidSurfaceKHR <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkCreateAndroidSurfaceKHR"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceDisplayPropertiesKHR <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceDisplayPropertiesKHR"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceDisplayPlanePropertiesKHR <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceDisplayPlanePropertiesKHR"#)
  PFN_vkVoidFunction
vkGetDisplayPlaneSupportedDisplaysKHR <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetDisplayPlaneSupportedDisplaysKHR"#)
  PFN_vkVoidFunction
vkGetDisplayModePropertiesKHR <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetDisplayModePropertiesKHR"#)
  PFN_vkVoidFunction
vkCreateDisplayModeKHR <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkCreateDisplayModeKHR"#)
  PFN_vkVoidFunction
vkGetDisplayPlaneCapabilitiesKHR <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetDisplayPlaneCapabilitiesKHR"#)
  PFN_vkVoidFunction
vkCreateDisplayPlaneSurfaceKHR <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkCreateDisplayPlaneSurfaceKHR"#)
  PFN_vkVoidFunction
vkDestroySurfaceKHR <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkDestroySurfaceKHR"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceSurfaceSupportKHR <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceSurfaceSupportKHR"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceSurfaceCapabilitiesKHR <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceSurfaceCapabilitiesKHR"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceSurfaceFormatsKHR <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceSurfaceFormatsKHR"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceSurfacePresentModesKHR <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceSurfacePresentModesKHR"#)
  PFN_vkVoidFunction
vkCreateViSurfaceNN <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkCreateViSurfaceNN"#)
  PFN_vkVoidFunction
vkCreateWaylandSurfaceKHR <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkCreateWaylandSurfaceKHR"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceWaylandPresentationSupportKHR <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceWaylandPresentationSupportKHR"#)
  PFN_vkVoidFunction
vkCreateWin32SurfaceKHR <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkCreateWin32SurfaceKHR"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceWin32PresentationSupportKHR <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceWin32PresentationSupportKHR"#)
  PFN_vkVoidFunction
vkCreateXlibSurfaceKHR <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkCreateXlibSurfaceKHR"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceXlibPresentationSupportKHR <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceXlibPresentationSupportKHR"#)
  PFN_vkVoidFunction
vkCreateXcbSurfaceKHR <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkCreateXcbSurfaceKHR"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceXcbPresentationSupportKHR <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceXcbPresentationSupportKHR"#)
  PFN_vkVoidFunction
vkCreateDirectFBSurfaceEXT <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkCreateDirectFBSurfaceEXT"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceDirectFBPresentationSupportEXT <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceDirectFBPresentationSupportEXT"#)
  PFN_vkVoidFunction
vkCreateImagePipeSurfaceFUCHSIA <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkCreateImagePipeSurfaceFUCHSIA"#)
  PFN_vkVoidFunction
vkCreateStreamDescriptorSurfaceGGP <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkCreateStreamDescriptorSurfaceGGP"#)
  PFN_vkVoidFunction
vkCreateDebugReportCallbackEXT <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkCreateDebugReportCallbackEXT"#)
  PFN_vkVoidFunction
vkDestroyDebugReportCallbackEXT <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkDestroyDebugReportCallbackEXT"#)
  PFN_vkVoidFunction
vkDebugReportMessageEXT <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkDebugReportMessageEXT"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceExternalImageFormatPropertiesNV <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceExternalImageFormatPropertiesNV"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceFeatures2 <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceFeatures2"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceProperties2 <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceProperties2"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceFormatProperties2 <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceFormatProperties2"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceImageFormatProperties2 <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceImageFormatProperties2"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceQueueFamilyProperties2 <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceQueueFamilyProperties2"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceMemoryProperties2 <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceMemoryProperties2"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceSparseImageFormatProperties2 <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceSparseImageFormatProperties2"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceExternalBufferProperties <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceExternalBufferProperties"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceExternalSemaphoreProperties <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceExternalSemaphoreProperties"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceExternalFenceProperties <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceExternalFenceProperties"#)
  PFN_vkVoidFunction
vkReleaseDisplayEXT <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkReleaseDisplayEXT"#)
  PFN_vkVoidFunction
vkAcquireXlibDisplayEXT <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkAcquireXlibDisplayEXT"#)
  PFN_vkVoidFunction
vkGetRandROutputDisplayEXT <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetRandROutputDisplayEXT"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceSurfaceCapabilities2EXT <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceSurfaceCapabilities2EXT"#)
  PFN_vkVoidFunction
vkEnumeratePhysicalDeviceGroups <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkEnumeratePhysicalDeviceGroups"#)
  PFN_vkVoidFunction
vkGetPhysicalDevicePresentRectanglesKHR <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDevicePresentRectanglesKHR"#)
  PFN_vkVoidFunction
vkCreateIOSSurfaceMVK <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkCreateIOSSurfaceMVK"#)
  PFN_vkVoidFunction
vkCreateMacOSSurfaceMVK <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkCreateMacOSSurfaceMVK"#)
  PFN_vkVoidFunction
vkCreateMetalSurfaceEXT <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkCreateMetalSurfaceEXT"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceMultisamplePropertiesEXT <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceMultisamplePropertiesEXT"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceSurfaceCapabilities2KHR <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceSurfaceCapabilities2KHR"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceSurfaceFormats2KHR <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceSurfaceFormats2KHR"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceDisplayProperties2KHR <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceDisplayProperties2KHR"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceDisplayPlaneProperties2KHR <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceDisplayPlaneProperties2KHR"#)
  PFN_vkVoidFunction
vkGetDisplayModeProperties2KHR <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetDisplayModeProperties2KHR"#)
  PFN_vkVoidFunction
vkGetDisplayPlaneCapabilities2KHR <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetDisplayPlaneCapabilities2KHR"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceCalibrateableTimeDomainsEXT <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT"#)
  PFN_vkVoidFunction
vkCreateDebugUtilsMessengerEXT <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkCreateDebugUtilsMessengerEXT"#)
  PFN_vkVoidFunction
vkDestroyDebugUtilsMessengerEXT <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkDestroyDebugUtilsMessengerEXT"#)
  PFN_vkVoidFunction
vkSubmitDebugUtilsMessageEXT <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkSubmitDebugUtilsMessageEXT"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceCooperativeMatrixPropertiesNV <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceSurfacePresentModes2EXT <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceSurfacePresentModes2EXT"#)
  PFN_vkVoidFunction
vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR"#)
  PFN_vkVoidFunction
vkCreateHeadlessSurfaceEXT <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkCreateHeadlessSurfaceEXT"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceToolPropertiesEXT <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceToolPropertiesEXT"#)
  PFN_vkVoidFunction
vkGetPhysicalDeviceFragmentShadingRatesKHR <- Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "pName" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "vkGetPhysicalDeviceFragmentShadingRatesKHR"#)
  InstanceCmds -> IO InstanceCmds
forall (f :: * -> *) a. Applicative f => a -> f a
pure (InstanceCmds -> IO InstanceCmds)
-> InstanceCmds -> IO InstanceCmds
forall a b. (a -> b) -> a -> b
$ Ptr Instance_T
-> FunPtr
     (Ptr Instance_T
      -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
-> FunPtr
     (Ptr Instance_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pPhysicalDevices" ::: Ptr (Ptr PhysicalDevice_T))
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pProperties" ::: Ptr PhysicalDeviceProperties) -> IO ())
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pQueueFamilyProperties" ::: Ptr QueueFamilyProperties)
      -> IO ())
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pMemoryProperties" ::: Ptr PhysicalDeviceMemoryProperties)
      -> IO ())
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pFeatures" ::: Ptr PhysicalDeviceFeatures) -> IO ())
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Format
      -> ("pFormatProperties" ::: Ptr FormatProperties)
      -> IO ())
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Format
      -> ImageType
      -> ImageTiling
      -> ImageUsageFlags
      -> ImageCreateFlags
      -> ("pImageFormatProperties" ::: Ptr ImageFormatProperties)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pCreateInfo" ::: Ptr (SomeStruct DeviceCreateInfo))
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pDevice" ::: Ptr (Ptr Device_T))
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr LayerProperties)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pName" ::: Ptr CChar)
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr ExtensionProperties)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Format
      -> ImageType
      -> ("samples" ::: SampleCountFlagBits)
      -> ImageUsageFlags
      -> ImageTiling
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr SparseImageFormatProperties)
      -> IO ())
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr AndroidSurfaceCreateInfoKHR)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr DisplayPropertiesKHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr DisplayPlanePropertiesKHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Word32
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pDisplays" ::: Ptr DisplayKHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> DisplayKHR
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr DisplayModePropertiesKHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> DisplayKHR
      -> ("pCreateInfo" ::: Ptr DisplayModeCreateInfoKHR)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pMode" ::: Ptr DisplayModeKHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> DisplayModeKHR
      -> Word32
      -> ("pCapabilities" ::: Ptr DisplayPlaneCapabilitiesKHR)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr DisplaySurfaceCreateInfoKHR)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> SurfaceKHR
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> IO ())
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Word32
      -> SurfaceKHR
      -> ("pSupported" ::: Ptr Bool32)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> SurfaceKHR
      -> ("pSurfaceCapabilities" ::: Ptr SurfaceCapabilitiesKHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> SurfaceKHR
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pSurfaceFormats" ::: Ptr SurfaceFormatKHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> SurfaceKHR
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pPresentModes" ::: Ptr PresentModeKHR)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr ViSurfaceCreateInfoNN)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr WaylandSurfaceCreateInfoKHR)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T -> Word32 -> Ptr Wl_display -> IO Bool32)
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr Win32SurfaceCreateInfoKHR)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
-> FunPtr (Ptr PhysicalDevice_T -> Word32 -> IO Bool32)
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr XlibSurfaceCreateInfoKHR)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Word32 -> ("dpy" ::: Ptr Display) -> VisualID -> IO Bool32)
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr XcbSurfaceCreateInfoKHR)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Word32 -> Ptr Xcb_connection_t -> Word32 -> IO Bool32)
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr DirectFBSurfaceCreateInfoEXT)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Word32 -> ("dfb" ::: Ptr IDirectFB) -> IO Bool32)
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr ImagePipeSurfaceCreateInfoFUCHSIA)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr StreamDescriptorSurfaceCreateInfoGGP)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pCallback" ::: Ptr DebugReportCallbackEXT)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> DebugReportCallbackEXT
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> IO ())
-> FunPtr
     (Ptr Instance_T
      -> DebugReportFlagsEXT
      -> DebugReportObjectTypeEXT
      -> VisualID
      -> ("location" ::: CSize)
      -> ("messageCode" ::: Int32)
      -> ("pName" ::: Ptr CChar)
      -> ("pName" ::: Ptr CChar)
      -> IO ())
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Format
      -> ImageType
      -> ImageTiling
      -> ImageUsageFlags
      -> ImageCreateFlags
      -> ("externalHandleType" ::: ExternalMemoryHandleTypeFlagsNV)
      -> ("pExternalImageFormatProperties"
          ::: Ptr ExternalImageFormatPropertiesNV)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pFeatures" ::: Ptr (SomeStruct PhysicalDeviceFeatures2))
      -> IO ())
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pProperties" ::: Ptr (SomeStruct PhysicalDeviceProperties2))
      -> IO ())
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Format
      -> ("pFormatProperties" ::: Ptr (SomeStruct FormatProperties2))
      -> IO ())
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pImageFormatInfo"
          ::: Ptr (SomeStruct PhysicalDeviceImageFormatInfo2))
      -> ("pImageFormatProperties"
          ::: Ptr (SomeStruct ImageFormatProperties2))
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pQueueFamilyProperties"
          ::: Ptr (SomeStruct QueueFamilyProperties2))
      -> IO ())
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pMemoryProperties"
          ::: Ptr (SomeStruct PhysicalDeviceMemoryProperties2))
      -> IO ())
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pFormatInfo" ::: Ptr PhysicalDeviceSparseImageFormatInfo2)
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr SparseImageFormatProperties2)
      -> IO ())
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pExternalBufferInfo" ::: Ptr PhysicalDeviceExternalBufferInfo)
      -> ("pExternalBufferProperties" ::: Ptr ExternalBufferProperties)
      -> IO ())
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pExternalSemaphoreInfo"
          ::: Ptr (SomeStruct PhysicalDeviceExternalSemaphoreInfo))
      -> ("pExternalSemaphoreProperties"
          ::: Ptr ExternalSemaphoreProperties)
      -> IO ())
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pExternalFenceInfo" ::: Ptr PhysicalDeviceExternalFenceInfo)
      -> ("pExternalFenceProperties" ::: Ptr ExternalFenceProperties)
      -> IO ())
-> FunPtr (Ptr PhysicalDevice_T -> DisplayKHR -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("dpy" ::: Ptr Display) -> DisplayKHR -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("dpy" ::: Ptr Display)
      -> VisualID
      -> ("pDisplays" ::: Ptr DisplayKHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> SurfaceKHR
      -> ("pSurfaceCapabilities" ::: Ptr SurfaceCapabilities2EXT)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pPhysicalDeviceGroupProperties"
          ::: Ptr PhysicalDeviceGroupProperties)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> SurfaceKHR
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pRects" ::: Ptr Rect2D)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr IOSSurfaceCreateInfoMVK)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr MacOSSurfaceCreateInfoMVK)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr MetalSurfaceCreateInfoEXT)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("samples" ::: SampleCountFlagBits)
      -> ("pMultisampleProperties" ::: Ptr MultisamplePropertiesEXT)
      -> IO ())
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pSurfaceInfo"
          ::: Ptr (SomeStruct PhysicalDeviceSurfaceInfo2KHR))
      -> ("pSurfaceCapabilities"
          ::: Ptr (SomeStruct SurfaceCapabilities2KHR))
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pSurfaceInfo"
          ::: Ptr (SomeStruct PhysicalDeviceSurfaceInfo2KHR))
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pSurfaceFormats" ::: Ptr SurfaceFormat2KHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr DisplayProperties2KHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr DisplayPlaneProperties2KHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> DisplayKHR
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr DisplayModeProperties2KHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pDisplayPlaneInfo" ::: Ptr DisplayPlaneInfo2KHR)
      -> ("pCapabilities" ::: Ptr DisplayPlaneCapabilities2KHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pTimeDomains" ::: Ptr TimeDomainEXT)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pMessenger" ::: Ptr DebugUtilsMessengerEXT)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> DebugUtilsMessengerEXT
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> IO ())
-> FunPtr
     (Ptr Instance_T
      -> DebugUtilsMessageSeverityFlagBitsEXT
      -> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
      -> ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
      -> IO ())
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr CooperativeMatrixPropertiesNV)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pSurfaceInfo"
          ::: Ptr (SomeStruct PhysicalDeviceSurfaceInfo2KHR))
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pPresentModes" ::: Ptr PresentModeKHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Word32
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pCounters" ::: Ptr PerformanceCounterKHR)
      -> ("pCounterDescriptions"
          ::: Ptr PerformanceCounterDescriptionKHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPerformanceQueryCreateInfo"
          ::: Ptr QueryPoolPerformanceCreateInfoKHR)
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> IO ())
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr HeadlessSurfaceCreateInfoEXT)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pCombinations" ::: Ptr FramebufferMixedSamplesCombinationNV)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pToolProperties" ::: Ptr PhysicalDeviceToolPropertiesEXT)
      -> IO Result)
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pFragmentShadingRates"
          ::: Ptr PhysicalDeviceFragmentShadingRateKHR)
      -> IO Result)
-> InstanceCmds
InstanceCmds Ptr Instance_T
handle
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) PFN_vkVoidFunction
vkDestroyInstance)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pPhysicalDevices" ::: Ptr (Ptr PhysicalDevice_T))
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> ("pPhysicalDeviceCount" ::: Ptr Word32) -> ("pPhysicalDevices" ::: Ptr (Ptr PhysicalDevice_T)) -> IO Result) PFN_vkVoidFunction
vkEnumeratePhysicalDevices)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction) PFN_vkVoidFunction
vkGetInstanceProcAddr)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pProperties" ::: Ptr PhysicalDeviceProperties) -> IO ())
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("pProperties" ::: Ptr PhysicalDeviceProperties) -> IO ()) PFN_vkVoidFunction
vkGetPhysicalDeviceProperties)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pQueueFamilyProperties" ::: Ptr QueueFamilyProperties)
      -> IO ())
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("pQueueFamilyPropertyCount" ::: Ptr Word32) -> ("pQueueFamilyProperties" ::: Ptr QueueFamilyProperties) -> IO ()) PFN_vkVoidFunction
vkGetPhysicalDeviceQueueFamilyProperties)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pMemoryProperties" ::: Ptr PhysicalDeviceMemoryProperties)
      -> IO ())
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("pMemoryProperties" ::: Ptr PhysicalDeviceMemoryProperties) -> IO ()) PFN_vkVoidFunction
vkGetPhysicalDeviceMemoryProperties)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pFeatures" ::: Ptr PhysicalDeviceFeatures) -> IO ())
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("pFeatures" ::: Ptr PhysicalDeviceFeatures) -> IO ()) PFN_vkVoidFunction
vkGetPhysicalDeviceFeatures)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Format
      -> ("pFormatProperties" ::: Ptr FormatProperties)
      -> IO ())
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> Format -> ("pFormatProperties" ::: Ptr FormatProperties) -> IO ()) PFN_vkVoidFunction
vkGetPhysicalDeviceFormatProperties)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Format
      -> ImageType
      -> ImageTiling
      -> ImageUsageFlags
      -> ImageCreateFlags
      -> ("pImageFormatProperties" ::: Ptr ImageFormatProperties)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> Format -> ImageType -> ImageTiling -> ImageUsageFlags -> ImageCreateFlags -> ("pImageFormatProperties" ::: Ptr ImageFormatProperties) -> IO Result) PFN_vkVoidFunction
vkGetPhysicalDeviceImageFormatProperties)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pCreateInfo" ::: Ptr (SomeStruct DeviceCreateInfo))
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pDevice" ::: Ptr (Ptr Device_T))
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("pCreateInfo" ::: Ptr (SomeStruct DeviceCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pDevice" ::: Ptr (Ptr Device_T)) -> IO Result) PFN_vkVoidFunction
vkCreateDevice)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr LayerProperties)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr LayerProperties) -> IO Result) PFN_vkVoidFunction
vkEnumerateDeviceLayerProperties)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pName" ::: Ptr CChar)
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr ExtensionProperties)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("pLayerName" ::: Ptr CChar) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr ExtensionProperties) -> IO Result) PFN_vkVoidFunction
vkEnumerateDeviceExtensionProperties)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Format
      -> ImageType
      -> ("samples" ::: SampleCountFlagBits)
      -> ImageUsageFlags
      -> ImageTiling
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr SparseImageFormatProperties)
      -> IO ())
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> Format -> ImageType -> ("samples" ::: SampleCountFlagBits) -> ImageUsageFlags -> ImageTiling -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr SparseImageFormatProperties) -> IO ()) PFN_vkVoidFunction
vkGetPhysicalDeviceSparseImageFormatProperties)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr AndroidSurfaceCreateInfoKHR)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> ("pCreateInfo" ::: Ptr AndroidSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result) PFN_vkVoidFunction
vkCreateAndroidSurfaceKHR)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr DisplayPropertiesKHR)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr DisplayPropertiesKHR) -> IO Result) PFN_vkVoidFunction
vkGetPhysicalDeviceDisplayPropertiesKHR)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr DisplayPlanePropertiesKHR)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr DisplayPlanePropertiesKHR) -> IO Result) PFN_vkVoidFunction
vkGetPhysicalDeviceDisplayPlanePropertiesKHR)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Word32
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pDisplays" ::: Ptr DisplayKHR)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("planeIndex" ::: Word32) -> ("pDisplayCount" ::: Ptr Word32) -> ("pDisplays" ::: Ptr DisplayKHR) -> IO Result) PFN_vkVoidFunction
vkGetDisplayPlaneSupportedDisplaysKHR)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> DisplayKHR
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr DisplayModePropertiesKHR)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> DisplayKHR -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr DisplayModePropertiesKHR) -> IO Result) PFN_vkVoidFunction
vkGetDisplayModePropertiesKHR)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> DisplayKHR
      -> ("pCreateInfo" ::: Ptr DisplayModeCreateInfoKHR)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pMode" ::: Ptr DisplayModeKHR)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> DisplayKHR -> ("pCreateInfo" ::: Ptr DisplayModeCreateInfoKHR) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pMode" ::: Ptr DisplayModeKHR) -> IO Result) PFN_vkVoidFunction
vkCreateDisplayModeKHR)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> DisplayModeKHR
      -> Word32
      -> ("pCapabilities" ::: Ptr DisplayPlaneCapabilitiesKHR)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> DisplayModeKHR -> ("planeIndex" ::: Word32) -> ("pCapabilities" ::: Ptr DisplayPlaneCapabilitiesKHR) -> IO Result) PFN_vkVoidFunction
vkGetDisplayPlaneCapabilitiesKHR)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr DisplaySurfaceCreateInfoKHR)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> ("pCreateInfo" ::: Ptr DisplaySurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result) PFN_vkVoidFunction
vkCreateDisplayPlaneSurfaceKHR)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> SurfaceKHR
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> IO ())
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> SurfaceKHR -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) PFN_vkVoidFunction
vkDestroySurfaceKHR)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Word32
      -> SurfaceKHR
      -> ("pSupported" ::: Ptr Bool32)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("queueFamilyIndex" ::: Word32) -> SurfaceKHR -> ("pSupported" ::: Ptr Bool32) -> IO Result) PFN_vkVoidFunction
vkGetPhysicalDeviceSurfaceSupportKHR)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> SurfaceKHR
      -> ("pSurfaceCapabilities" ::: Ptr SurfaceCapabilitiesKHR)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> SurfaceKHR -> ("pSurfaceCapabilities" ::: Ptr SurfaceCapabilitiesKHR) -> IO Result) PFN_vkVoidFunction
vkGetPhysicalDeviceSurfaceCapabilitiesKHR)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> SurfaceKHR
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pSurfaceFormats" ::: Ptr SurfaceFormatKHR)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> SurfaceKHR -> ("pSurfaceFormatCount" ::: Ptr Word32) -> ("pSurfaceFormats" ::: Ptr SurfaceFormatKHR) -> IO Result) PFN_vkVoidFunction
vkGetPhysicalDeviceSurfaceFormatsKHR)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> SurfaceKHR
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pPresentModes" ::: Ptr PresentModeKHR)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> SurfaceKHR -> ("pPresentModeCount" ::: Ptr Word32) -> ("pPresentModes" ::: Ptr PresentModeKHR) -> IO Result) PFN_vkVoidFunction
vkGetPhysicalDeviceSurfacePresentModesKHR)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr ViSurfaceCreateInfoNN)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> ("pCreateInfo" ::: Ptr ViSurfaceCreateInfoNN) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result) PFN_vkVoidFunction
vkCreateViSurfaceNN)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr WaylandSurfaceCreateInfoKHR)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> ("pCreateInfo" ::: Ptr WaylandSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result) PFN_vkVoidFunction
vkCreateWaylandSurfaceKHR)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T -> Word32 -> Ptr Wl_display -> IO Bool32)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("queueFamilyIndex" ::: Word32) -> Ptr Wl_display -> IO Bool32) PFN_vkVoidFunction
vkGetPhysicalDeviceWaylandPresentationSupportKHR)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr Win32SurfaceCreateInfoKHR)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> ("pCreateInfo" ::: Ptr Win32SurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result) PFN_vkVoidFunction
vkCreateWin32SurfaceKHR)
    (PFN_vkVoidFunction
-> FunPtr (Ptr PhysicalDevice_T -> Word32 -> IO Bool32)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("queueFamilyIndex" ::: Word32) -> IO Bool32) PFN_vkVoidFunction
vkGetPhysicalDeviceWin32PresentationSupportKHR)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr XlibSurfaceCreateInfoKHR)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> ("pCreateInfo" ::: Ptr XlibSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result) PFN_vkVoidFunction
vkCreateXlibSurfaceKHR)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Word32 -> ("dpy" ::: Ptr Display) -> VisualID -> IO Bool32)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("queueFamilyIndex" ::: Word32) -> ("dpy" ::: Ptr Display) -> VisualID -> IO Bool32) PFN_vkVoidFunction
vkGetPhysicalDeviceXlibPresentationSupportKHR)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr XcbSurfaceCreateInfoKHR)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> ("pCreateInfo" ::: Ptr XcbSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result) PFN_vkVoidFunction
vkCreateXcbSurfaceKHR)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Word32 -> Ptr Xcb_connection_t -> Word32 -> IO Bool32)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("queueFamilyIndex" ::: Word32) -> Ptr Xcb_connection_t -> ("visual_id" ::: Xcb_visualid_t) -> IO Bool32) PFN_vkVoidFunction
vkGetPhysicalDeviceXcbPresentationSupportKHR)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr DirectFBSurfaceCreateInfoEXT)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> ("pCreateInfo" ::: Ptr DirectFBSurfaceCreateInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result) PFN_vkVoidFunction
vkCreateDirectFBSurfaceEXT)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Word32 -> ("dfb" ::: Ptr IDirectFB) -> IO Bool32)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("queueFamilyIndex" ::: Word32) -> ("dfb" ::: Ptr IDirectFB) -> IO Bool32) PFN_vkVoidFunction
vkGetPhysicalDeviceDirectFBPresentationSupportEXT)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr ImagePipeSurfaceCreateInfoFUCHSIA)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> ("pCreateInfo" ::: Ptr ImagePipeSurfaceCreateInfoFUCHSIA) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result) PFN_vkVoidFunction
vkCreateImagePipeSurfaceFUCHSIA)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr StreamDescriptorSurfaceCreateInfoGGP)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> ("pCreateInfo" ::: Ptr StreamDescriptorSurfaceCreateInfoGGP) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result) PFN_vkVoidFunction
vkCreateStreamDescriptorSurfaceGGP)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pCallback" ::: Ptr DebugReportCallbackEXT)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pCallback" ::: Ptr DebugReportCallbackEXT) -> IO Result) PFN_vkVoidFunction
vkCreateDebugReportCallbackEXT)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> DebugReportCallbackEXT
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> IO ())
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> DebugReportCallbackEXT -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) PFN_vkVoidFunction
vkDestroyDebugReportCallbackEXT)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> DebugReportFlagsEXT
      -> DebugReportObjectTypeEXT
      -> VisualID
      -> ("location" ::: CSize)
      -> ("messageCode" ::: Int32)
      -> ("pName" ::: Ptr CChar)
      -> ("pName" ::: Ptr CChar)
      -> IO ())
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> DebugReportFlagsEXT -> DebugReportObjectTypeEXT -> ("object" ::: Word64) -> ("location" ::: CSize) -> ("messageCode" ::: Int32) -> ("pLayerPrefix" ::: Ptr CChar) -> ("pMessage" ::: Ptr CChar) -> IO ()) PFN_vkVoidFunction
vkDebugReportMessageEXT)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Format
      -> ImageType
      -> ImageTiling
      -> ImageUsageFlags
      -> ImageCreateFlags
      -> ("externalHandleType" ::: ExternalMemoryHandleTypeFlagsNV)
      -> ("pExternalImageFormatProperties"
          ::: Ptr ExternalImageFormatPropertiesNV)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> Format -> ImageType -> ImageTiling -> ImageUsageFlags -> ImageCreateFlags -> ("externalHandleType" ::: ExternalMemoryHandleTypeFlagsNV) -> ("pExternalImageFormatProperties" ::: Ptr ExternalImageFormatPropertiesNV) -> IO Result) PFN_vkVoidFunction
vkGetPhysicalDeviceExternalImageFormatPropertiesNV)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pFeatures" ::: Ptr (SomeStruct PhysicalDeviceFeatures2))
      -> IO ())
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("pFeatures" ::: Ptr (SomeStruct PhysicalDeviceFeatures2)) -> IO ()) PFN_vkVoidFunction
vkGetPhysicalDeviceFeatures2)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pProperties" ::: Ptr (SomeStruct PhysicalDeviceProperties2))
      -> IO ())
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("pProperties" ::: Ptr (SomeStruct PhysicalDeviceProperties2)) -> IO ()) PFN_vkVoidFunction
vkGetPhysicalDeviceProperties2)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Format
      -> ("pFormatProperties" ::: Ptr (SomeStruct FormatProperties2))
      -> IO ())
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> Format -> ("pFormatProperties" ::: Ptr (SomeStruct FormatProperties2)) -> IO ()) PFN_vkVoidFunction
vkGetPhysicalDeviceFormatProperties2)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pImageFormatInfo"
          ::: Ptr (SomeStruct PhysicalDeviceImageFormatInfo2))
      -> ("pImageFormatProperties"
          ::: Ptr (SomeStruct ImageFormatProperties2))
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("pImageFormatInfo" ::: Ptr (SomeStruct PhysicalDeviceImageFormatInfo2)) -> ("pImageFormatProperties" ::: Ptr (SomeStruct ImageFormatProperties2)) -> IO Result) PFN_vkVoidFunction
vkGetPhysicalDeviceImageFormatProperties2)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pQueueFamilyProperties"
          ::: Ptr (SomeStruct QueueFamilyProperties2))
      -> IO ())
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("pQueueFamilyPropertyCount" ::: Ptr Word32) -> ("pQueueFamilyProperties" ::: Ptr (SomeStruct QueueFamilyProperties2)) -> IO ()) PFN_vkVoidFunction
vkGetPhysicalDeviceQueueFamilyProperties2)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pMemoryProperties"
          ::: Ptr (SomeStruct PhysicalDeviceMemoryProperties2))
      -> IO ())
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("pMemoryProperties" ::: Ptr (SomeStruct PhysicalDeviceMemoryProperties2)) -> IO ()) PFN_vkVoidFunction
vkGetPhysicalDeviceMemoryProperties2)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pFormatInfo" ::: Ptr PhysicalDeviceSparseImageFormatInfo2)
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr SparseImageFormatProperties2)
      -> IO ())
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("pFormatInfo" ::: Ptr PhysicalDeviceSparseImageFormatInfo2) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr SparseImageFormatProperties2) -> IO ()) PFN_vkVoidFunction
vkGetPhysicalDeviceSparseImageFormatProperties2)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pExternalBufferInfo" ::: Ptr PhysicalDeviceExternalBufferInfo)
      -> ("pExternalBufferProperties" ::: Ptr ExternalBufferProperties)
      -> IO ())
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("pExternalBufferInfo" ::: Ptr PhysicalDeviceExternalBufferInfo) -> ("pExternalBufferProperties" ::: Ptr ExternalBufferProperties) -> IO ()) PFN_vkVoidFunction
vkGetPhysicalDeviceExternalBufferProperties)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pExternalSemaphoreInfo"
          ::: Ptr (SomeStruct PhysicalDeviceExternalSemaphoreInfo))
      -> ("pExternalSemaphoreProperties"
          ::: Ptr ExternalSemaphoreProperties)
      -> IO ())
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("pExternalSemaphoreInfo" ::: Ptr (SomeStruct PhysicalDeviceExternalSemaphoreInfo)) -> ("pExternalSemaphoreProperties" ::: Ptr ExternalSemaphoreProperties) -> IO ()) PFN_vkVoidFunction
vkGetPhysicalDeviceExternalSemaphoreProperties)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pExternalFenceInfo" ::: Ptr PhysicalDeviceExternalFenceInfo)
      -> ("pExternalFenceProperties" ::: Ptr ExternalFenceProperties)
      -> IO ())
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("pExternalFenceInfo" ::: Ptr PhysicalDeviceExternalFenceInfo) -> ("pExternalFenceProperties" ::: Ptr ExternalFenceProperties) -> IO ()) PFN_vkVoidFunction
vkGetPhysicalDeviceExternalFenceProperties)
    (PFN_vkVoidFunction
-> FunPtr (Ptr PhysicalDevice_T -> DisplayKHR -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> DisplayKHR -> IO Result) PFN_vkVoidFunction
vkReleaseDisplayEXT)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("dpy" ::: Ptr Display) -> DisplayKHR -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("dpy" ::: Ptr Display) -> DisplayKHR -> IO Result) PFN_vkVoidFunction
vkAcquireXlibDisplayEXT)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("dpy" ::: Ptr Display)
      -> VisualID
      -> ("pDisplays" ::: Ptr DisplayKHR)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("dpy" ::: Ptr Display) -> RROutput -> ("pDisplay" ::: Ptr DisplayKHR) -> IO Result) PFN_vkVoidFunction
vkGetRandROutputDisplayEXT)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> SurfaceKHR
      -> ("pSurfaceCapabilities" ::: Ptr SurfaceCapabilities2EXT)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> SurfaceKHR -> ("pSurfaceCapabilities" ::: Ptr SurfaceCapabilities2EXT) -> IO Result) PFN_vkVoidFunction
vkGetPhysicalDeviceSurfaceCapabilities2EXT)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pPhysicalDeviceGroupProperties"
          ::: Ptr PhysicalDeviceGroupProperties)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> ("pPhysicalDeviceGroupCount" ::: Ptr Word32) -> ("pPhysicalDeviceGroupProperties" ::: Ptr PhysicalDeviceGroupProperties) -> IO Result) PFN_vkVoidFunction
vkEnumeratePhysicalDeviceGroups)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> SurfaceKHR
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pRects" ::: Ptr Rect2D)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> SurfaceKHR -> ("pRectCount" ::: Ptr Word32) -> ("pRects" ::: Ptr Rect2D) -> IO Result) PFN_vkVoidFunction
vkGetPhysicalDevicePresentRectanglesKHR)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr IOSSurfaceCreateInfoMVK)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> ("pCreateInfo" ::: Ptr IOSSurfaceCreateInfoMVK) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result) PFN_vkVoidFunction
vkCreateIOSSurfaceMVK)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr MacOSSurfaceCreateInfoMVK)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> ("pCreateInfo" ::: Ptr MacOSSurfaceCreateInfoMVK) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result) PFN_vkVoidFunction
vkCreateMacOSSurfaceMVK)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr MetalSurfaceCreateInfoEXT)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> ("pCreateInfo" ::: Ptr MetalSurfaceCreateInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result) PFN_vkVoidFunction
vkCreateMetalSurfaceEXT)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("samples" ::: SampleCountFlagBits)
      -> ("pMultisampleProperties" ::: Ptr MultisamplePropertiesEXT)
      -> IO ())
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("samples" ::: SampleCountFlagBits) -> ("pMultisampleProperties" ::: Ptr MultisamplePropertiesEXT) -> IO ()) PFN_vkVoidFunction
vkGetPhysicalDeviceMultisamplePropertiesEXT)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pSurfaceInfo"
          ::: Ptr (SomeStruct PhysicalDeviceSurfaceInfo2KHR))
      -> ("pSurfaceCapabilities"
          ::: Ptr (SomeStruct SurfaceCapabilities2KHR))
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("pSurfaceInfo" ::: Ptr (SomeStruct PhysicalDeviceSurfaceInfo2KHR)) -> ("pSurfaceCapabilities" ::: Ptr (SomeStruct SurfaceCapabilities2KHR)) -> IO Result) PFN_vkVoidFunction
vkGetPhysicalDeviceSurfaceCapabilities2KHR)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pSurfaceInfo"
          ::: Ptr (SomeStruct PhysicalDeviceSurfaceInfo2KHR))
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pSurfaceFormats" ::: Ptr SurfaceFormat2KHR)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("pSurfaceInfo" ::: Ptr (SomeStruct PhysicalDeviceSurfaceInfo2KHR)) -> ("pSurfaceFormatCount" ::: Ptr Word32) -> ("pSurfaceFormats" ::: Ptr SurfaceFormat2KHR) -> IO Result) PFN_vkVoidFunction
vkGetPhysicalDeviceSurfaceFormats2KHR)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr DisplayProperties2KHR)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr DisplayProperties2KHR) -> IO Result) PFN_vkVoidFunction
vkGetPhysicalDeviceDisplayProperties2KHR)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr DisplayPlaneProperties2KHR)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr DisplayPlaneProperties2KHR) -> IO Result) PFN_vkVoidFunction
vkGetPhysicalDeviceDisplayPlaneProperties2KHR)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> DisplayKHR
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr DisplayModeProperties2KHR)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> DisplayKHR -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr DisplayModeProperties2KHR) -> IO Result) PFN_vkVoidFunction
vkGetDisplayModeProperties2KHR)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pDisplayPlaneInfo" ::: Ptr DisplayPlaneInfo2KHR)
      -> ("pCapabilities" ::: Ptr DisplayPlaneCapabilities2KHR)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("pDisplayPlaneInfo" ::: Ptr DisplayPlaneInfo2KHR) -> ("pCapabilities" ::: Ptr DisplayPlaneCapabilities2KHR) -> IO Result) PFN_vkVoidFunction
vkGetDisplayPlaneCapabilities2KHR)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pTimeDomains" ::: Ptr TimeDomainEXT)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("pTimeDomainCount" ::: Ptr Word32) -> ("pTimeDomains" ::: Ptr TimeDomainEXT) -> IO Result) PFN_vkVoidFunction
vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pMessenger" ::: Ptr DebugUtilsMessengerEXT)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pMessenger" ::: Ptr DebugUtilsMessengerEXT) -> IO Result) PFN_vkVoidFunction
vkCreateDebugUtilsMessengerEXT)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> DebugUtilsMessengerEXT
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> IO ())
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> DebugUtilsMessengerEXT -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) PFN_vkVoidFunction
vkDestroyDebugUtilsMessengerEXT)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> DebugUtilsMessageSeverityFlagBitsEXT
      -> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
      -> ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
      -> IO ())
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> DebugUtilsMessageSeverityFlagBitsEXT -> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT) -> IO ()) PFN_vkVoidFunction
vkSubmitDebugUtilsMessageEXT)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pProperties" ::: Ptr CooperativeMatrixPropertiesNV)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr CooperativeMatrixPropertiesNV) -> IO Result) PFN_vkVoidFunction
vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pSurfaceInfo"
          ::: Ptr (SomeStruct PhysicalDeviceSurfaceInfo2KHR))
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pPresentModes" ::: Ptr PresentModeKHR)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("pSurfaceInfo" ::: Ptr (SomeStruct PhysicalDeviceSurfaceInfo2KHR)) -> ("pPresentModeCount" ::: Ptr Word32) -> ("pPresentModes" ::: Ptr PresentModeKHR) -> IO Result) PFN_vkVoidFunction
vkGetPhysicalDeviceSurfacePresentModes2EXT)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> Word32
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pCounters" ::: Ptr PerformanceCounterKHR)
      -> ("pCounterDescriptions"
          ::: Ptr PerformanceCounterDescriptionKHR)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("queueFamilyIndex" ::: Word32) -> ("pCounterCount" ::: Ptr Word32) -> ("pCounters" ::: Ptr PerformanceCounterKHR) -> ("pCounterDescriptions" ::: Ptr PerformanceCounterDescriptionKHR) -> IO Result) PFN_vkVoidFunction
vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPerformanceQueryCreateInfo"
          ::: Ptr QueryPoolPerformanceCreateInfoKHR)
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> IO ())
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("pPerformanceQueryCreateInfo" ::: Ptr QueryPoolPerformanceCreateInfoKHR) -> ("pNumPasses" ::: Ptr Word32) -> IO ()) PFN_vkVoidFunction
vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> ("pCreateInfo" ::: Ptr HeadlessSurfaceCreateInfoEXT)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSurface" ::: Ptr SurfaceKHR)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> ("pCreateInfo" ::: Ptr HeadlessSurfaceCreateInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSurface" ::: Ptr SurfaceKHR) -> IO Result) PFN_vkVoidFunction
vkCreateHeadlessSurfaceEXT)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pCombinations" ::: Ptr FramebufferMixedSamplesCombinationNV)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("pCombinationCount" ::: Ptr Word32) -> ("pCombinations" ::: Ptr FramebufferMixedSamplesCombinationNV) -> IO Result) PFN_vkVoidFunction
vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pToolProperties" ::: Ptr PhysicalDeviceToolPropertiesEXT)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("pToolCount" ::: Ptr Word32) -> ("pToolProperties" ::: Ptr PhysicalDeviceToolPropertiesEXT) -> IO Result) PFN_vkVoidFunction
vkGetPhysicalDeviceToolPropertiesEXT)
    (PFN_vkVoidFunction
-> FunPtr
     (Ptr PhysicalDevice_T
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pFragmentShadingRates"
          ::: Ptr PhysicalDeviceFragmentShadingRateKHR)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr PhysicalDevice_T -> ("pFragmentShadingRateCount" ::: Ptr Word32) -> ("pFragmentShadingRates" ::: Ptr PhysicalDeviceFragmentShadingRateKHR) -> IO Result) PFN_vkVoidFunction
vkGetPhysicalDeviceFragmentShadingRatesKHR)

data DeviceCmds = DeviceCmds
  { DeviceCmds -> Ptr Device_T
deviceCmdsHandle :: Ptr Device_T
  , DeviceCmds
-> FunPtr
     (Ptr Device_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction)
pVkGetDeviceProcAddr :: FunPtr (Ptr Device_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
pVkDestroyDevice :: FunPtr (Ptr Device_T -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> Word32 -> Word32 -> ("pQueue" ::: Ptr (Ptr Queue_T)) -> IO ())
pVkGetDeviceQueue :: FunPtr (Ptr Device_T -> ("queueFamilyIndex" ::: Word32) -> ("queueIndex" ::: Word32) -> ("pQueue" ::: Ptr (Ptr Queue_T)) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr Queue_T
      -> Word32
      -> ("pSubmits" ::: Ptr (SomeStruct SubmitInfo))
      -> Fence
      -> IO Result)
pVkQueueSubmit :: FunPtr (Ptr Queue_T -> ("submitCount" ::: Word32) -> ("pSubmits" ::: Ptr (SomeStruct SubmitInfo)) -> Fence -> IO Result)
  , DeviceCmds -> FunPtr (Ptr Queue_T -> IO Result)
pVkQueueWaitIdle :: FunPtr (Ptr Queue_T -> IO Result)
  , DeviceCmds -> FunPtr (Ptr Device_T -> IO Result)
pVkDeviceWaitIdle :: FunPtr (Ptr Device_T -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> ("pAllocateInfo" ::: Ptr (SomeStruct MemoryAllocateInfo))
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pMemory" ::: Ptr DeviceMemory)
      -> IO Result)
pVkAllocateMemory :: FunPtr (Ptr Device_T -> ("pAllocateInfo" ::: Ptr (SomeStruct MemoryAllocateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pMemory" ::: Ptr DeviceMemory) -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> DeviceMemory
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> IO ())
pVkFreeMemory :: FunPtr (Ptr Device_T -> DeviceMemory -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> DeviceMemory
      -> VisualID
      -> VisualID
      -> MemoryMapFlags
      -> ("dpy" ::: Ptr Display)
      -> IO Result)
pVkMapMemory :: FunPtr (Ptr Device_T -> DeviceMemory -> ("offset" ::: DeviceSize) -> DeviceSize -> MemoryMapFlags -> ("ppData" ::: Ptr (Ptr ())) -> IO Result)
  , DeviceCmds -> FunPtr (Ptr Device_T -> DeviceMemory -> IO ())
pVkUnmapMemory :: FunPtr (Ptr Device_T -> DeviceMemory -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> Word32
      -> ("pMemoryRanges" ::: Ptr MappedMemoryRange)
      -> IO Result)
pVkFlushMappedMemoryRanges :: FunPtr (Ptr Device_T -> ("memoryRangeCount" ::: Word32) -> ("pMemoryRanges" ::: Ptr MappedMemoryRange) -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> Word32
      -> ("pMemoryRanges" ::: Ptr MappedMemoryRange)
      -> IO Result)
pVkInvalidateMappedMemoryRanges :: FunPtr (Ptr Device_T -> ("memoryRangeCount" ::: Word32) -> ("pMemoryRanges" ::: Ptr MappedMemoryRange) -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> DeviceMemory
      -> ("pCommittedMemoryInBytes" ::: Ptr VisualID)
      -> IO ())
pVkGetDeviceMemoryCommitment :: FunPtr (Ptr Device_T -> DeviceMemory -> ("pCommittedMemoryInBytes" ::: Ptr DeviceSize) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> Buffer
      -> ("pMemoryRequirements" ::: Ptr MemoryRequirements)
      -> IO ())
pVkGetBufferMemoryRequirements :: FunPtr (Ptr Device_T -> Buffer -> ("pMemoryRequirements" ::: Ptr MemoryRequirements) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr Device_T -> Buffer -> DeviceMemory -> VisualID -> IO Result)
pVkBindBufferMemory :: FunPtr (Ptr Device_T -> Buffer -> DeviceMemory -> ("memoryOffset" ::: DeviceSize) -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> Image
      -> ("pMemoryRequirements" ::: Ptr MemoryRequirements)
      -> IO ())
pVkGetImageMemoryRequirements :: FunPtr (Ptr Device_T -> Image -> ("pMemoryRequirements" ::: Ptr MemoryRequirements) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr Device_T -> Image -> DeviceMemory -> VisualID -> IO Result)
pVkBindImageMemory :: FunPtr (Ptr Device_T -> Image -> DeviceMemory -> ("memoryOffset" ::: DeviceSize) -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> Image
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> ("pSparseMemoryRequirements"
          ::: Ptr SparseImageMemoryRequirements)
      -> IO ())
pVkGetImageSparseMemoryRequirements :: FunPtr (Ptr Device_T -> Image -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr SparseImageMemoryRequirements) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr Queue_T
      -> Word32
      -> ("pBindInfo" ::: Ptr (SomeStruct BindSparseInfo))
      -> Fence
      -> IO Result)
pVkQueueBindSparse :: FunPtr (Ptr Queue_T -> ("bindInfoCount" ::: Word32) -> ("pBindInfo" ::: Ptr (SomeStruct BindSparseInfo)) -> Fence -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> ("pCreateInfo" ::: Ptr (SomeStruct FenceCreateInfo))
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pFence" ::: Ptr Fence)
      -> IO Result)
pVkCreateFence :: FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct FenceCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pFence" ::: Ptr Fence) -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> Fence -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
pVkDestroyFence :: FunPtr (Ptr Device_T -> Fence -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr Device_T -> Word32 -> ("pFence" ::: Ptr Fence) -> IO Result)
pVkResetFences :: FunPtr (Ptr Device_T -> ("fenceCount" ::: Word32) -> ("pFences" ::: Ptr Fence) -> IO Result)
  , DeviceCmds -> FunPtr (Ptr Device_T -> Fence -> IO Result)
pVkGetFenceStatus :: FunPtr (Ptr Device_T -> Fence -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> Word32
      -> ("pFence" ::: Ptr Fence)
      -> Bool32
      -> VisualID
      -> IO Result)
pVkWaitForFences :: FunPtr (Ptr Device_T -> ("fenceCount" ::: Word32) -> ("pFences" ::: Ptr Fence) -> ("waitAll" ::: Bool32) -> ("timeout" ::: Word64) -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> ("pCreateInfo" ::: Ptr (SomeStruct SemaphoreCreateInfo))
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSemaphore" ::: Ptr Semaphore)
      -> IO Result)
pVkCreateSemaphore :: FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct SemaphoreCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSemaphore" ::: Ptr Semaphore) -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> Semaphore
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> IO ())
pVkDestroySemaphore :: FunPtr (Ptr Device_T -> Semaphore -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> ("pCreateInfo" ::: Ptr EventCreateInfo)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pEvent" ::: Ptr Event)
      -> IO Result)
pVkCreateEvent :: FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr EventCreateInfo) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pEvent" ::: Ptr Event) -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> Event -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
pVkDestroyEvent :: FunPtr (Ptr Device_T -> Event -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
  , DeviceCmds -> FunPtr (Ptr Device_T -> Event -> IO Result)
pVkGetEventStatus :: FunPtr (Ptr Device_T -> Event -> IO Result)
  , DeviceCmds -> FunPtr (Ptr Device_T -> Event -> IO Result)
pVkSetEvent :: FunPtr (Ptr Device_T -> Event -> IO Result)
  , DeviceCmds -> FunPtr (Ptr Device_T -> Event -> IO Result)
pVkResetEvent :: FunPtr (Ptr Device_T -> Event -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> ("pCreateInfo" ::: Ptr (SomeStruct QueryPoolCreateInfo))
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pQueryPool" ::: Ptr QueryPool)
      -> IO Result)
pVkCreateQueryPool :: FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct QueryPoolCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pQueryPool" ::: Ptr QueryPool) -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> QueryPool
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> IO ())
pVkDestroyQueryPool :: FunPtr (Ptr Device_T -> QueryPool -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> QueryPool
      -> Word32
      -> Word32
      -> ("location" ::: CSize)
      -> Display
      -> VisualID
      -> QueryResultFlags
      -> IO Result)
pVkGetQueryPoolResults :: FunPtr (Ptr Device_T -> QueryPool -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> ("dataSize" ::: CSize) -> ("pData" ::: Ptr ()) -> ("stride" ::: DeviceSize) -> QueryResultFlags -> IO Result)
  , DeviceCmds
-> FunPtr (Ptr Device_T -> QueryPool -> Word32 -> Word32 -> IO ())
pVkResetQueryPool :: FunPtr (Ptr Device_T -> QueryPool -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> ("pCreateInfo" ::: Ptr (SomeStruct BufferCreateInfo))
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pBuffer" ::: Ptr Buffer)
      -> IO Result)
pVkCreateBuffer :: FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct BufferCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pBuffer" ::: Ptr Buffer) -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> Buffer -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
pVkDestroyBuffer :: FunPtr (Ptr Device_T -> Buffer -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> ("pCreateInfo" ::: Ptr BufferViewCreateInfo)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pView" ::: Ptr BufferView)
      -> IO Result)
pVkCreateBufferView :: FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr BufferViewCreateInfo) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pView" ::: Ptr BufferView) -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> BufferView
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> IO ())
pVkDestroyBufferView :: FunPtr (Ptr Device_T -> BufferView -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> ("pCreateInfo" ::: Ptr (SomeStruct ImageCreateInfo))
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pImage" ::: Ptr Image)
      -> IO Result)
pVkCreateImage :: FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct ImageCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pImage" ::: Ptr Image) -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> Image -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
pVkDestroyImage :: FunPtr (Ptr Device_T -> Image -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> Image
      -> ("pSubresource" ::: Ptr ImageSubresource)
      -> ("pLayout" ::: Ptr SubresourceLayout)
      -> IO ())
pVkGetImageSubresourceLayout :: FunPtr (Ptr Device_T -> Image -> ("pSubresource" ::: Ptr ImageSubresource) -> ("pLayout" ::: Ptr SubresourceLayout) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> ("pCreateInfo" ::: Ptr (SomeStruct ImageViewCreateInfo))
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pView" ::: Ptr ImageView)
      -> IO Result)
pVkCreateImageView :: FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct ImageViewCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pView" ::: Ptr ImageView) -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> ImageView
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> IO ())
pVkDestroyImageView :: FunPtr (Ptr Device_T -> ImageView -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> ("pCreateInfo" ::: Ptr (SomeStruct ShaderModuleCreateInfo))
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pShaderModule" ::: Ptr ShaderModule)
      -> IO Result)
pVkCreateShaderModule :: FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct ShaderModuleCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pShaderModule" ::: Ptr ShaderModule) -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> ShaderModule
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> IO ())
pVkDestroyShaderModule :: FunPtr (Ptr Device_T -> ShaderModule -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> ("pCreateInfo" ::: Ptr PipelineCacheCreateInfo)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pPipelineCache" ::: Ptr PipelineCache)
      -> IO Result)
pVkCreatePipelineCache :: FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr PipelineCacheCreateInfo) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPipelineCache" ::: Ptr PipelineCache) -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> PipelineCache
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> IO ())
pVkDestroyPipelineCache :: FunPtr (Ptr Device_T -> PipelineCache -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> PipelineCache
      -> ("pDataSize" ::: Ptr ("location" ::: CSize))
      -> Display
      -> IO Result)
pVkGetPipelineCacheData :: FunPtr (Ptr Device_T -> PipelineCache -> ("pDataSize" ::: Ptr CSize) -> ("pData" ::: Ptr ()) -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> PipelineCache
      -> Word32
      -> ("pPipelineCache" ::: Ptr PipelineCache)
      -> IO Result)
pVkMergePipelineCaches :: FunPtr (Ptr Device_T -> ("dstCache" ::: PipelineCache) -> ("srcCacheCount" ::: Word32) -> ("pSrcCaches" ::: Ptr PipelineCache) -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> PipelineCache
      -> Word32
      -> ("pCreateInfos" ::: Ptr (SomeStruct GraphicsPipelineCreateInfo))
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pPipelines" ::: Ptr Pipeline)
      -> IO Result)
pVkCreateGraphicsPipelines :: FunPtr (Ptr Device_T -> PipelineCache -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr (SomeStruct GraphicsPipelineCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPipelines" ::: Ptr Pipeline) -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> PipelineCache
      -> Word32
      -> ("pCreateInfos" ::: Ptr (SomeStruct ComputePipelineCreateInfo))
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pPipelines" ::: Ptr Pipeline)
      -> IO Result)
pVkCreateComputePipelines :: FunPtr (Ptr Device_T -> PipelineCache -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr (SomeStruct ComputePipelineCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPipelines" ::: Ptr Pipeline) -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> Pipeline -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
pVkDestroyPipeline :: FunPtr (Ptr Device_T -> Pipeline -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> ("pCreateInfo" ::: Ptr PipelineLayoutCreateInfo)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pPipelineLayout" ::: Ptr PipelineLayout)
      -> IO Result)
pVkCreatePipelineLayout :: FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr PipelineLayoutCreateInfo) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPipelineLayout" ::: Ptr PipelineLayout) -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> PipelineLayout
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> IO ())
pVkDestroyPipelineLayout :: FunPtr (Ptr Device_T -> PipelineLayout -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> ("pCreateInfo" ::: Ptr (SomeStruct SamplerCreateInfo))
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSampler" ::: Ptr Sampler)
      -> IO Result)
pVkCreateSampler :: FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct SamplerCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSampler" ::: Ptr Sampler) -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> Sampler -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
pVkDestroySampler :: FunPtr (Ptr Device_T -> Sampler -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> ("pCreateInfo"
          ::: Ptr (SomeStruct DescriptorSetLayoutCreateInfo))
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pSetLayout" ::: Ptr DescriptorSetLayout)
      -> IO Result)
pVkCreateDescriptorSetLayout :: FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct DescriptorSetLayoutCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSetLayout" ::: Ptr DescriptorSetLayout) -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> DescriptorSetLayout
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> IO ())
pVkDestroyDescriptorSetLayout :: FunPtr (Ptr Device_T -> DescriptorSetLayout -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> ("pCreateInfo" ::: Ptr (SomeStruct DescriptorPoolCreateInfo))
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pDescriptorPool" ::: Ptr DescriptorPool)
      -> IO Result)
pVkCreateDescriptorPool :: FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct DescriptorPoolCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pDescriptorPool" ::: Ptr DescriptorPool) -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> DescriptorPool
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> IO ())
pVkDestroyDescriptorPool :: FunPtr (Ptr Device_T -> DescriptorPool -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> DescriptorPool -> DescriptorPoolResetFlags -> IO Result)
pVkResetDescriptorPool :: FunPtr (Ptr Device_T -> DescriptorPool -> DescriptorPoolResetFlags -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> ("pAllocateInfo" ::: Ptr (SomeStruct DescriptorSetAllocateInfo))
      -> ("pDescriptorSets" ::: Ptr DescriptorSet)
      -> IO Result)
pVkAllocateDescriptorSets :: FunPtr (Ptr Device_T -> ("pAllocateInfo" ::: Ptr (SomeStruct DescriptorSetAllocateInfo)) -> ("pDescriptorSets" ::: Ptr DescriptorSet) -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> DescriptorPool
      -> Word32
      -> ("pDescriptorSets" ::: Ptr DescriptorSet)
      -> IO Result)
pVkFreeDescriptorSets :: FunPtr (Ptr Device_T -> DescriptorPool -> ("descriptorSetCount" ::: Word32) -> ("pDescriptorSets" ::: Ptr DescriptorSet) -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> Word32
      -> ("pDescriptorWrites" ::: Ptr (SomeStruct WriteDescriptorSet))
      -> Word32
      -> ("pDescriptorCopies" ::: Ptr CopyDescriptorSet)
      -> IO ())
pVkUpdateDescriptorSets :: FunPtr (Ptr Device_T -> ("descriptorWriteCount" ::: Word32) -> ("pDescriptorWrites" ::: Ptr (SomeStruct WriteDescriptorSet)) -> ("descriptorCopyCount" ::: Word32) -> ("pDescriptorCopies" ::: Ptr CopyDescriptorSet) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> ("pCreateInfo" ::: Ptr (SomeStruct FramebufferCreateInfo))
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pFramebuffer" ::: Ptr Framebuffer)
      -> IO Result)
pVkCreateFramebuffer :: FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct FramebufferCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pFramebuffer" ::: Ptr Framebuffer) -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> Framebuffer
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> IO ())
pVkDestroyFramebuffer :: FunPtr (Ptr Device_T -> Framebuffer -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> ("pCreateInfo" ::: Ptr (SomeStruct RenderPassCreateInfo))
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pRenderPass" ::: Ptr RenderPass)
      -> IO Result)
pVkCreateRenderPass :: FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct RenderPassCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pRenderPass" ::: Ptr RenderPass) -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> RenderPass
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> IO ())
pVkDestroyRenderPass :: FunPtr (Ptr Device_T -> RenderPass -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> RenderPass -> ("pGranularity" ::: Ptr Extent2D) -> IO ())
pVkGetRenderAreaGranularity :: FunPtr (Ptr Device_T -> RenderPass -> ("pGranularity" ::: Ptr Extent2D) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> ("pCreateInfo" ::: Ptr CommandPoolCreateInfo)
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> ("pCommandPool" ::: Ptr CommandPool)
      -> IO Result)
pVkCreateCommandPool :: FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr CommandPoolCreateInfo) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pCommandPool" ::: Ptr CommandPool) -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> CommandPool
      -> ("pAllocator" ::: Ptr AllocationCallbacks)
      -> IO ())
pVkDestroyCommandPool :: FunPtr (Ptr Device_T -> CommandPool -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr Device_T -> CommandPool -> CommandPoolResetFlags -> IO Result)
pVkResetCommandPool :: FunPtr (Ptr Device_T -> CommandPool -> CommandPoolResetFlags -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> ("pAllocateInfo" ::: Ptr CommandBufferAllocateInfo)
      -> ("pCommandBuffers" ::: Ptr (Ptr CommandBuffer_T))
      -> IO Result)
pVkAllocateCommandBuffers :: FunPtr (Ptr Device_T -> ("pAllocateInfo" ::: Ptr CommandBufferAllocateInfo) -> ("pCommandBuffers" ::: Ptr (Ptr CommandBuffer_T)) -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr Device_T
      -> CommandPool
      -> Word32
      -> ("pCommandBuffers" ::: Ptr (Ptr CommandBuffer_T))
      -> IO ())
pVkFreeCommandBuffers :: FunPtr (Ptr Device_T -> CommandPool -> ("commandBufferCount" ::: Word32) -> ("pCommandBuffers" ::: Ptr (Ptr CommandBuffer_T)) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr CommandBuffer_T
      -> ("pBeginInfo" ::: Ptr (SomeStruct CommandBufferBeginInfo))
      -> IO Result)
pVkBeginCommandBuffer :: FunPtr (Ptr CommandBuffer_T -> ("pBeginInfo" ::: Ptr (SomeStruct CommandBufferBeginInfo)) -> IO Result)
  , DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> IO Result)
pVkEndCommandBuffer :: FunPtr (Ptr CommandBuffer_T -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr CommandBuffer_T -> CommandBufferResetFlags -> IO Result)
pVkResetCommandBuffer :: FunPtr (Ptr CommandBuffer_T -> CommandBufferResetFlags -> IO Result)
  , DeviceCmds
-> FunPtr
     (Ptr CommandBuffer_T -> PipelineBindPoint -> Pipeline -> IO ())
pVkCmdBindPipeline :: FunPtr (Ptr CommandBuffer_T -> PipelineBindPoint -> Pipeline -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr CommandBuffer_T
      -> Word32 -> Word32 -> ("pViewports" ::: Ptr Viewport) -> IO ())
pVkCmdSetViewport :: FunPtr (Ptr CommandBuffer_T -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pViewports" ::: Ptr Viewport) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr CommandBuffer_T
      -> Word32 -> Word32 -> ("pRects" ::: Ptr Rect2D) -> IO ())
pVkCmdSetScissor :: FunPtr (Ptr CommandBuffer_T -> ("firstScissor" ::: Word32) -> ("scissorCount" ::: Word32) -> ("pScissors" ::: Ptr Rect2D) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr CommandBuffer_T -> ("lineWidth" ::: CFloat) -> IO ())
pVkCmdSetLineWidth :: FunPtr (Ptr CommandBuffer_T -> ("lineWidth" ::: CFloat) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr CommandBuffer_T
      -> ("lineWidth" ::: CFloat)
      -> ("lineWidth" ::: CFloat)
      -> ("lineWidth" ::: CFloat)
      -> IO ())
pVkCmdSetDepthBias :: FunPtr (Ptr CommandBuffer_T -> ("depthBiasConstantFactor" ::: CFloat) -> ("depthBiasClamp" ::: CFloat) -> ("depthBiasSlopeFactor" ::: CFloat) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr CommandBuffer_T
      -> ("blendConstants"
          ::: Ptr (FixedArray 4 ("lineWidth" ::: CFloat)))
      -> IO ())
pVkCmdSetBlendConstants :: FunPtr (Ptr CommandBuffer_T -> ("blendConstants" ::: Ptr (FixedArray 4 CFloat)) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr CommandBuffer_T
      -> ("lineWidth" ::: CFloat) -> ("lineWidth" ::: CFloat) -> IO ())
pVkCmdSetDepthBounds :: FunPtr (Ptr CommandBuffer_T -> ("minDepthBounds" ::: CFloat) -> ("maxDepthBounds" ::: CFloat) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr CommandBuffer_T
      -> ("faceMask" ::: StencilFaceFlags) -> Word32 -> IO ())
pVkCmdSetStencilCompareMask :: FunPtr (Ptr CommandBuffer_T -> ("faceMask" ::: StencilFaceFlags) -> ("compareMask" ::: Word32) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr CommandBuffer_T
      -> ("faceMask" ::: StencilFaceFlags) -> Word32 -> IO ())
pVkCmdSetStencilWriteMask :: FunPtr (Ptr CommandBuffer_T -> ("faceMask" ::: StencilFaceFlags) -> ("writeMask" ::: Word32) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr CommandBuffer_T
      -> ("faceMask" ::: StencilFaceFlags) -> Word32 -> IO ())
pVkCmdSetStencilReference :: FunPtr (Ptr CommandBuffer_T -> ("faceMask" ::: StencilFaceFlags) -> ("reference" ::: Word32) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr CommandBuffer_T
      -> PipelineBindPoint
      -> PipelineLayout
      -> Word32
      -> Word32
      -> ("pDescriptorSets" ::: Ptr DescriptorSet)
      -> Word32
      -> ("pPhysicalDeviceCount" ::: Ptr Word32)
      -> IO ())
pVkCmdBindDescriptorSets :: FunPtr (Ptr CommandBuffer_T -> PipelineBindPoint -> PipelineLayout -> ("firstSet" ::: Word32) -> ("descriptorSetCount" ::: Word32) -> ("pDescriptorSets" ::: Ptr DescriptorSet) -> ("dynamicOffsetCount" ::: Word32) -> ("pDynamicOffsets" ::: Ptr Word32) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr CommandBuffer_T -> Buffer -> VisualID -> IndexType -> IO ())
pVkCmdBindIndexBuffer :: FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> IndexType -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr CommandBuffer_T
      -> Word32
      -> Word32
      -> ("pBuffer" ::: Ptr Buffer)
      -> ("pCommittedMemoryInBytes" ::: Ptr VisualID)
      -> IO ())
pVkCmdBindVertexBuffers :: FunPtr (Ptr CommandBuffer_T -> ("firstBinding" ::: Word32) -> ("bindingCount" ::: Word32) -> ("pBuffers" ::: Ptr Buffer) -> ("pOffsets" ::: Ptr DeviceSize) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr CommandBuffer_T
      -> Word32 -> Word32 -> Word32 -> Word32 -> IO ())
pVkCmdDraw :: FunPtr (Ptr CommandBuffer_T -> ("vertexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstVertex" ::: Word32) -> ("firstInstance" ::: Word32) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr CommandBuffer_T
      -> Word32
      -> Word32
      -> Word32
      -> ("messageCode" ::: Int32)
      -> Word32
      -> IO ())
pVkCmdDrawIndexed :: FunPtr (Ptr CommandBuffer_T -> ("indexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstIndex" ::: Word32) -> ("vertexOffset" ::: Int32) -> ("firstInstance" ::: Word32) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr CommandBuffer_T
      -> Buffer -> VisualID -> Word32 -> Word32 -> IO ())
pVkCmdDrawIndirect :: FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr CommandBuffer_T
      -> Buffer -> VisualID -> Word32 -> Word32 -> IO ())
pVkCmdDrawIndexedIndirect :: FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr CommandBuffer_T -> Word32 -> Word32 -> Word32 -> IO ())
pVkCmdDispatch :: FunPtr (Ptr CommandBuffer_T -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> IO ())
  , DeviceCmds
-> FunPtr (Ptr CommandBuffer_T -> Buffer -> VisualID -> IO ())
pVkCmdDispatchIndirect :: FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr CommandBuffer_T
      -> Buffer
      -> Buffer
      -> Word32
      -> ("pRegions" ::: Ptr BufferCopy)
      -> IO ())
pVkCmdCopyBuffer :: FunPtr (Ptr CommandBuffer_T -> ("srcBuffer" ::: Buffer) -> ("dstBuffer" ::: Buffer) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr BufferCopy) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr CommandBuffer_T
      -> Image
      -> ("srcImageLayout" ::: ImageLayout)
      -> Image
      -> ("srcImageLayout" ::: ImageLayout)
      -> Word32
      -> ("pRegions" ::: Ptr ImageCopy)
      -> IO ())
pVkCmdCopyImage :: FunPtr (Ptr CommandBuffer_T -> ("srcImage" ::: Image) -> ("srcImageLayout" ::: ImageLayout) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr ImageCopy) -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr CommandBuffer_T
      -> Image
      -> ("srcImageLayout" ::: ImageLayout)
      -> Image
      -> ("srcImageLayout" ::: ImageLayout)
      -> Word32
      -> ("pRegions" ::: Ptr ImageBlit)
      -> Filter
      -> IO ())
pVkCmdBlitImage :: FunPtr (Ptr CommandBuffer_T -> ("srcImage" ::: Image) -> ("srcImageLayout" ::: ImageLayout) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr ImageBlit) -> Filter -> IO ())
  , DeviceCmds
-> FunPtr
     (Ptr CommandBuffer_T
      -> Buffer
      -> Image
      -> ("srcImageLayout" ::: ImageLayout)
      -> Word32
      -> ("pRegions" ::: Ptr BufferImageCopy)
      -> IO ())
pVkCmdCopyBufferToImage :: FunPtr (Ptr CommandBuffer_T -> ("srcBuffer" ::: Buffer) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr BufferImageCopy) -> IO