Skip to content

Commit b29a37e

Browse files
authored
Merge branch 'SaschaWillems:master' into master
2 parents 8bb60c2 + 9dadd15 commit b29a37e

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

examples/raytracingsbtdata/raytracingsbtdata.cpp

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,14 @@ class VulkanExample : public VulkanExampleBase
219219
*/
220220
void createStorageImage()
221221
{
222+
// Release ressources if image is to be recreated
223+
if (storageImage.image != VK_NULL_HANDLE) {
224+
vkDestroyImageView(device, storageImage.view, nullptr);
225+
vkDestroyImage(device, storageImage.image, nullptr);
226+
vkFreeMemory(device, storageImage.memory, nullptr);
227+
storageImage = {};
228+
}
229+
222230
VkImageCreateInfo image = vks::initializers::imageCreateInfo();
223231
image.imageType = VK_IMAGE_TYPE_2D;
224232
image.format = swapChain.colorFormat;
@@ -735,10 +743,6 @@ class VulkanExample : public VulkanExampleBase
735743
*/
736744
void handleResize()
737745
{
738-
// Delete allocated resources
739-
vkDestroyImageView(device, storageImage.view, nullptr);
740-
vkDestroyImage(device, storageImage.image, nullptr);
741-
vkFreeMemory(device, storageImage.memory, nullptr);
742746
// Recreate image
743747
createStorageImage();
744748
// Update descriptors
@@ -747,6 +751,7 @@ class VulkanExample : public VulkanExampleBase
747751
VkWriteDescriptorSet resultImageWrite = vks::initializers::writeDescriptorSet(descriptorSets[i], VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, 1, &storageImageDescriptor);
748752
vkUpdateDescriptorSets(device, 1, &resultImageWrite, 0, VK_NULL_HANDLE);
749753
}
754+
resized = false;
750755
}
751756

752757
void updateUniformBuffers()

0 commit comments

Comments
 (0)