Fix incompatible format images being passed on overlap resolve (#794)

This commit is contained in:
Daniel R. 2024-09-06 19:09:28 +02:00 committed by GitHub
parent b97b5a7db4
commit 416e23fe76
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -109,9 +109,12 @@ ImageId TextureCache::ResolveOverlap(const ImageInfo& image_info, ImageId cache_
}
if (image_info.pixel_format != tex_cache_image.info.pixel_format ||
image_info.size != tex_cache_image.info.size ||
image_info.guest_size_bytes <= tex_cache_image.info.guest_size_bytes) {
return merged_image_id ? merged_image_id : cache_image_id;
auto result_id = merged_image_id ? merged_image_id : cache_image_id;
const auto& result_image = slot_images[result_id];
return IsVulkanFormatCompatible(image_info.pixel_format, result_image.info.pixel_format)
? result_id
: ImageId{};
}
ImageId new_image_id{};