From 8c6018e378c36f3891106d85dcd74578ad4da15b Mon Sep 17 00:00:00 2001 From: Maufeat Date: Fri, 1 Aug 2025 12:25:09 +0200 Subject: [PATCH] Revert "[vk] Remove improper check for image depth in texture cache. (#164)" This reverts commit 6fd10fd85eda83ce660f79bf6e5491806df2cf6d. --- src/video_core/texture_cache/texture_cache.h | 1 - src/video_core/texture_cache/util.cpp | 11 ++++------- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h index 78b6684c49..6c733fe902 100644 --- a/src/video_core/texture_cache/texture_cache.h +++ b/src/video_core/texture_cache/texture_cache.h @@ -1426,7 +1426,6 @@ ImageId TextureCache

::JoinImages(const ImageInfo& info, GPUVAddr gpu_addr, DA if (solution) { gpu_addr = solution->gpu_addr; cpu_addr = solution->cpu_addr; - // TODO: properly update new_info.size.depth. new_info.resources = solution->resources; join_overlap_ids.push_back(overlap_id); join_copies_to_do.emplace_back(JoinCopy{false, overlap_id}); diff --git a/src/video_core/texture_cache/util.cpp b/src/video_core/texture_cache/util.cpp index f61a8558d9..1a6f0d1ad1 100644 --- a/src/video_core/texture_cache/util.cpp +++ b/src/video_core/texture_cache/util.cpp @@ -1,6 +1,3 @@ -// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project -// SPDX-License-Identifier: GPL-3.0-or-later - // SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project // SPDX-FileCopyrightText: Ryujinx Team and Contributors // SPDX-License-Identifier: GPL-2.0-or-later AND MIT @@ -1219,10 +1216,10 @@ std::optional FindSubresource(const ImageInfo& candidate, const return std::nullopt; } if (existing.type == ImageType::e3D) { - // const u32 mip_depth = std::max(1U, existing.size.depth << base->level); - // if (mip_depth < candidate.size.depth + base->layer) { - // return std::nullopt; - // } + const u32 mip_depth = std::max(1U, existing.size.depth << base->level); + if (mip_depth < candidate.size.depth + base->layer) { + return std::nullopt; + } } else if (existing.resources.layers < candidate.resources.layers + base->layer) { return std::nullopt; }