VkAllocationCallbacks - Structure containing callback function pointers for memory allocation
Description
pUserDatais NULL or an application-defined user data pointer to be interpreted by the implementation of the callbacks. When any of the callbacks in AllocationCallbacks are called, the Vulkan implementation will pass this value as the first parameter to the callback. This value can vary each time an allocator is passed into a command, even when the same object takes an allocator in multiple commands.
pfnAllocationis a PFN_vkAllocationFunction pointer to an application-defined memory allocation function.pfnReallocationis a PFN_vkReallocationFunction pointer to an application-defined memory reallocation function.pfnFreeis a PFN_vkFreeFunction pointer to an application-defined memory free function.pfnInternalAllocationis a PFN_vkInternalAllocationNotification pointer to an application-defined function that is called by the implementation when the implementation makes internal allocations.pfnInternalFreeis a PFN_vkInternalFreeNotification pointer to an application-defined function that is called by the implementation when the implementation frees internal allocations.
Valid Usage
pfnAllocationmust be a valid pointer to a valid application-defined PFN_vkAllocationFunction
pfnReallocationmust be a valid pointer to a valid application-defined PFN_vkReallocationFunctionpfnFreemust be a valid pointer to a valid application-defined PFN_vkFreeFunctionIf either of
pfnInternalAllocationorpfnInternalFreeis notNULL, both must be valid callbacks
See Also
PFN_vkAllocationFunction, PFN_vkFreeFunction, PFN_vkInternalAllocationNotification, PFN_vkInternalFreeNotification, PFN_vkReallocationFunction, VK_VERSION_1_0, allocateMemory, createAccelerationStructure2KHR, createAccelerationStructureKHR, createAccelerationStructureNV, createAndroidSurfaceKHR, createBuffer, createBufferCollectionFUCHSIA, createBufferView, createCommandPool, createComputePipelines, createCuFunctionNVX, createCuModuleNVX, createCudaFunctionNV, createCudaModuleNV, createDataGraphPipelineSessionARM, createDataGraphPipelinesARM, createDebugReportCallbackEXT, createDebugUtilsMessengerEXT, createDeferredOperationKHR, createDescriptorPool, createDescriptorSetLayout, createDescriptorUpdateTemplate, createDescriptorUpdateTemplate, createDevice, createDirectFBSurfaceEXT, createDisplayModeKHR, createDisplayPlaneSurfaceKHR, createEvent, createExecutionGraphPipelinesAMDX, createExternalComputeQueueNV, createFence, createFramebuffer, createGpaSessionAMD, createGraphicsPipelines, createHeadlessSurfaceEXT, createIOSSurfaceMVK, createImage, createImagePipeSurfaceFUCHSIA, createImageView, createIndirectCommandsLayoutEXT, createIndirectCommandsLayoutNV, createIndirectExecutionSetEXT, createInstance, createMacOSSurfaceMVK, createMetalSurfaceEXT, createMicromapEXT, createOpticalFlowSessionNV, createPipelineBinariesKHR, createPipelineCache, createPipelineLayout, createPrivateDataSlot, createPrivateDataSlot, createQueryPool, createRayTracingPipelinesKHR, createRayTracingPipelinesNV, createRenderPass, createRenderPass2, createRenderPass2, createSampler, createSamplerYcbcrConversion, createSamplerYcbcrConversion, createScreenSurfaceQNX, createSemaphore, createShaderInstrumentationARM, createShaderModule, createShadersEXT, createSharedSwapchainsKHR, createStreamDescriptorSurfaceGGP, vkCreateSurfaceOHOS, createSwapchainKHR, createTensorARM, createTensorViewARM, vkCreateUbmSurfaceSEC, createValidationCacheEXT, createViSurfaceNN, vkCreateVideoSessionKHR, vkCreateVideoSessionParametersKHR, createWaylandSurfaceKHR, createWin32SurfaceKHR, createXcbSurfaceKHR, createXlibSurfaceKHR, destroyAccelerationStructureKHR, destroyAccelerationStructureNV, destroyBuffer, destroyBufferCollectionFUCHSIA, destroyBufferView, destroyCommandPool, destroyCuFunctionNVX, destroyCuModuleNVX, destroyCudaFunctionNV, destroyCudaModuleNV, destroyDataGraphPipelineSessionARM, destroyDebugReportCallbackEXT, destroyDebugUtilsMessengerEXT, destroyDeferredOperationKHR, destroyDescriptorPool, destroyDescriptorSetLayout, destroyDescriptorUpdateTemplate, destroyDescriptorUpdateTemplate, destroyDevice, destroyEvent, destroyExternalComputeQueueNV, destroyFence, destroyFramebuffer, destroyGpaSessionAMD, destroyImage, destroyImageView, destroyIndirectCommandsLayoutEXT, destroyIndirectCommandsLayoutNV, destroyIndirectExecutionSetEXT, destroyInstance, destroyMicromapEXT, destroyOpticalFlowSessionNV, destroyPipeline, destroyPipelineBinaryKHR, destroyPipelineCache, destroyPipelineLayout, destroyPrivateDataSlot, destroyPrivateDataSlot, destroyQueryPool, destroyRenderPass, destroySampler, destroySamplerYcbcrConversion, destroySamplerYcbcrConversion, destroySemaphore, destroyShaderEXT, destroyShaderInstrumentationARM, destroyShaderModule, destroySurfaceKHR, destroySwapchainKHR, destroyTensorARM, destroyTensorViewARM, destroyValidationCacheEXT, vkDestroyVideoSessionKHR, vkDestroyVideoSessionParametersKHR, freeMemory, registerDeviceEventEXT, registerDisplayEventEXT, releaseCapturedPipelineDataKHR
Instances5Show, Storable, FromCStruct, ToCStruct, Zero
Show AllocationCallbacksDefined in vulkan-3.27 · Vulkan.Core10.AllocationCallbacksStorable AllocationCallbacksDefined in vulkan-3.27 · Vulkan.Core10.AllocationCallbacksFromCStruct AllocationCallbacksDefined in vulkan-3.27 · Vulkan.Core10.AllocationCallbacksToCStruct AllocationCallbacksDefined in vulkan-3.27 · Vulkan.Core10.AllocationCallbacksZero AllocationCallbacksDefined in vulkan-3.27 · Vulkan.Core10.AllocationCallbacks