summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/video_core/texture_cache/image_base.h8
-rw-r--r--src/video_core/texture_cache/texture_cache.h14
2 files changed, 11 insertions, 11 deletions
diff --git a/src/video_core/texture_cache/image_base.h b/src/video_core/texture_cache/image_base.h
index 65e68cbb3..ff1feda9b 100644
--- a/src/video_core/texture_cache/image_base.h
+++ b/src/video_core/texture_cache/image_base.h
@@ -29,10 +29,10 @@ enum class ImageFlagBits : u32 {
29 Sparse = 1 << 9, ///< Image has non continous submemory. 29 Sparse = 1 << 9, ///< Image has non continous submemory.
30 30
31 // Garbage Collection Flags 31 // Garbage Collection Flags
32 BadOverlap = 1 << 10,///< This image overlaps other but doesn't fit, has higher 32 BadOverlap = 1 << 10, ///< This image overlaps other but doesn't fit, has higher
33 ///< garbage collection priority 33 ///< garbage collection priority
34 Alias = 1 << 11, ///< This image has aliases and has priority on garbage 34 Alias = 1 << 11, ///< This image has aliases and has priority on garbage
35 ///< collection 35 ///< collection
36}; 36};
37DECLARE_ENUM_FLAG_OPERATORS(ImageFlagBits) 37DECLARE_ENUM_FLAG_OPERATORS(ImageFlagBits)
38 38
diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h
index 500c4dd52..8b1aa8122 100644
--- a/src/video_core/texture_cache/texture_cache.h
+++ b/src/video_core/texture_cache/texture_cache.h
@@ -495,7 +495,7 @@ void TextureCache<P>::RunGarbageCollector() {
495 } 495 }
496 } 496 }
497 if (True(image->flags & ImageFlagBits::Tracked)) { 497 if (True(image->flags & ImageFlagBits::Tracked)) {
498 UntrackImage(*image); 498 UntrackImage(*image, image_id);
499 } 499 }
500 UnregisterImage(image_id); 500 UnregisterImage(image_id);
501 DeleteImage(image_id); 501 DeleteImage(image_id);
@@ -1474,16 +1474,16 @@ template <class P>
1474template <typename Func> 1474template <typename Func>
1475void TextureCache<P>::ForEachSparseSegment(ImageBase& image, Func&& func) { 1475void TextureCache<P>::ForEachSparseSegment(ImageBase& image, Func&& func) {
1476 using FuncReturn = typename std::invoke_result<Func, GPUVAddr, VAddr, size_t>::type; 1476 using FuncReturn = typename std::invoke_result<Func, GPUVAddr, VAddr, size_t>::type;
1477 static constexpr bool BOOL_BREAK = std::is_same_v<FuncReturn, bool>; 1477 static constexpr bool RETURNS_BOOL = std::is_same_v<FuncReturn, bool>;
1478 const auto segments = gpu_memory.GetSubmappedRange(image.gpu_addr, image.guest_size_bytes); 1478 const auto segments = gpu_memory.GetSubmappedRange(image.gpu_addr, image.guest_size_bytes);
1479 for (auto& segment : segments) { 1479 for (auto& segment : segments) {
1480 const auto gpu_addr = segment.first; 1480 const auto gpu_addr = segment.first;
1481 const auto size = segment.second; 1481 const auto size = segment.second;
1482 std::optional<VAddr> cpu_addr = gpu_memory.GpuToCpuAddress(gpu_addr); 1482 std::optional<VAddr> cpu_addr = gpu_memory.GpuToCpuAddress(gpu_addr);
1483 ASSERT(cpu_addr); 1483 ASSERT(cpu_addr);
1484 if constexpr (BOOL_BREAK) { 1484 if constexpr (RETURNS_BOOL) {
1485 if (func(gpu_addr, *cpu_addr, size)) { 1485 if (func(gpu_addr, *cpu_addr, size)) {
1486 return true; 1486 break;
1487 } 1487 }
1488 } else { 1488 } else {
1489 func(gpu_addr, *cpu_addr, size); 1489 func(gpu_addr, *cpu_addr, size);
@@ -1599,9 +1599,9 @@ void TextureCache<P>::UnregisterImage(ImageId image_id) {
1599 ASSERT(it != sparse_views.end()); 1599 ASSERT(it != sparse_views.end());
1600 auto& sparse_maps = it->second; 1600 auto& sparse_maps = it->second;
1601 for (auto& map_view_id : sparse_maps) { 1601 for (auto& map_view_id : sparse_maps) {
1602 const auto& map = slot_map_views[map_view_id]; 1602 const auto& map_range = slot_map_views[map_view_id];
1603 const VAddr cpu_addr = map.cpu_addr; 1603 const VAddr cpu_addr = map_range.cpu_addr;
1604 const std::size_t size = map.size; 1604 const std::size_t size = map_range.size;
1605 ForEachCPUPage(cpu_addr, size, [this, image_id](u64 page) { 1605 ForEachCPUPage(cpu_addr, size, [this, image_id](u64 page) {
1606 const auto page_it = page_table.find(page); 1606 const auto page_it = page_table.find(page);
1607 if (page_it == page_table.end()) { 1607 if (page_it == page_table.end()) {