summaryrefslogtreecommitdiffstats
path: root/src/video_core/buffer_cache/map_interval.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2020-05-21map_interval: Add interval allocator and drop hackReinUsesLisp1-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.
2020-05-21buffer_cache: Use boost::intrusive::set for cachingReinUsesLisp1-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.
2020-05-21buffer_cache: Remove shared pointersReinUsesLisp1-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.
2020-05-21buffer_cache: Minor style changesReinUsesLisp1-78/+16
Minor style changes. Mostly done so I avoid editing it while doing other changes.
2020-04-22BufferCache: Implement OnCPUWrite and SyncGuestHostFernando Sahmkow1-0/+18
2020-04-06Buffer Cache: Use vAddr instead of physical memory.Fernando Sahmkow1-6/+6
2019-08-21Buffer_Cache: Optimize and track written areas.Fernando Sahmkow1-1/+22
2019-08-21BufferCache: Rework mapping caching.Fernando Sahmkow1-21/+41
2019-08-21Buffer_Cache: Fixes and optimizations.Fernando Sahmkow1-1/+1
2019-08-21Video_Core: Implement a new Buffer CacheFernando Sahmkow1-0/+48