29 src_pool.descriptor_pools_.update_timeline(timeline);
30 buffer_views_.extend(std::move(src_pool.buffer_views_));
31 buffers_.extend(std::move(src_pool.buffers_));
32 image_views_.extend(std::move(src_pool.image_views_));
33 images_.extend(std::move(src_pool.images_));
34 shader_modules_.extend(std::move(src_pool.shader_modules_));
35 pipelines_.extend(std::move(src_pool.pipelines_));
36 pipeline_layouts_.extend(std::move(src_pool.pipeline_layouts_));
37 descriptor_pools_.extend(std::move(src_pool.descriptor_pools_));
89 std::scoped_lock
mutex(mutex_);
91 image_views_.remove_old(current_timeline, [&](VkImageView vk_image_view) {
92 vkDestroyImageView(device.
vk_handle(), vk_image_view,
nullptr);
95 images_.remove_old(current_timeline, [&](std::pair<VkImage, VmaAllocation> image_allocation) {
97 vmaDestroyImage(device.
mem_allocator_get(), image_allocation.first, image_allocation.second);
99 buffer_views_.remove_old(current_timeline, [&](VkBufferView vk_buffer_view) {
100 vkDestroyBufferView(device.
vk_handle(), vk_buffer_view,
nullptr);
103 buffers_.remove_old(current_timeline, [&](std::pair<VkBuffer, VmaAllocation> buffer_allocation) {
109 pipelines_.remove_old(current_timeline, [&](VkPipeline vk_pipeline) {
110 vkDestroyPipeline(device.
vk_handle(), vk_pipeline,
nullptr);
113 pipeline_layouts_.remove_old(current_timeline, [&](VkPipelineLayout vk_pipeline_layout) {
114 vkDestroyPipelineLayout(device.
vk_handle(), vk_pipeline_layout,
nullptr);
117 shader_modules_.remove_old(current_timeline, [&](VkShaderModule vk_shader_module) {
118 vkDestroyShaderModule(device.
vk_handle(), vk_shader_module,
nullptr);
121 descriptor_pools_.remove_old(
122 current_timeline, [&](std::pair<VkDescriptorPool, VKDescriptorPools *> descriptor_pool) {
123 descriptor_pool.second->recycle(descriptor_pool.first);