summaryrefslogtreecommitdiffstats
path: root/src/video_core/buffer_cache/map_interval.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* map_interval: Add interval allocator and drop hackReinUsesLisp2020-05-211-0/+41
| | | | | | | | | | Drop the std::list hack to allocate memory indefinitely. Instead use a custom allocator that keeps references valid until destruction. This allocates fixed chunks of memory and puts pointers in a free list. When an allocation is no longer used put it back to the free list, this doesn't heap allocate because std::vector doesn't change the capacity. If the free list is empty, allocate a new chunk.
* buffer_cache: Use boost::intrusive::set for cachingReinUsesLisp2020-05-211-14/+18
| | | | | | | | Instead of using boost::icl::interval_map for caching, use boost::intrusive::set. interval_map is intended as a container where the keys can overlap with one another; we don't need this for caching buffers and a std::set-like data structure that allows us to search with lower_bound is enough.
* buffer_cache: Remove shared pointersReinUsesLisp2020-05-211-13/+15
| | | | | Removing shared pointers is a first step to be able to use intrusive objects and keep allocations close to one another in memory.
* buffer_cache: Minor style changesReinUsesLisp2020-05-211-78/+16
| | | | | Minor style changes. Mostly done so I avoid editing it while doing other changes.
* BufferCache: Implement OnCPUWrite and SyncGuestHostFernando Sahmkow2020-04-221-0/+18
|
* Buffer Cache: Use vAddr instead of physical memory.Fernando Sahmkow2020-04-061-6/+6
|
* Buffer_Cache: Optimize and track written areas.Fernando Sahmkow2019-08-211-1/+22
|
* BufferCache: Rework mapping caching.Fernando Sahmkow2019-08-211-21/+41
|
* Buffer_Cache: Fixes and optimizations.Fernando Sahmkow2019-08-211-1/+1
|
* Video_Core: Implement a new Buffer CacheFernando Sahmkow2019-08-211-0/+48