From eeb96f91a5639c241bdb6d1d5f1dfdc31e8b3e48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rados=C5=82aw=20Gli=C5=84ski?= Date: Mon, 15 Jul 2024 22:56:53 +0200 Subject: [PATCH] [GPU] Reset mip levels for non-mipmapped type This prevent issue where fetch is partially invalid and contains invalid mip_page and mip_level for BaseMap type --- src/xenia/gpu/texture_util.cc | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/xenia/gpu/texture_util.cc b/src/xenia/gpu/texture_util.cc index 09e8c5207..fe7861ca8 100644 --- a/src/xenia/gpu/texture_util.cc +++ b/src/xenia/gpu/texture_util.cc @@ -69,9 +69,7 @@ void GetSubresourcesFromFetchConstant( uint32_t mip_page = fetch.mip_address & 0x1FFFF; uint32_t mip_min_level, mip_max_level; - // Not taking mip_filter == kBaseMap into account for mip_max_level because - // the mip filter may be overridden by shader fetch instructions. - if (mip_page == 0) { + if (fetch.mip_filter == xenos::TextureFilter::kBaseMap || mip_page == 0) { mip_min_level = 0; mip_max_level = 0; } else {