mirror of https://github.com/bjornbytes/lovr.git
Destroy descriptor pools properly;
This commit is contained in:
parent
e59a75fce8
commit
32fb5e63ac
|
@ -2277,6 +2277,7 @@ static void expunge() {
|
||||||
case VK_OBJECT_TYPE_IMAGE_VIEW: vkDestroyImageView(state.device, victim->handle, NULL); break;
|
case VK_OBJECT_TYPE_IMAGE_VIEW: vkDestroyImageView(state.device, victim->handle, NULL); break;
|
||||||
case VK_OBJECT_TYPE_SAMPLER: vkDestroySampler(state.device, victim->handle, NULL); break;
|
case VK_OBJECT_TYPE_SAMPLER: vkDestroySampler(state.device, victim->handle, NULL); break;
|
||||||
case VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT: vkDestroyDescriptorSetLayout(state.device, victim->handle, NULL); break;
|
case VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT: vkDestroyDescriptorSetLayout(state.device, victim->handle, NULL); break;
|
||||||
|
case VK_OBJECT_TYPE_DESCRIPTOR_POOL: vkDestroyDescriptorPool(state.device, victim->handle, NULL); break;
|
||||||
case VK_OBJECT_TYPE_PIPELINE_LAYOUT: vkDestroyPipelineLayout(state.device, victim->handle, NULL); break;
|
case VK_OBJECT_TYPE_PIPELINE_LAYOUT: vkDestroyPipelineLayout(state.device, victim->handle, NULL); break;
|
||||||
case VK_OBJECT_TYPE_PIPELINE: vkDestroyPipeline(state.device, victim->handle, NULL); break;
|
case VK_OBJECT_TYPE_PIPELINE: vkDestroyPipeline(state.device, victim->handle, NULL); break;
|
||||||
case VK_OBJECT_TYPE_DEVICE_MEMORY: vkFreeMemory(state.device, victim->handle, NULL); break;
|
case VK_OBJECT_TYPE_DEVICE_MEMORY: vkFreeMemory(state.device, victim->handle, NULL); break;
|
||||||
|
@ -2285,7 +2286,6 @@ static void expunge() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
// Ugliness until we can use dynamic rendering
|
// Ugliness until we can use dynamic rendering
|
||||||
static VkRenderPass getCachedRenderPass(gpu_pass_info* pass, bool compatible) {
|
static VkRenderPass getCachedRenderPass(gpu_pass_info* pass, bool compatible) {
|
||||||
bool depth = pass->depth.layout != VK_IMAGE_LAYOUT_UNDEFINED;
|
bool depth = pass->depth.layout != VK_IMAGE_LAYOUT_UNDEFINED;
|
||||||
|
|
|
@ -305,6 +305,15 @@ void lovrGraphicsDestroy() {
|
||||||
free(state.pipelines.data[i]);
|
free(state.pipelines.data[i]);
|
||||||
}
|
}
|
||||||
for (uint32_t i = 0; i < state.layouts.length; i++) {
|
for (uint32_t i = 0; i < state.layouts.length; i++) {
|
||||||
|
BundlePool* pool = state.layouts.data[i].head;
|
||||||
|
while (pool) {
|
||||||
|
BundlePool* next = pool->next;
|
||||||
|
gpu_bundle_pool_destroy(pool->gpu);
|
||||||
|
free(pool->gpu);
|
||||||
|
free(pool->bundles);
|
||||||
|
free(pool);
|
||||||
|
pool = next;
|
||||||
|
}
|
||||||
gpu_layout_destroy(state.layouts.data[i].gpu);
|
gpu_layout_destroy(state.layouts.data[i].gpu);
|
||||||
free(state.layouts.data[i].gpu);
|
free(state.layouts.data[i].gpu);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue