renderer: remove duplicate texture candidate checks

This commit is contained in:
nmzik
2026-08-18 02:47:23 +02:00
parent 6407add888
commit ae4e695425
+4 -11
View File
@@ -1168,11 +1168,8 @@ ImageId TextureCache::FindImage(ImageDesc& desc, bool exact_format) {
FindImagesInRegion(desc.info.data.address, desc.info.data.size, false); FindImagesInRegion(desc.info.data.address, desc.info.data.size, false);
for (const auto id: candidates) { for (const auto id: candidates) {
const auto owner = ResolveOwner(id); const auto& image = ResolveImage(id);
if (owner == nullptr) { if (SameBacking(image.info, desc.info, exact_format)) {
continue;
}
if (SameBacking(owner->info, desc.info, exact_format)) {
result = id; result = id;
} }
} }
@@ -1181,12 +1178,8 @@ ImageId TextureCache::FindImage(ImageDesc& desc, bool exact_format) {
int32_t view_layer = -1; int32_t view_layer = -1;
if (!result) { if (!result) {
for (const auto candidate: candidates) { for (const auto candidate: candidates) {
view_mip = -1; view_mip = -1;
view_layer = -1; view_layer = -1;
const auto owner = ResolveOwner(candidate);
if (owner == nullptr) {
continue;
}
const auto& merged_info = result ? ResolveImage(result).info : desc.info; const auto& merged_info = result ? ResolveImage(result).info : desc.info;
const auto overlap = ResolveOverlap(merged_info, desc.type, candidate, result); const auto overlap = ResolveOverlap(merged_info, desc.type, candidate, result);
if (overlap.image) { if (overlap.image) {