diff --git a/rpcs3/Emu/RSX/VK/VKTextureCache.cpp b/rpcs3/Emu/RSX/VK/VKTextureCache.cpp index 9393b99a2b..061c4eaa44 100644 --- a/rpcs3/Emu/RSX/VK/VKTextureCache.cpp +++ b/rpcs3/Emu/RSX/VK/VKTextureCache.cpp @@ -9,6 +9,8 @@ namespace vk { texture_cache::cached_image_reference_t::cached_image_reference_t(texture_cache* parent, std::unique_ptr& previous) { + ensure(previous); + this->parent = parent; this->data = std::move(previous); } @@ -182,7 +184,7 @@ namespace vk void texture_cache::on_section_destroyed(cached_texture_section& tex) { - if (tex.is_managed()) + if (tex.is_managed() && tex.exists()) { auto disposable = std::unique_ptr(new cached_image_reference_t(this, tex.get_texture())); vk::get_resource_manager()->dispose(disposable);