diff options
author | ameerj <52414509+ameerj@users.noreply.github.com> | 2022-01-27 15:31:43 -0500 |
---|---|---|
committer | ameerj <52414509+ameerj@users.noreply.github.com> | 2022-01-27 15:31:43 -0500 |
commit | f300a1d54be6b61f3f8667f1578bf42361f210dc (patch) | |
tree | 7e4af4bcb376b01e344e2347b4da3de42991e205 | |
parent | 8a244dd3d34e3c9ded99fa3f0cdb7ca8e175cf96 (diff) |
buffer_cache: Reduce stream buffer allocations when expanding from the left
The existing stream buffer optimization accounts for size increases at the end of the allocated buffer.
This adds the same optimization, increasing the size from the beginning of the buffer as well to reduce buffer allocations when expanding the same buffer from the left.
-rw-r--r-- | src/video_core/buffer_cache/buffer_cache.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/video_core/buffer_cache/buffer_cache.h b/src/video_core/buffer_cache/buffer_cache.h index 43bed63ac2..048dba4f33 100644 --- a/src/video_core/buffer_cache/buffer_cache.h +++ b/src/video_core/buffer_cache/buffer_cache.h @@ -1474,6 +1474,8 @@ typename BufferCache<P>::OverlapResult BufferCache<P>::ResolveOverlaps(VAddr cpu // When this memory region has been joined a bunch of times, we assume it's being used // as a stream buffer. Increase the size to skip constantly recreating buffers. has_stream_leap = true; + begin -= PAGE_SIZE * 256; + cpu_addr = begin; end += PAGE_SIZE * 256; } } |