MCPcopy Create free account
hub / github.com/defold/defold / VulkanDestroyResources

Function VulkanDestroyResources

engine/graphics/src/vulkan/graphics_vulkan.cpp:4951–5047  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4949 }
4950
4951 void VulkanDestroyResources(HContext _context)
4952 {
4953 VulkanContext* context = (VulkanContext*)_context;
4954 VkDevice vk_device = context->m_LogicalDevice.m_Device;
4955
4956 context->m_PipelineCache.Iterate(DestroyPipelineCacheCb, context);
4957 if (context->m_VkPipelineCache != VK_NULL_HANDLE)
4958 {
4959 vkDestroyPipelineCache(vk_device, context->m_VkPipelineCache, 0);
4960 context->m_VkPipelineCache = VK_NULL_HANDLE;
4961 }
4962
4963 DestroyDeviceBuffer(vk_device, &context->m_MainTextureDepthStencil.m_DeviceBuffer.m_Handle);
4964 DestroyTexture(vk_device, &context->m_MainTextureDepthStencil.m_Handle);
4965 DestroyDeviceBuffer(vk_device, &context->m_DefaultTexture2D->m_DeviceBuffer.m_Handle);
4966 DestroyTexture(vk_device, &context->m_DefaultTexture2D->m_Handle);
4967 delete context->m_DefaultTexture2D;
4968 DestroyDeviceBuffer(vk_device, &context->m_DefaultTexture2DArray->m_DeviceBuffer.m_Handle);
4969 DestroyTexture(vk_device, &context->m_DefaultTexture2DArray->m_Handle);
4970 delete context->m_DefaultTexture2DArray;
4971 DestroyDeviceBuffer(vk_device, &context->m_DefaultTextureCubeMap->m_DeviceBuffer.m_Handle);
4972 DestroyTexture(vk_device, &context->m_DefaultTextureCubeMap->m_Handle);
4973 delete context->m_DefaultTextureCubeMap;
4974 DestroyDeviceBuffer(vk_device, &context->m_DefaultTexture2D32UI->m_DeviceBuffer.m_Handle);
4975 DestroyTexture(vk_device, &context->m_DefaultTexture2D32UI->m_Handle);
4976 delete context->m_DefaultTexture2D32UI;
4977 DestroyDeviceBuffer(vk_device, &context->m_DefaultStorageImage2D->m_DeviceBuffer.m_Handle);
4978 DestroyTexture(vk_device, &context->m_DefaultStorageImage2D->m_Handle);
4979 delete context->m_DefaultStorageImage2D;
4980
4981 vkDestroyRenderPass(vk_device, context->m_MainRenderPass, 0);
4982 vkDestroyRenderPass(vk_device, context->m_MainRenderPassLoad, 0);
4983
4984 vkFreeCommandBuffers(vk_device, context->m_LogicalDevice.m_CommandPool, DM_ARRAY_SIZE(context->m_MainCommandBuffers), context->m_MainCommandBuffers);
4985 vkFreeCommandBuffers(vk_device, context->m_LogicalDevice.m_CommandPool, 1, &context->m_MainCommandBufferUploadHelper);
4986
4987 for (uint8_t i=0; i < context->m_MainFrameBuffers.Size(); i++)
4988 {
4989 vkDestroyFramebuffer(vk_device, context->m_MainFrameBuffers[i], 0);
4990 }
4991
4992 for (uint8_t i=0; i < context->m_TextureSamplers.Size(); i++)
4993 {
4994 DestroyTextureSampler(vk_device, &context->m_TextureSamplers[i]);
4995 }
4996
4997 for (uint8_t i=0; i < DM_ARRAY_SIZE(context->m_MainScratchBuffers); i++)
4998 {
4999 DestroyDeviceBuffer(vk_device, &context->m_MainScratchBuffers[i].m_DeviceBuffer.m_Handle);
5000 }
5001
5002 for (uint8_t i=0; i < DM_ARRAY_SIZE(context->m_MainDescriptorAllocators); i++)
5003 {
5004 DestroyDescriptorAllocator(vk_device, &context->m_MainDescriptorAllocators[i]);
5005 }
5006
5007 for (uint8_t i=0; i < DM_ARRAY_SIZE(context->m_MainCommandBuffers); i++)
5008 {

Callers 1

VulkanCloseWindowFunction · 0.85

Calls 12

DestroyDeviceBufferFunction · 0.85
DestroyTextureSamplerFunction · 0.85
DestroySwapChainFunction · 0.85
DestroyLogicalDeviceFunction · 0.85
DestroyPhysicalDeviceFunction · 0.85
IterateMethod · 0.80
ReleaseMethod · 0.80
DestroyTextureFunction · 0.70
FlushResourcesToDestroyFunction · 0.70
SizeMethod · 0.45

Tested by

no test coverage detected