Fix incompatible format images being passed on overlap resolve

This commit is contained in:
Daniel R 2024-09-05 12:32:26 +02:00
parent 8d1641e4d3
commit 7fc23778f7
No known key found for this signature in database
GPG key ID: B8ADC8F57BA18DBA

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{};