mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2026-03-27 13:50:06 -06:00
parent
0c3fac6ce0
commit
980919b07b
@ -407,6 +407,13 @@ void FsrPass::ResizeAndInvalidate(u32 width, u32 height) {
|
||||
void FsrPass::CreateImages(Img& img) const {
|
||||
img.dirty = false;
|
||||
|
||||
// Destroy previous resources before re-creating at new size.
|
||||
// Views first, then images (views reference the images).
|
||||
img.intermediary_image_view.reset();
|
||||
img.output_image_view.reset();
|
||||
img.intermediary_image.Destroy();
|
||||
img.output_image.Destroy();
|
||||
|
||||
vk::ImageCreateInfo image_create_info{
|
||||
.imageType = vk::ImageType::e2D,
|
||||
.format = vk::Format::eR16G16B16A16Sfloat,
|
||||
|
||||
@ -82,6 +82,14 @@ UniqueImage::~UniqueImage() {
|
||||
}
|
||||
}
|
||||
|
||||
void UniqueImage::Destroy() {
|
||||
if (image) {
|
||||
vmaDestroyImage(allocator, image, allocation);
|
||||
image = vk::Image{};
|
||||
allocation = {};
|
||||
}
|
||||
}
|
||||
|
||||
void UniqueImage::Create(const vk::ImageCreateInfo& image_ci) {
|
||||
this->image_ci = image_ci;
|
||||
ASSERT(!image);
|
||||
|
||||
@ -59,6 +59,8 @@ struct UniqueImage {
|
||||
|
||||
void Create(const vk::ImageCreateInfo& image_ci);
|
||||
|
||||
void Destroy();
|
||||
|
||||
operator vk::Image() const {
|
||||
return image;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user