vulkan-api-1.1.2.1: Low-level low-overhead vulkan api bindings

Safe HaskellNone
LanguageHaskell2010

Graphics.Vulkan.Marshal.Internal

Description

This module is not part of auto-generated code based on vk.xml. Instead, it is hand-written to provide common types and classes.

DANGER! This is an internal module; it can change a lot between package versions; it provides low-level functions, most of which have user-friendly analogues.

Synopsis

Documentation

class VulkanMarshalPrim a where Source #

This class gives low-level access to memory location occupied by Vulkan data.

Meant for internal use only.

Methods

unsafeAddr :: a -> Addr# Source #

Get address of vulkan structure. Note, the address is only valid as long as a given vulkan structure exists. Structures created with newVkData are stored in pinned byte arrays, so their memory is maintained by Haskell GC.

unsafeByteArray :: a -> ByteArray# Source #

Get a ByteArray# that keeps the data.

Note, the data structure does not necessarily starts at zero offset.

unsafeFromByteArrayOffset :: Int# -> ByteArray# -> a Source #

Combine a vulkan structure from ByteArray and an offset in this array.

Instances

VulkanMarshalPrim VkAcquireNextImageInfoKHR Source # 
VulkanMarshalPrim VkApplicationInfo Source # 
VulkanMarshalPrim VkCommandPoolCreateInfo Source # 
VulkanMarshalPrim VkCommandBufferInheritanceInfo Source # 
VulkanMarshalPrim VkCommandBufferBeginInfo Source # 
VulkanMarshalPrim VkCommandBufferAllocateInfo Source # 
VulkanMarshalPrim VkComponentMapping Source # 
VulkanMarshalPrim VkCopyDescriptorSet Source # 
VulkanMarshalPrim VkDebugUtilsLabelEXT Source # 
VulkanMarshalPrim VkDebugUtilsObjectNameInfoEXT Source # 
VulkanMarshalPrim VkDebugUtilsMessengerCallbackDataEXT Source # 
VulkanMarshalPrim VkAllocationCallbacks Source # 
VulkanMarshalPrim VkDescriptorUpdateTemplateEntry Source # 
VulkanMarshalPrim VkDescriptorUpdateTemplateCreateInfo Source # 
VulkanMarshalPrim VkDescriptorSetVariableDescriptorCountLayoutSupportEXT Source # 
VulkanMarshalPrim VkDescriptorSetVariableDescriptorCountAllocateInfoEXT Source # 
VulkanMarshalPrim VkDescriptorSetLayoutSupport Source # 
VulkanMarshalPrim VkDescriptorSetLayoutCreateInfo Source # 
VulkanMarshalPrim VkDescriptorSetLayoutBindingFlagsCreateInfoEXT Source # 
VulkanMarshalPrim VkDescriptorSetLayoutBinding Source # 
VulkanMarshalPrim VkDescriptorSetAllocateInfo Source # 
VulkanMarshalPrim VkDescriptorPoolSize Source # 
VulkanMarshalPrim VkDescriptorPoolCreateInfo Source # 
VulkanMarshalPrim VkDescriptorImageInfo Source # 
VulkanMarshalPrim VkDescriptorBufferInfo Source # 
VulkanMarshalPrim VkDispatchIndirectCommand Source # 
VulkanMarshalPrim VkDrawIndirectCommand Source # 
VulkanMarshalPrim VkDrawIndexedIndirectCommand Source # 
VulkanMarshalPrim VkEventCreateInfo Source # 
VulkanMarshalPrim VkExtent3D Source # 
VulkanMarshalPrim VkExtent2D Source # 
VulkanMarshalPrim VkFenceGetFdInfoKHR Source # 
VulkanMarshalPrim VkFenceCreateInfo Source # 
VulkanMarshalPrim VkFormatProperties2 Source # 
VulkanMarshalPrim VkFormatProperties Source # 
VulkanMarshalPrim VkFramebufferCreateInfo Source # 
VulkanMarshalPrim VkIndirectCommandsTokenNVX Source # 
VulkanMarshalPrim VkIndirectCommandsLayoutTokenNVX Source # 
VulkanMarshalPrim VkIndirectCommandsLayoutCreateInfoNVX Source # 
VulkanMarshalPrim VkCmdReserveSpaceForCommandsInfoNVX Source # 
VulkanMarshalPrim VkCmdProcessCommandsInfoNVX Source # 
VulkanMarshalPrim VkInputAttachmentAspectReference Source # 
VulkanMarshalPrim VkInstanceCreateInfo Source # 
VulkanMarshalPrim VkDebugUtilsObjectTagInfoEXT Source # 
VulkanMarshalPrim VkDebugReportCallbackCreateInfoEXT Source # 
VulkanMarshalPrim VkDebugMarkerObjectTagInfoEXT Source # 
VulkanMarshalPrim VkDebugMarkerObjectNameInfoEXT Source # 
VulkanMarshalPrim VkDebugMarkerMarkerInfoEXT Source # 
VulkanMarshalPrim VkDebugUtilsMessengerCreateInfoEXT Source # 
VulkanMarshalPrim VkMappedMemoryRange Source # 
VulkanMarshalPrim VkMemoryType Source # 
VulkanMarshalPrim VkMemoryRequirements2 Source # 
VulkanMarshalPrim VkMemoryRequirements Source # 
VulkanMarshalPrim VkMemoryHostPointerPropertiesEXT Source # 
VulkanMarshalPrim VkMemoryHeap Source # 
VulkanMarshalPrim VkMemoryGetFdInfoKHR Source # 
VulkanMarshalPrim VkMemoryFdPropertiesKHR Source # 
VulkanMarshalPrim VkMemoryDedicatedRequirements Source # 
VulkanMarshalPrim VkMemoryDedicatedAllocateInfo Source # 
VulkanMarshalPrim VkMemoryBarrier Source # 
VulkanMarshalPrim VkMemoryAllocateInfo Source # 
VulkanMarshalPrim VkMemoryAllocateFlagsInfo Source # 
VulkanMarshalPrim VkImportSemaphoreFdInfoKHR Source # 
VulkanMarshalPrim VkImportMemoryHostPointerInfoEXT Source # 
VulkanMarshalPrim VkImportMemoryFdInfoKHR Source # 
VulkanMarshalPrim VkImportFenceFdInfoKHR Source # 
VulkanMarshalPrim VkMultisamplePropertiesEXT Source # 
VulkanMarshalPrim VkObjectTableVertexBufferEntryNVX Source # 
VulkanMarshalPrim VkObjectTablePushConstantEntryNVX Source # 
VulkanMarshalPrim VkObjectTablePipelineEntryNVX Source # 
VulkanMarshalPrim VkObjectTableIndexBufferEntryNVX Source # 
VulkanMarshalPrim VkObjectTableEntryNVX Source # 
VulkanMarshalPrim VkObjectTableDescriptorSetEntryNVX Source # 
VulkanMarshalPrim VkObjectTableCreateInfoNVX Source # 
VulkanMarshalPrim VkOffset3D Source # 
VulkanMarshalPrim VkOffset2D Source # 
VulkanMarshalPrim VkImageViewUsageCreateInfo Source # 
VulkanMarshalPrim VkImageViewCreateInfo Source # 
VulkanMarshalPrim VkImageSwapchainCreateInfoKHR Source # 
VulkanMarshalPrim VkImageSubresourceRange Source # 
VulkanMarshalPrim VkImageSubresourceLayers Source # 
VulkanMarshalPrim VkImageSubresource Source # 
VulkanMarshalPrim VkImageSparseMemoryRequirementsInfo2 Source # 
VulkanMarshalPrim VkImageResolve Source # 
VulkanMarshalPrim VkImagePlaneMemoryRequirementsInfo Source # 
VulkanMarshalPrim VkImageMemoryRequirementsInfo2 Source # 
VulkanMarshalPrim VkImageMemoryBarrier Source # 
VulkanMarshalPrim VkImageFormatProperties2 Source # 
VulkanMarshalPrim VkImageFormatProperties Source # 
VulkanMarshalPrim VkImageFormatListCreateInfoKHR Source # 
VulkanMarshalPrim VkImageCreateInfo Source # 
VulkanMarshalPrim VkImageCopy Source # 
VulkanMarshalPrim VkImageBlit Source # 
VulkanMarshalPrim VkBufferViewCreateInfo Source # 
VulkanMarshalPrim VkBufferMemoryRequirementsInfo2 Source # 
VulkanMarshalPrim VkBufferMemoryBarrier Source # 
VulkanMarshalPrim VkBufferImageCopy Source # 
VulkanMarshalPrim VkBufferCreateInfo Source # 
VulkanMarshalPrim VkBufferCopy Source # 
VulkanMarshalPrim VkDedicatedAllocationMemoryAllocateInfoNV Source # 
VulkanMarshalPrim VkDedicatedAllocationImageCreateInfoNV Source # 
VulkanMarshalPrim VkDedicatedAllocationBufferCreateInfoNV Source # 
VulkanMarshalPrim VkExternalSemaphoreProperties Source # 
VulkanMarshalPrim VkExternalMemoryProperties Source # 
VulkanMarshalPrim VkExternalMemoryImageCreateInfoNV Source # 
VulkanMarshalPrim VkExternalMemoryImageCreateInfo Source # 
VulkanMarshalPrim VkExternalMemoryBufferCreateInfo Source # 
VulkanMarshalPrim VkExternalImageFormatPropertiesNV Source # 
VulkanMarshalPrim VkExternalImageFormatProperties Source # 
VulkanMarshalPrim VkExternalFenceProperties Source # 
VulkanMarshalPrim VkExternalBufferProperties Source # 
VulkanMarshalPrim VkPastPresentationTimingGOOGLE Source # 
VulkanMarshalPrim VkPhysicalDeviceFeatures Source # 
VulkanMarshalPrim VkPushConstantRange Source # 
VulkanMarshalPrim VkQueryPoolCreateInfo Source # 
VulkanMarshalPrim VkQueueFamilyProperties2 Source # 
VulkanMarshalPrim VkQueueFamilyProperties Source # 
VulkanMarshalPrim VkRectLayerKHR Source # 
VulkanMarshalPrim VkRect2D Source # 
VulkanMarshalPrim VkClearValue Source # 
VulkanMarshalPrim VkClearRect Source # 
VulkanMarshalPrim VkClearDepthStencilValue Source # 
VulkanMarshalPrim VkClearColorValue Source # 
VulkanMarshalPrim VkClearAttachment Source # 
VulkanMarshalPrim VkPresentTimesInfoGOOGLE Source # 
VulkanMarshalPrim VkPresentTimeGOOGLE Source # 
VulkanMarshalPrim VkPresentRegionsKHR Source # 
VulkanMarshalPrim VkPresentRegionKHR Source # 
VulkanMarshalPrim VkPresentInfoKHR Source # 
VulkanMarshalPrim VkDisplaySurfaceCreateInfoKHR Source # 
VulkanMarshalPrim VkDisplayPropertiesKHR Source # 
VulkanMarshalPrim VkDisplayPresentInfoKHR Source # 
VulkanMarshalPrim VkDisplayPowerInfoEXT Source # 
VulkanMarshalPrim VkDisplayPlanePropertiesKHR Source # 
VulkanMarshalPrim VkDisplayPlaneCapabilitiesKHR Source # 
VulkanMarshalPrim VkDisplayModePropertiesKHR Source # 
VulkanMarshalPrim VkDisplayModeParametersKHR Source # 
VulkanMarshalPrim VkDisplayModeCreateInfoKHR Source # 
VulkanMarshalPrim VkDisplayEventInfoEXT Source # 
VulkanMarshalPrim VkRefreshCycleDurationGOOGLE Source # 
VulkanMarshalPrim VkSampleLocationsInfoEXT Source # 
VulkanMarshalPrim VkSampleLocationEXT Source # 
VulkanMarshalPrim VkAttachmentSampleLocationsEXT Source # 
VulkanMarshalPrim VkAttachmentReference Source # 
VulkanMarshalPrim VkAttachmentDescription Source # 
VulkanMarshalPrim VkSamplerYcbcrConversionInfo Source # 
VulkanMarshalPrim VkSamplerYcbcrConversionImageFormatProperties Source # 
VulkanMarshalPrim VkSamplerYcbcrConversionCreateInfo Source # 
VulkanMarshalPrim VkSamplerReductionModeCreateInfoEXT Source # 
VulkanMarshalPrim VkSamplerCreateInfo Source # 
VulkanMarshalPrim VkSemaphoreGetFdInfoKHR Source # 
VulkanMarshalPrim VkSemaphoreCreateInfo Source # 
VulkanMarshalPrim VkExportSemaphoreCreateInfo Source # 
VulkanMarshalPrim VkExportMemoryAllocateInfoNV Source # 
VulkanMarshalPrim VkExportMemoryAllocateInfo Source # 
VulkanMarshalPrim VkExportFenceCreateInfo Source # 
VulkanMarshalPrim VkShaderStatisticsInfoAMD Source # 
VulkanMarshalPrim VkShaderResourceUsageAMD Source # 
VulkanMarshalPrim VkShaderModuleValidationCacheCreateInfoEXT Source # 
VulkanMarshalPrim VkShaderModuleCreateInfo Source # 
VulkanMarshalPrim VkSparseMemoryBind Source # 
VulkanMarshalPrim VkSparseImageOpaqueMemoryBindInfo Source # 
VulkanMarshalPrim VkSparseImageMemoryRequirements2 Source # 
VulkanMarshalPrim VkSparseImageMemoryRequirements Source # 
VulkanMarshalPrim VkSparseImageMemoryBindInfo Source # 
VulkanMarshalPrim VkSparseImageMemoryBind Source # 
VulkanMarshalPrim VkSparseImageFormatProperties2 Source # 
VulkanMarshalPrim VkSparseImageFormatProperties Source # 
VulkanMarshalPrim VkSparseBufferMemoryBindInfo Source # 
VulkanMarshalPrim VkBindSparseInfo Source # 
VulkanMarshalPrim VkBindImagePlaneMemoryInfo Source # 
VulkanMarshalPrim VkBindImageMemorySwapchainInfoKHR Source # 
VulkanMarshalPrim VkBindImageMemoryInfo Source # 
VulkanMarshalPrim VkBindImageMemoryDeviceGroupInfo Source # 
VulkanMarshalPrim VkBindBufferMemoryInfo Source # 
VulkanMarshalPrim VkBindBufferMemoryDeviceGroupInfo Source # 
VulkanMarshalPrim VkSpecializationMapEntry Source # 
VulkanMarshalPrim VkSpecializationInfo Source # 
VulkanMarshalPrim VkStencilOpState Source # 
VulkanMarshalPrim VkSubmitInfo Source # 
VulkanMarshalPrim VkProtectedSubmitInfo Source # 
VulkanMarshalPrim VkSubpassSampleLocationsEXT Source # 
VulkanMarshalPrim VkSubpassDescription Source # 
VulkanMarshalPrim VkSubpassDependency Source # 
VulkanMarshalPrim VkRenderPassSampleLocationsBeginInfoEXT Source # 
VulkanMarshalPrim VkRenderPassMultiviewCreateInfo Source # 
VulkanMarshalPrim VkRenderPassInputAttachmentAspectCreateInfo Source # 
VulkanMarshalPrim VkRenderPassCreateInfo Source # 
VulkanMarshalPrim VkRenderPassBeginInfo Source # 
VulkanMarshalPrim VkSubresourceLayout Source # 
VulkanMarshalPrim VkSurfaceFormatKHR Source # 
VulkanMarshalPrim VkSurfaceFormat2KHR Source # 
VulkanMarshalPrim VkSurfaceCapabilitiesKHR Source # 
VulkanMarshalPrim VkSurfaceCapabilities2KHR Source # 
VulkanMarshalPrim VkSurfaceCapabilities2EXT Source # 
VulkanMarshalPrim VkSharedPresentSurfaceCapabilitiesKHR Source # 
VulkanMarshalPrim VkSwapchainCreateInfoKHR Source # 
VulkanMarshalPrim VkSwapchainCounterCreateInfoEXT Source # 
VulkanMarshalPrim VkTextureLODGatherFormatPropertiesAMD Source # 
VulkanMarshalPrim VkValidationFlagsEXT Source # 
VulkanMarshalPrim VkValidationCacheCreateInfoEXT Source # 
VulkanMarshalPrim VkVertexInputBindingDivisorDescriptionEXT Source # 
VulkanMarshalPrim VkVertexInputBindingDescription Source # 
VulkanMarshalPrim VkVertexInputAttributeDescription Source # 
VulkanMarshalPrim VkViewportWScalingNV Source # 
VulkanMarshalPrim VkViewportSwizzleNV Source # 
VulkanMarshalPrim VkViewport Source # 
VulkanMarshalPrim VkPipelineViewportWScalingStateCreateInfoNV Source # 
VulkanMarshalPrim VkPipelineViewportSwizzleStateCreateInfoNV Source # 
VulkanMarshalPrim VkPipelineViewportStateCreateInfo Source # 
VulkanMarshalPrim VkPipelineVertexInputStateCreateInfo Source # 
VulkanMarshalPrim VkPipelineVertexInputDivisorStateCreateInfoEXT Source # 
VulkanMarshalPrim VkPipelineTessellationStateCreateInfo Source # 
VulkanMarshalPrim VkPipelineTessellationDomainOriginStateCreateInfo Source # 
VulkanMarshalPrim VkPipelineShaderStageCreateInfo Source # 
VulkanMarshalPrim VkPipelineSampleLocationsStateCreateInfoEXT Source # 
VulkanMarshalPrim VkPipelineRasterizationStateRasterizationOrderAMD Source # 
VulkanMarshalPrim VkPipelineRasterizationStateCreateInfo Source # 
VulkanMarshalPrim VkPipelineRasterizationConservativeStateCreateInfoEXT Source # 
VulkanMarshalPrim VkPipelineMultisampleStateCreateInfo Source # 
VulkanMarshalPrim VkPipelineLayoutCreateInfo Source # 
VulkanMarshalPrim VkPipelineInputAssemblyStateCreateInfo Source # 
VulkanMarshalPrim VkPipelineDynamicStateCreateInfo Source # 
VulkanMarshalPrim VkPipelineDiscardRectangleStateCreateInfoEXT Source # 
VulkanMarshalPrim VkPipelineDepthStencilStateCreateInfo Source # 
VulkanMarshalPrim VkPipelineCoverageToColorStateCreateInfoNV Source # 
VulkanMarshalPrim VkPipelineCoverageModulationStateCreateInfoNV Source # 
VulkanMarshalPrim VkPipelineColorBlendStateCreateInfo Source # 
VulkanMarshalPrim VkPipelineColorBlendAttachmentState Source # 
VulkanMarshalPrim VkPipelineColorBlendAdvancedStateCreateInfoEXT Source # 
VulkanMarshalPrim VkPipelineCacheCreateInfo Source # 
VulkanMarshalPrim VkGraphicsPipelineCreateInfo Source # 
VulkanMarshalPrim VkComputePipelineCreateInfo Source # 
VulkanMarshalPrim VkWriteDescriptorSet Source # 
VulkanMarshalPrim VkXYColorEXT Source # 
VulkanMarshalPrim VkHdrMetadataEXT Source # 
VulkanMarshalPrim VkDeviceQueueInfo2 Source # 
VulkanMarshalPrim VkDeviceQueueGlobalPriorityCreateInfoEXT Source # 
VulkanMarshalPrim VkDeviceQueueCreateInfo Source # 
VulkanMarshalPrim VkDeviceGroupSwapchainCreateInfoKHR Source # 
VulkanMarshalPrim VkDeviceGroupSubmitInfo Source # 
VulkanMarshalPrim VkDeviceGroupRenderPassBeginInfo Source # 
VulkanMarshalPrim VkDeviceGroupPresentInfoKHR Source # 
VulkanMarshalPrim VkDeviceGroupPresentCapabilitiesKHR Source # 
VulkanMarshalPrim VkDeviceGroupDeviceCreateInfo Source # 
VulkanMarshalPrim VkDeviceGroupCommandBufferBeginInfo Source # 
VulkanMarshalPrim VkDeviceGroupBindSparseInfo Source # 
VulkanMarshalPrim VkDeviceGeneratedCommandsLimitsNVX Source # 
VulkanMarshalPrim VkDeviceGeneratedCommandsFeaturesNVX Source # 
VulkanMarshalPrim VkDeviceEventInfoEXT Source # 
VulkanMarshalPrim VkDeviceCreateInfo Source # 
VulkanMarshalPrim VkExtensionProperties Source # 
VulkanMarshalPrim VkLayerProperties Source # 
VulkanMarshalPrim VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT Source # 
VulkanMarshalPrim VkPhysicalDeviceVariablePointerFeatures Source # 
VulkanMarshalPrim VkPhysicalDeviceSurfaceInfo2KHR Source # 
VulkanMarshalPrim VkPhysicalDeviceSubgroupProperties Source # 
VulkanMarshalPrim VkPhysicalDeviceSparseProperties Source # 
VulkanMarshalPrim VkPhysicalDeviceSparseImageFormatInfo2 Source # 
VulkanMarshalPrim VkPhysicalDeviceShaderDrawParameterFeatures Source # 
VulkanMarshalPrim VkPhysicalDeviceShaderCorePropertiesAMD Source # 
VulkanMarshalPrim VkPhysicalDeviceSamplerYcbcrConversionFeatures Source # 
VulkanMarshalPrim VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT Source # 
VulkanMarshalPrim VkPhysicalDeviceSampleLocationsPropertiesEXT Source # 
VulkanMarshalPrim VkPhysicalDevicePushDescriptorPropertiesKHR Source # 
VulkanMarshalPrim VkPhysicalDeviceProtectedMemoryProperties Source # 
VulkanMarshalPrim VkPhysicalDeviceProtectedMemoryFeatures Source # 
VulkanMarshalPrim VkPhysicalDeviceProperties2 Source # 
VulkanMarshalPrim VkPhysicalDeviceProperties Source # 
VulkanMarshalPrim VkPhysicalDevicePointClippingProperties Source # 
VulkanMarshalPrim VkPhysicalDeviceMultiviewProperties Source # 
VulkanMarshalPrim VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX Source # 
VulkanMarshalPrim VkPhysicalDeviceMultiviewFeatures Source # 
VulkanMarshalPrim VkPhysicalDeviceMemoryProperties2 Source # 
VulkanMarshalPrim VkPhysicalDeviceMemoryProperties Source # 
VulkanMarshalPrim VkPhysicalDeviceMaintenance3Properties Source # 
VulkanMarshalPrim VkPhysicalDeviceLimits Source # 
VulkanMarshalPrim VkPhysicalDeviceImageFormatInfo2 Source # 
VulkanMarshalPrim VkPhysicalDeviceIDProperties Source # 
VulkanMarshalPrim VkPhysicalDeviceGroupProperties Source # 
VulkanMarshalPrim VkPhysicalDeviceFeatures2 Source # 
VulkanMarshalPrim VkPhysicalDeviceExternalSemaphoreInfo Source # 
VulkanMarshalPrim VkPhysicalDeviceExternalMemoryHostPropertiesEXT Source # 
VulkanMarshalPrim VkPhysicalDeviceExternalImageFormatInfo Source # 
VulkanMarshalPrim VkPhysicalDeviceExternalFenceInfo Source # 
VulkanMarshalPrim VkPhysicalDeviceExternalBufferInfo Source # 
VulkanMarshalPrim VkPhysicalDeviceDiscardRectanglePropertiesEXT Source # 
VulkanMarshalPrim VkPhysicalDeviceDescriptorIndexingPropertiesEXT Source # 
VulkanMarshalPrim VkPhysicalDeviceDescriptorIndexingFeaturesEXT Source # 
VulkanMarshalPrim VkPhysicalDeviceConservativeRasterizationPropertiesEXT Source # 
VulkanMarshalPrim VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT Source # 
VulkanMarshalPrim VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT Source # 
VulkanMarshalPrim VkPhysicalDevice16BitStorageFeatures Source # 

