diff options
author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2024-02-10 14:49:49 +0100 |
---|---|---|
committer | Fernando Sahmkow <fsahmkow27@gmail.com> | 2024-02-10 14:49:49 +0100 |
commit | 9ce43ee677bdc98eea3d6ea430b0d5867dbcfd26 (patch) | |
tree | 67ca37660f4c1343e3921e6b71ff48817a15ff86 /src/video_core/texture_cache/texture_cache.h | |
parent | Fix multiplayer player count color in dark themes | Temp fix until #12744: Add green color for counts > 0 and < max_players - 1 (#12930) (diff) | |
download | yuzu-9ce43ee677bdc98eea3d6ea430b0d5867dbcfd26.tar yuzu-9ce43ee677bdc98eea3d6ea430b0d5867dbcfd26.tar.gz yuzu-9ce43ee677bdc98eea3d6ea430b0d5867dbcfd26.tar.bz2 yuzu-9ce43ee677bdc98eea3d6ea430b0d5867dbcfd26.tar.lz yuzu-9ce43ee677bdc98eea3d6ea430b0d5867dbcfd26.tar.xz yuzu-9ce43ee677bdc98eea3d6ea430b0d5867dbcfd26.tar.zst yuzu-9ce43ee677bdc98eea3d6ea430b0d5867dbcfd26.zip |
Diffstat (limited to '')
-rw-r--r-- | src/video_core/texture_cache/texture_cache.h | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h index a20c956ff..25c4a0957 100644 --- a/src/video_core/texture_cache/texture_cache.h +++ b/src/video_core/texture_cache/texture_cache.h @@ -600,17 +600,17 @@ void TextureCache<P>::UnmapGPUMemory(size_t as_id, GPUVAddr gpu_addr, size_t siz [&](ImageId id, Image&) { deleted_images.push_back(id); }); for (const ImageId id : deleted_images) { Image& image = slot_images[id]; - if (True(image.flags & ImageFlagBits::CpuModified)) { - continue; + if (False(image.flags & ImageFlagBits::CpuModified)) { + image.flags |= ImageFlagBits::CpuModified; + if (True(image.flags & ImageFlagBits::Tracked)) { + UntrackImage(image, id); + } } - image.flags |= ImageFlagBits::CpuModified; + if (True(image.flags & ImageFlagBits::Remapped)) { continue; } image.flags |= ImageFlagBits::Remapped; - if (True(image.flags & ImageFlagBits::Tracked)) { - UntrackImage(image, id); - } } } @@ -1463,7 +1463,8 @@ ImageId TextureCache<P>::JoinImages(const ImageInfo& info, GPUVAddr gpu_addr, DA const ImageId new_image_id = slot_images.insert(runtime, new_info, gpu_addr, cpu_addr); Image& new_image = slot_images[new_image_id]; - if (!gpu_memory->IsContinuousRange(new_image.gpu_addr, new_image.guest_size_bytes)) { + if (!gpu_memory->IsContinuousRange(new_image.gpu_addr, new_image.guest_size_bytes) && + new_info.is_sparse) { new_image.flags |= ImageFlagBits::Sparse; } |