diff options
Diffstat (limited to 'src')
| -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 ed5c768d8..a1c2cc1d8 100644 --- a/src/video_core/texture_cache/texture_cache.h +++ b/src/video_core/texture_cache/texture_cache.h | |||
| @@ -1294,6 +1294,12 @@ ImageId TextureCache<P>::JoinImages(const ImageInfo& info, GPUVAddr gpu_addr, VA | |||
| 1294 | ScaleDown(new_image); | 1294 | ScaleDown(new_image); |
| 1295 | } | 1295 | } |
| 1296 | 1296 | ||
| 1297 | std::ranges::sort(overlap_ids, [this](const ImageId lhs, const ImageId rhs) { | ||
| 1298 | const ImageBase& lhs_image = slot_images[lhs]; | ||
| 1299 | const ImageBase& rhs_image = slot_images[rhs]; | ||
| 1300 | return lhs_image.modification_tick < rhs_image.modification_tick; | ||
| 1301 | }); | ||
| 1302 | |||
| 1297 | for (const ImageId overlap_id : overlap_ids) { | 1303 | for (const ImageId overlap_id : overlap_ids) { |
| 1298 | Image& overlap = slot_images[overlap_id]; | 1304 | Image& overlap = slot_images[overlap_id]; |
| 1299 | if (True(overlap.flags & ImageFlagBits::GpuModified)) { | 1305 | if (True(overlap.flags & ImageFlagBits::GpuModified)) { |