diff options
| author | 2024-02-22 11:34:23 -0600 | |
|---|---|---|
| committer | 2024-02-22 11:34:23 -0600 | |
| commit | 2b3f1d3fc53c1b7a729c3f1cebbddebcd9427952 (patch) | |
| tree | 212f3f415073e1fda5c8859e6dbb5ef2d0887128 /src | |
| parent | Merge pull request #13001 from liamwhite/scaled-availability (diff) | |
| parent | device_memory_manager: skip unregistered interfaces on invalidate (diff) | |
| download | yuzu-2b3f1d3fc53c1b7a729c3f1cebbddebcd9427952.tar.gz yuzu-2b3f1d3fc53c1b7a729c3f1cebbddebcd9427952.tar.xz yuzu-2b3f1d3fc53c1b7a729c3f1cebbddebcd9427952.zip | |
Merge pull request #13000 from liamwhite/skip-null-memory
device_memory_manager: skip unregistered interfaces on invalidate
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/device_memory_manager.inc | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/core/device_memory_manager.inc b/src/core/device_memory_manager.inc index 37c1e69c3..f104d495b 100644 --- a/src/core/device_memory_manager.inc +++ b/src/core/device_memory_manager.inc | |||
| @@ -522,13 +522,17 @@ void DeviceMemoryManager<Traits>::UpdatePagesCachedCount(DAddr addr, size_t size | |||
| 522 | auto* memory_device_inter = registered_processes[asid.id]; | 522 | auto* memory_device_inter = registered_processes[asid.id]; |
| 523 | const auto release_pending = [&] { | 523 | const auto release_pending = [&] { |
| 524 | if (uncache_bytes > 0) { | 524 | if (uncache_bytes > 0) { |
| 525 | MarkRegionCaching(memory_device_inter, uncache_begin << Memory::YUZU_PAGEBITS, | 525 | if (memory_device_inter != nullptr) { |
| 526 | uncache_bytes, false); | 526 | MarkRegionCaching(memory_device_inter, uncache_begin << Memory::YUZU_PAGEBITS, |
| 527 | uncache_bytes, false); | ||
| 528 | } | ||
| 527 | uncache_bytes = 0; | 529 | uncache_bytes = 0; |
| 528 | } | 530 | } |
| 529 | if (cache_bytes > 0) { | 531 | if (cache_bytes > 0) { |
| 530 | MarkRegionCaching(memory_device_inter, cache_begin << Memory::YUZU_PAGEBITS, | 532 | if (memory_device_inter != nullptr) { |
| 531 | cache_bytes, true); | 533 | MarkRegionCaching(memory_device_inter, cache_begin << Memory::YUZU_PAGEBITS, |
| 534 | cache_bytes, true); | ||
| 535 | } | ||
| 532 | cache_bytes = 0; | 536 | cache_bytes = 0; |
| 533 | } | 537 | } |
| 534 | }; | 538 | }; |