Archived
1
Fork 0

Properly clean up resources

This commit is contained in:
Joshua Goins 2018-10-24 19:29:44 -04:00
parent cdf95d4aff
commit fef5254904
3 changed files with 20 additions and 1 deletions

View file

@ -173,8 +173,12 @@ int main(int, char*[]) {
renderer->render(world, target);
}
delete light;
renderer->destroyMeshBuffers(mesh);
delete mesh;
renderer->destroyRenderTarget(target);
vkDestroySurfaceKHR(renderer->getInstance(), surface, nullptr);

View file

@ -384,10 +384,20 @@ void Renderer::destroyRenderTarget(RenderTarget* target) {
vkDestroyImageView(device_, target->swapchainImageViews[i], nullptr);
}
delete[] target->offscreenFramebuffers;
delete[] target->offscreenDepthImageViews;
delete[] target->offscreenDepthMemory;
delete[] target->offscreenDepthImages;
delete[] target->offscreenColorImageViews;
delete[] target->offscreenColorMemory;
delete[] target->offscreenColorImages;
delete[] target->swapchainFramebuffers;
delete[] target->swapchainImageViews;
delete[] target->swapchainImages;
delete[] target->postSets;
vkDestroySwapchainKHR(device_, target->swapchain, nullptr);
delete target;

View file

@ -19,8 +19,13 @@ WorldPass::WorldPass(Renderer& renderer) : renderer_(renderer) {
WorldPass::~WorldPass() {
vkDestroyRenderPass(renderer_.getDevice(), renderPass_, nullptr);
vkDestroyDescriptorSetLayout(renderer_.getDevice(), setLayout_, nullptr);
vkDestroyPipeline(renderer_.getDevice(), pipeline_, nullptr);
vkDestroyPipelineLayout(renderer_.getDevice(), pipelineLayout_, nullptr);
vkFreeMemory(renderer_.getDevice(), lightMemory_, nullptr);
vkDestroyBuffer(renderer_.getDevice(), lightBuffer_, nullptr);
}
void WorldPass::render(VkCommandBuffer commandBuffer, World& world, RenderTarget* target) {