From 9e640b28a871b591810c69f0b6ad554c433959ae Mon Sep 17 00:00:00 2001 From: Forrest Keller Date: Wed, 31 Dec 2025 16:01:48 -0600 Subject: [PATCH] Up the limit before trying to use the GPU accelerated unswizzle Removed the system that ignores sparse remaps --- src/video_core/texture_cache/texture_cache.h | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h index 263a9c0630..518947e9c3 100644 --- a/src/video_core/texture_cache/texture_cache.h +++ b/src/video_core/texture_cache/texture_cache.h @@ -1099,24 +1099,21 @@ void TextureCache

::RefreshContents(Image& image, ImageId image_id) { image.flags &= ~ImageFlagBits::CpuModified; TrackImage(image, image_id); - // If it's sparse and remapped, we treat it as a partial update trigger + /*// If it's sparse and remapped, we treat it as a partial update trigger if (image.info.is_sparse && True(image.flags & ImageFlagBits::Remapped)) { image.flags &= ~ImageFlagBits::Remapped; if (!image.dirty_offsets.empty() && !image.sparse_bindings.empty()) { - /*constexpr u64 page_size = 64_KiB; + constexpr u64 page_size = 64_KiB; size_t dirty_size = image.dirty_offsets.size() * page_size; auto staging = runtime.UploadStagingBuffer(dirty_size); UploadSparseDirtyTiles(image, staging); runtime.InsertUploadMemoryBarrier(); - return;*/ - image.dirty_offsets.clear(); - image.sparse_bindings.clear(); return; } - } + }*/ if (image.info.num_samples > 1 && !runtime.CanUploadMSAA()) { LOG_WARNING(HW_GPU, "MSAA image uploads are not implemented"); @@ -1131,7 +1128,7 @@ void TextureCache

::RefreshContents(Image& image, ImageId image_id) { image.info.type == ImageType::e3D && image.info.resources.levels == 1 && image.info.resources.layers == 1 && - MapSizeBytes(image) >= 32_MiB && + MapSizeBytes(image) >= 128_MiB && False(image.flags & ImageFlagBits::GpuModified)) { QueueAsyncUnswizzle(image, image_id);