summaryrefslogtreecommitdiffstats
path: root/src/video_core/buffer_cache (follow)
Commit message (Expand)AuthorAgeFilesLines
* general: workarounds for SMMU syncing issues (#12749)liamwhite2024-02-271-1/+4
* buffer_cache: avoid overflow in usage tracker (#13166)liamwhite2024-02-271-0/+6
* Merge pull request #10529 from liamwhite/critical-spacingMatías Locatti2024-02-211-1/+1
|\
| * caches: make critical reclamation less eager and possible in more casesLiam2024-02-111-1/+1
* | buffer_cache: use mapped range with large vertex buffer sizeLiam2024-02-131-1/+1
|/
* Common: Rename SplitRangeSet to OverlapRangeSetFernando Sahmkow2024-02-051-1/+1
* Buffer Cache: Refactor to use Range sets insteadFernando Sahmkow2024-02-052-278/+103
* VideoCore: Move Slot Vector to CommonFernando Sahmkow2024-02-041-3/+3
* Core: Eliminate core/memory dependancies.Fernando Sahmkow2024-01-193-15/+14
* Core: Clang format and other small issues.Fernando Sahmkow2024-01-192-6/+6
* SMMU: Initial adaptation to video_core.Fernando Sahmkow2024-01-195-289/+304
* Fix typos in video_coreViktor Szépe2024-01-071-2/+2
* Revert "video_core: use interval map for page count tracking"liamwhite2023-12-181-1/+1
* video_core: use interval map for page count trackingLiam2023-12-151-1/+1
* Merge pull request #12194 from liamwhite/fruit-companyliamwhite2023-11-291-2/+2
|\
| * video_core: fix mac compileLiam2023-11-271-2/+2
* | Merge branch 'master' into ssbo-alignAmeer J2023-11-273-71/+114
|\|
| * Merge pull request #11535 from GPUCode/upload_cmdbufFernando S2023-11-263-66/+114
| |\
| | * renderer_vulkan: Introduce separate cmd buffer for uploadsGPUCode2023-11-123-66/+114
| * | Buffer Cache: Eliminate clears on Indirect buffersFernando Sahmkow2023-11-181-5/+0
| |/
* | shader_recompiler: Align SSBO offsets in GlobalMemory functionsAmeer J2023-11-011-1/+2
* | buffer_cache: Apply storage buffer alignment only to the offsetAmeer J2023-11-011-8/+12
* | shader_recompiler: Align SSBO offsets to meet host requirementsAmeer J2023-11-011-3/+8
|/
* Add missing dowhile loops around FindBuffer callsKelebek12023-10-231-6/+7
* Merge pull request #11349 from vonchenplus/buffer_cache_crashliamwhite2023-10-171-0/+4
|\
| * video_core: set vertex buffer num to 16, because mvk have when using more than 16Feng Chen2023-08-231-0/+4
* | Mark a buffer GPU modified after the buffers are confirmed, do not double synch themKelebek12023-10-051-22/+24
* | Query Cache: address issuesFernando Sahmkow2023-09-232-5/+4
* | Query Cachge: Fully rework Vulkan's query cacheFernando Sahmkow2023-09-232-6/+25
* | Buffer Cache: fix discard writes.Fernando Sahmkow2023-08-271-1/+9
|/
* buffer_cache: Increase number of texture buffersGPUCode2023-07-152-1/+11
* Use spans over guest memory where possible instead of copying data.Kelebek12023-07-031-3/+4
* Memory Tracking: Optimize tracking to only use atomic writes when contested with the host GPUFernando Sahmkow2023-06-282-2/+18
* MemoryTracking: Initial setup of atomic writes.Fernando Sahmkow2023-06-282-3/+25
* Remove memory allocations in some hot pathsKelebek12023-06-222-4/+4
* Synchronize vertex buffer even when it doesn't require bindingKelebek12023-06-171-3/+6
* buffer_cache_base: Specify buffer type in HostBindingsMorph2023-06-132-5/+6
* Combine vertex/transform feedback buffer binding into a single callKelebek12023-06-082-22/+71
* Merge pull request #10476 from ameerj/gl-memory-mapsliamwhite2023-06-072-6/+5
|\
| * OpenGL: Make use of persistent buffer maps in buffer cache downloadsameerj2023-05-282-6/+5
* | Merge pull request #10091 from Kelebek1/bc_buggggggliamwhite2023-06-011-3/+3
|\ \
| * | Fix buffer overlap checking skipping a page for stream score right expandKelebek12023-05-261-3/+3
| |/
* | Skip BufferCache tickframe with no channel state setKelebek12023-05-301-1/+5
* | Move buffer bindings to per-channel stateKelebek12023-05-273-209/+227
|/
* Merge pull request #10422 from liamwhite/gcFernando S2023-05-241-2/+2
|\
| * video_core: tune garbage collection aggressivenessLiam2023-05-231-2/+2
* | textures: add BC1 and BC3 compressors and recompression settingLiam2023-05-231-1/+1
|/
* Buffer Cache: Clear sync code.Fernando Sahmkow2023-05-152-28/+4
* Swap order of checking/setting region modifications in the buffer_cacheKelebek12023-05-091-4/+4
* Buffer Cache: disable reactive flushing in it.Fernando Sahmkow2023-05-071-9/+2
* Buffer cache: always use async buffer downloads and fix regression.Fernando Sahmkow2023-05-073-61/+68
* Settings: add option to enable / disable reactive flushingFernando Sahmkow2023-05-071-3/+6
* GPU: Add Reactive flushingFernando Sahmkow2023-05-075-13/+76
* video_core: fix build on Apple ClangLiam2023-05-032-3/+5
* BufferCache: Fixes and address feedbackFernando Sahmkow2023-05-015-321/+240
* Buffer Cache: Release stagging buffers on tick frameFernando Sahmkow2023-04-292-12/+22
* Clang: format and ficx compile errors.Fernando Sahmkow2023-04-294-67/+77
* Implement Async downloads in normal and fix a few issues.Fernando Sahmkow2023-04-293-39/+61
* Buffer Cache rework: Setup async downloads.Fernando Sahmkow2023-04-292-140/+154
* Buffer Cache: Fully rework the buffer cache.Fernando Sahmkow2023-04-296-1088/+1604
* Fixes 'Continous' typoMax Dunbar2023-03-301-1/+1
* Merge pull request #9822 from ameerj/buffcache-ssbo-addrliamwhite2023-03-091-4/+20
|\
| * buffer_cache: Add logic for non-NVN storage buffer trackingameerj2023-02-251-4/+20
* | Engines: Implement Accelerate DMA Texture.Fernando Sahmkow2023-03-051-0/+53
|/
* svc: Fix type consistency (exposed on macOS)Merry2023-02-211-1/+1
* Merge pull request #9588 from liamwhite/bylaws-revertsliamwhite2023-02-191-10/+3
|\
| * Revert "Vulkan, OpenGL: Hook up storage buffer alignment code"Liam2023-01-071-10/+3
* | buffer_base: Partially revert changes from #9559ameerj2023-02-091-6/+8
|/
* Merge pull request #9535 from bylaws/masterFernando S2023-01-061-3/+10
|\
| * Run clang-formatBilly Laws2023-01-051-1/+2
| * Vulkan, OpenGL: Hook up storage buffer alignment codeBilly Laws2023-01-051-3/+9
* | BufferBase: Don't ignore GPU pages.Fernando Sahmkow2023-01-051-8/+6
|/
* MacroHLE: Final cleanup and fixes.Fernando Sahmkow2023-01-011-1/+2
* RasterizerMemory: Add filtering for flushing/invalidation operations.Fernando Sahmkow2023-01-011-1/+1
* Revert Buffer cache changes and setup additional macros.Fernando Sahmkow2023-01-011-95/+18
* MacroHLE: Refactor MacroHLE system.Fernando Sahmkow2023-01-011-1/+5
* MacroHLE: Implement DrawIndexedIndirect & DrawArraysIndirect.Fernando Sahmkow2023-01-011-20/+140
* MacroHLE: Add MultidrawIndirect HLE Macro.Fernando Sahmkow2023-01-011-0/+22
* Merge pull request #9423 from vonchenplus/vulkan_quad_stripliamwhite2022-12-291-3/+4
|\
| * video_core: Implement vulkan QuadStrip topologyFengChen2022-12-261-3/+4
* | scratch_buffer: Explicitly defing resize and resize_destructive functionsameerj2022-12-201-1/+1
* | buffer_cache: Use Common::ScratchBuffer for ImmediateBuffer usageameerj2022-12-201-7/+4
|/
* video_core: Implement maxwell3d draw manager and split draw logicFeng Chen2022-12-081-14/+18
* Merge pull request #9289 from liamwhite/fruit-companyliamwhite2022-12-032-1/+2
|\
| * general: fix compile for Apple ClangLiam2022-11-232-1/+2
* | GPU: Fix buffer cache issue, engine upload not inlining memory in multiline and pessismistic invalidation.Fernando Sahmkow2022-11-241-2/+2
|/
* video_core: Reimplement inline index buffer bindingFeng Chen2022-11-151-2/+31
* Update 3D regsKelebek12022-10-071-17/+17
* General: Fix compilation for GCCLiam White2022-10-061-1/+2
* Buffer Cache: Deduce vertex array limit from memory layout when limit is the highest possible.Fernando Sahmkow2022-10-061-3/+7
* Buffer Cache: Basic fixes.Fernando Sahmkow2022-10-061-15/+22
* DMA & InlineToMemory Engines Rework.bunnei2022-10-061-2/+2
* VideoCore: Refactor fencing system.Fernando Sahmkow2022-10-061-0/+13
* VideoCore: implement channels on gpu caches.Fernando Sahmkow2022-10-061-63/+40
* video_core: add option for pessimistic flushingLiam2022-08-251-1/+4
* code: dodge PAGE_SIZE #defineKyle Kienapfel2022-08-202-25/+26
* general: Convert source file copyright comments over to SPDXMorph2022-04-233-9/+6
* buffer_cache: cap vertex buffer sizesLiam2022-04-141-1/+14
* Garbage Collection: Final tuning.Fernando Sahmkow2022-03-251-3/+3
* Buffer Cache: Tune to the levels of the new GC.Fernando Sahmkow2022-03-251-4/+30
* buffer_cache: reset cached write bits after flushing invalidationsLiam2022-03-241-1/+2
* Merge pull request #8048 from ameerj/include-purgebunnei2022-03-221-2/+0
|\
| * video_core: Reduce unused includesameerj2022-03-191-2/+0
* | Merge pull request #7812 from FernandoS27/made-straight-from-the-nutbunnei2022-03-201-6/+14
|\ \ | |/ |/|
| * BufferCache: Find direction of the stream buffer increase.Fernando Sahmkow2022-03-201-6/+14
* | Rasterizer: Refactor inlineToMemory.Fernando Sahmkow2022-02-011-1/+2
* | Rasterizer: Implement Inline2Memory Acceleration.Fernando Sahmkow2022-01-291-3/+43
|/
* buffer_cache: Reduce stream buffer allocations when expanding from the leftameerj2022-01-271-0/+2
* VulkanBufferCache: Avoid adding barriers between multiple copies.Fernando Sahmkow2021-11-161-1/+3
* buffer_cache: Minor fixesameerj2021-09-201-4/+3
* Garbage Collection: Make it more agressive on high priority mode.Fernando Sahmkow2021-08-292-3/+3
* Garbage Collection: Adress Feedback.Fernando Sahmkow2021-08-292-4/+11
* Garbage Collection: enable as default, eliminate option.Fernando Sahmkow2021-08-281-1/+1
* VideoCore: Rework Garbage Collection.Fernando Sahmkow2021-08-282-39/+35
* buffer_cache: Remove unused small_vector in CommitAsyncFlushesHigh()Lioncash2021-07-271-1/+0
* Merge pull request #6585 from ameerj/hadesbunnei2021-07-251-32/+237
|\
| * buffer_cache: Fix debugging leftoverReinUsesLisp2021-07-231-1/+1
| * buffer_cache: Fix size reductions not having in mind bind sizesReinUsesLisp2021-07-231-7/+23
| * buffer_cache: Invalidate fast buffers on computeReinUsesLisp2021-07-231-0/+1
| * buffer_cache: Fix copy based uniform bindings trackingReinUsesLisp2021-07-231-4/+15
| * buffer_cache: Reduce uniform buffer size from shader usageReinUsesLisp2021-07-231-16/+26
| * buffer_cache: Mark uniform buffers as dirty if any enable bit changesReinUsesLisp2021-07-231-5/+5
| * shader: Initial OpenGL implementationReinUsesLisp2021-07-231-19/+34
| * spirv: Implement image buffersReinUsesLisp2021-07-231-5/+19
| * shader: Interact texture buffers with buffer cacheReinUsesLisp2021-07-231-0/+138
* | buffer_cache: Simplify clear logicReinUsesLisp2021-07-201-6/+2
|/
* Buffer cache: Fixes, Clang and Feedback.Fernando Sahmkow2021-07-151-10/+4
* Buffer Cache: Fixes to DMA Copy.Fernando Sahmkow2021-07-141-6/+7
* BufferCache: fix clearing on forced download.Fernando Sahmkow2021-07-141-10/+20
* DMAEngine: Accelerate BufferClearFernando Sahmkow2021-07-131-4/+61
* accelerateDMA: Fixes and feedback.Fernando Sahmkow2021-07-121-83/+54
* accelerateDMA: Accelerate Buffer Copies.Fernando Sahmkow2021-07-111-1/+80
* Buffer Cache: Address Feedback.Fernando Sahmkow2021-07-102-4/+9
* Buffer Cache: Fix GCC copmpile errorFernando Sahmkow2021-07-091-1/+0
* BufferCache: Additional download fixes.Fernando Sahmkow2021-07-091-21/+99
* Buffer Cache: Revert unnecessary range reduction.Fernando Sahmkow2021-07-091-29/+13
* Fence Manager: Force ordering on WFI.Fernando Sahmkow2021-07-091-38/+57
* Buffer Cache: Eliminate the AC Hack as the base game is fixed in Hades.Fernando Sahmkow2021-07-091-14/+4
* Fence Manager: Add fences on Reference Count.Fernando Sahmkow2021-07-091-3/+13
* Videocore: Address Feedback & CLANG Format.Fernando Sahmkow2021-07-092-78/+75
* Buffer Cache: Fix High Downloads and don't predownload on Extreme.Fernando Sahmkow2021-07-092-89/+120
* buffer_cache: Only flush downloaded sizeReinUsesLisp2021-06-261-2/+3
* buffer_cache/texture_cache: Make GC functions privateReinUsesLisp2021-06-261-2/+2
* buffer_cache: Silence implicit cast warningReinUsesLisp2021-06-261-1/+1
* common: Replace common_sizes into user-literalsWunkolo2021-06-241-4/+7
* Reaper: Change memory restrictions on TC depending on host memory on VK.Fernando Sahmkow2021-06-171-23/+25
* Reaper: Address Feedback.Fernando Sahmkow2021-06-161-6/+7
* Reaper: Setup settings and final tuning.Fernando Sahmkow2021-06-161-3/+4
* Reaper: Tune it up to be an smart GC.Fernando Sahmkow2021-06-161-5/+22
* Initial Reaper SetupReinUsesLisp2021-06-162-44/+105
* Fix GCC undefined behavior sanitizer.Markus Wick2021-06-101-0/+3
* buffer_cache: Simplify uniform disabling logicameerj2021-06-011-4/+7
* Fix two GCC 11 warnings: Unneeded copies.Markus Wick2021-05-291-2/+2
* buffer_cache: Ensure null buffers cannot take the fast uniform bind pathameerj2021-05-161-1/+4
* common: Move settings to common from core.bunnei2021-04-151-1/+1
* buffer_cache: Heuristically decide to skip cache on uniform buffersReinUsesLisp2021-03-021-10/+35
* buffer_cache: Add extra bytes to guest SSBOsReinUsesLisp2021-02-131-1/+7
* gl_buffer_cache: Drop interop based parameter buffer workaroundsReinUsesLisp2021-02-131-2/+2
* buffer_cache: Heuristically detect stream buffersReinUsesLisp2021-02-132-6/+33
* buffer_cache: Split CreateBuffer in separate functionsReinUsesLisp2021-02-131-29/+52
* buffer_cache: Skip cache on small uploads on VulkanReinUsesLisp2021-02-131-8/+9
* vk_staging_buffer_pool: Add stream buffer for small uploadsReinUsesLisp2021-02-131-8/+20
* video_core: Reimplement the buffer cacheReinUsesLisp2021-02-135-667/+1132
* buffer_base: Add support for cached CPU writesReinUsesLisp2021-02-131-61/+145
* video_core: Resolve -Wdocumentation warningsLioncash2021-01-171-1/+1
* buffer_cache/buffer_base: Add a range tracking buffer containerReinUsesLisp2021-01-131-0/+495
* video_core: Rewrite the texture cacheReinUsesLisp2020-12-301-12/+7
* video_core: Make use of ordered container contains() where applicableLioncash2020-12-071-1/+1
* Merge pull request #5149 from comex/xx-map-intervalbunnei2020-12-071-1/+2
|\
| * map_interval: Change field order to address uninitialized field warningcomex2020-12-071-1/+2
* | buffer_block: Mark interface as nodiscard where applicableLioncash2020-12-071-7/+7
* | buffer_block: Remove unnecessary includesLioncash2020-12-071-5/+0
|/
* video_core: Remove all Core::System references in rendererReinUsesLisp2020-09-061-26/+25
* buffer_cache: Eliminate redundant map lookup in MarkRegionAsWritten()Lioncash2020-07-201-6/+3
* configuration: implement per-game configurations (#4098)lat9nq2020-07-101-2/+4
* gl_buffer_cache: Copy to buffers created as STREAM_READ before downloadingReinUsesLisp2020-06-261-4/+2
* buffer_cache: Use buffer methods instead of cache virtual methodsReinUsesLisp2020-06-241-16/+7
* gl_buffer_cache: Mark buffers as residentReinUsesLisp2020-06-241-9/+12
* buffer_cache: Eliminate local variable shadowingLioncash2020-06-201-2/+1
* Merge pull request #4066 from ReinUsesLisp/shared-ptr-bufRodrigo Locatti2020-06-162-114/+112
|\
| * buffer_cache: Avoid passing references of shared pointers and misc style changesReinUsesLisp2020-06-092-114/+112
* | buffer_cache: Return stream buffer invalidation in Map instead of UnmapReinUsesLisp2020-06-091-7/+9
|/
* buffer_cache: Avoid copying twice on certain casesReinUsesLisp2020-05-281-17/+23
* buffer_cache: Remove unused boost headersReinUsesLisp2020-05-211-2/+0
* map_interval: Add interval allocator and drop hackReinUsesLisp2020-05-213-3/+78
* buffer_cache: Use boost::container::small_vector for maps in rangeReinUsesLisp2020-05-211-13/+15
* buffer_cache: Use boost::intrusive::set for cachingReinUsesLisp2020-05-212-30/+44
* buffer_cache: Remove shared pointersReinUsesLisp2020-05-212-70/+72
* buffer_cache: Minor style changesReinUsesLisp2020-05-212-129/+65
* Merge pull request #3808 from ReinUsesLisp/wait-for-idlebunnei2020-05-031-6/+0
|\
| * {maxwell_3d,buffer_cache}: Implement memory barriers using 3D registersReinUsesLisp2020-04-281-6/+0
* | vulkan: Remove unnecessary includesLioncash2020-04-291-1/+0
|/
* Address Feedback.Fernando Sahmkow2020-04-221-9/+6
* Address Feedback.Fernando Sahmkow2020-04-221-33/+23
* vk_fence_manager: Initial implementationReinUsesLisp2020-04-221-0/+1
* FenceManager: Manage syncpoints and rename fences to semaphores.Fernando Sahmkow2020-04-221-0/+7
* BufferCache: Refactor async managing.Fernando Sahmkow2020-04-221-7/+24
* FenceManager: Implement async buffer cache flushes on High settingsFernando Sahmkow2020-04-221-0/+50
* ThreadManager: Sync async reads on accurate gpu.Fernando Sahmkow2020-04-221-0/+12
* BufferCache: Implement OnCPUWrite and SyncGuestHostFernando Sahmkow2020-04-222-2/+61
* buffer_cache: Return handles instead of pointer to handlesReinUsesLisp2020-04-161-25/+22
* Memory: Correct GCC errors.Fernando Sahmkow2020-04-091-0/+1
* GPUMemoryManager: Improve safety of memory reads.Fernando Sahmkow2020-04-081-3/+3
* Buffer Cache: Use vAddr instead of physical memory.Fernando Sahmkow2020-04-063-90/+108
* buffer_cache: Delay buffer destructionsReinUsesLisp2020-01-291-1/+4
* buffer_cache: Remove brace initialized for objects with default constructorReinUsesLisp2019-11-201-10/+10
* buffer_cache: Add missing includes (#3079)Morph2019-11-071-0/+4
* gl_rasterizer: Upload constant buffers with glNamedBufferSubDataReinUsesLisp2019-11-021-3/+11
* video_core: Silent miscellaneous warnings (#2820)Rodrigo Locatti2019-08-302-8/+5
* Buffer Cache: Adress Feedback.Fernando Sahmkow2019-08-211-4/+3
* Buffer_Cache: Implement flushing.Fernando Sahmkow2019-08-211-1/+26
* Buffer_Cache: Implement barriers.Fernando Sahmkow2019-08-211-0/+4
* Buffer_Cache: Optimize and track written areas.Fernando Sahmkow2019-08-212-12/+104
* BufferCache: Rework mapping caching.Fernando Sahmkow2019-08-212-49/+76
* Buffer_Cache: Fixes and optimizations.Fernando Sahmkow2019-08-212-68/+38
* Video_Core: Implement a new Buffer CacheFernando Sahmkow2019-08-213-0/+498