From ecbdebb43b4f362139bf88ae5d4990875b123486 Mon Sep 17 00:00:00 2001 From: DrChat Date: Sat, 23 Dec 2017 22:41:51 -0600 Subject: [PATCH] [Vulkan] Handle AllocateTextureRegion failures --- src/xenia/gpu/vulkan/texture_cache.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/xenia/gpu/vulkan/texture_cache.cc b/src/xenia/gpu/vulkan/texture_cache.cc index f88b87239..f7ab49c72 100644 --- a/src/xenia/gpu/vulkan/texture_cache.cc +++ b/src/xenia/gpu/vulkan/texture_cache.cc @@ -355,6 +355,11 @@ TextureCache::Texture* TextureCache::AllocateTexture( TextureRegion* base_region = AllocateTextureRegion( texture, region_offset, region_extent, required_flags); + if (!base_region) { + delete texture; + return nullptr; + } + texture->base_region = base_region; return texture; } @@ -514,7 +519,7 @@ TextureCache::TextureRegion* TextureCache::DemandRegion( VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT); } - if (command_buffer && !region->region_contents_valid) { + if (command_buffer && region && !region->region_contents_valid) { // Region content is out-of-date, recreate it by blitting from the base // region.