fromForeignPtr# :: forall a. (Storable a, VulkanMarshalPrim a) => ForeignPtr a -> IO a Source #

Create a ByteArray#-based type from ForeignPtr. Try to not copy data, but do it if necessary.

toForeignPtr# :: VulkanMarshalPrim a => a -> IO (ForeignPtr a) Source #

Create a ForeignPtr referencing the structure without copying data.

toPlainForeignPtr# :: VulkanMarshalPrim a => a -> IO (ForeignPtr a) Source #

Create a ForeignPtr referencing the structure without copying data. This version of a pointer carries no finalizers.

It is not possible to add a finalizer to a ForeignPtr created with toPlainForeignPtr. Attempts to add a finalizer to a ForeignPtr created this way, or to finalize such a pointer, will throw an exception.

touchVkData# :: VulkanMarshalPrim a => a -> IO () Source #

Make sure the region of memory is not collected at this moment in time.

cmpBytes# :: Int -> Addr# -> Addr# -> Ordering Source #

Internal function used to implement Eq and Ord instances for Vulkan structs. Compares first n bytes of two memory areas.

Uses lexicographic ordering (c memcmp inside).

This is a helper that should be used in VulkanMarshal instances only.

newVkData# :: forall a. (Storable a, VulkanMarshalPrim a) => (Ptr a -> IO ()) -> IO a Source #

mallocVkDataArray# :: forall a. (Storable a, VulkanMarshalPrim a) => Int -> IO (Ptr a, [a]) Source #

peekVkData# :: forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> IO a Source #

pokeVkData# :: forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> a -> IO () Source #