39 std::scoped_lock
mutex(mutex_);
40 std::scoped_lock mutex_src(src_pool.mutex_);
41 buffers_.extend(src_pool.buffers_);
42 image_views_.extend(src_pool.image_views_);
43 images_.extend(src_pool.images_);
44 shader_modules_.extend(src_pool.shader_modules_);
45 pipeline_layouts_.extend(src_pool.pipeline_layouts_);
46 src_pool.buffers_.
clear();
47 src_pool.image_views_.
clear();
48 src_pool.images_.
clear();
49 src_pool.shader_modules_.
clear();
50 src_pool.pipeline_layouts_.
clear();
84 std::scoped_lock
mutex(mutex_);
87 while (!image_views_.is_empty()) {
88 VkImageView vk_image_view = image_views_.pop_last();
89 vkDestroyImageView(device.
vk_handle(), vk_image_view, vk_allocation_callbacks);
92 while (!images_.is_empty()) {
93 std::pair<VkImage, VmaAllocation> image_allocation = images_.pop_last();
95 vmaDestroyImage(device.
mem_allocator_get(), image_allocation.first, image_allocation.second);
98 while (!buffers_.is_empty()) {
99 std::pair<VkBuffer, VmaAllocation> buffer_allocation = buffers_.pop_last();
105 while (!pipeline_layouts_.is_empty()) {
106 VkPipelineLayout vk_pipeline_layout = pipeline_layouts_.pop_last();
107 vkDestroyPipelineLayout(device.
vk_handle(), vk_pipeline_layout, vk_allocation_callbacks);
110 while (!shader_modules_.is_empty()) {
111 VkShaderModule vk_shader_module = shader_modules_.pop_last();
112 vkDestroyShaderModule(device.
vk_handle(), vk_shader_module, vk_allocation_callbacks);