diff options
| author | 2023-05-07 14:09:10 -0400 | |
|---|---|---|
| committer | 2023-05-07 14:09:10 -0400 | |
| commit | 0c5bdc7241b8af91f574ddc34194caeb4db90233 (patch) | |
| tree | 2997737127294794512047e162da586ad04fa010 | |
| parent | Merge pull request #10172 from Kelebek1/debug_validation_names (diff) | |
| parent | Sort overlap_ids by modification tick before copy (diff) | |
| download | yuzu-0c5bdc7241b8af91f574ddc34194caeb4db90233.tar.gz yuzu-0c5bdc7241b8af91f574ddc34194caeb4db90233.tar.xz yuzu-0c5bdc7241b8af91f574ddc34194caeb4db90233.zip | |
Merge pull request #10081 from Kelebek1/copy_overlap_tick
Sort overlap_ids by modification tick before copy
Diffstat (limited to '')
| -rw-r--r-- | src/video_core/texture_cache/texture_cache.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h index f335009d0..b5297e76b 100644 --- a/src/video_core/texture_cache/texture_cache.h +++ b/src/video_core/texture_cache/texture_cache.h | |||
| @@ -1359,6 +1359,12 @@ ImageId TextureCache<P>::JoinImages(const ImageInfo& info, GPUVAddr gpu_addr, VA | |||
| 1359 | ScaleDown(new_image); | 1359 | ScaleDown(new_image); |
| 1360 | } | 1360 | } |
| 1361 | 1361 | ||
| 1362 | std::ranges::sort(overlap_ids, [this](const ImageId lhs, const ImageId rhs) { | ||
| 1363 | const ImageBase& lhs_image = slot_images[lhs]; | ||
| 1364 | const ImageBase& rhs_image = slot_images[rhs]; | ||
| 1365 | return lhs_image.modification_tick < rhs_image.modification_tick; | ||
| 1366 | }); | ||
| 1367 | |||
| 1362 | for (const ImageId overlap_id : overlap_ids) { | 1368 | for (const ImageId overlap_id : overlap_ids) { |
| 1363 | Image& overlap = slot_images[overlap_id]; | 1369 | Image& overlap = slot_images[overlap_id]; |
| 1364 | if (True(overlap.flags & ImageFlagBits::GpuModified)) { | 1370 | if (True(overlap.flags & ImageFlagBits::GpuModified)) { |