Commit Graph

216 Commits

Author SHA1 Message Date
liamwhite 6948ac8c16
general: workarounds for SMMU syncing issues (#12749) 2024-02-27 15:42:15 +01:00
liamwhite 1de37306a5
buffer_cache: avoid overflow in usage tracker (#13166) 2024-02-27 15:39:11 +01:00
Matías Locatti e0c17a2113
Merge pull request #10529 from liamwhite/critical-spacing
caches: make critical reclamation less eager and possible in more cases
2024-02-20 23:19:27 -03:00
Liam 3067bfd126 buffer_cache: use mapped range with large vertex buffer size 2024-02-13 08:27:33 -05:00
Liam 865a0186b6 caches: make critical reclamation less eager and possible in more cases 2024-02-11 13:41:13 -05:00
Fernando Sahmkow fa47ac1c9f Common: Rename SplitRangeSet to OverlapRangeSet 2024-02-05 23:01:17 +01:00
Fernando Sahmkow 0d5a3abeae Buffer Cache: Refactor to use Range sets instead 2024-02-05 11:06:52 +01:00
Fernando Sahmkow 4841dc0b74 VideoCore: Move Slot Vector to Common 2024-02-04 20:01:47 +01:00
Fernando Sahmkow 23430e6772 Core: Eliminate core/memory dependancies. 2024-01-18 21:12:30 -05:00
Fernando Sahmkow 590d9b7e1d Core: Clang format and other small issues. 2024-01-18 21:12:30 -05:00
Fernando Sahmkow 0a2536a0df SMMU: Initial adaptation to video_core. 2024-01-18 21:12:30 -05:00
Viktor Szépe 53085a45e0 Fix typos in video_core 2024-01-07 22:44:55 +00:00
liamwhite 65e646eeba
Revert "video_core: use interval map for page count tracking" 2023-12-17 18:59:49 -05:00
Liam 030e6b3980 video_core: use interval map for page count tracking 2023-12-14 21:54:36 -05:00
liamwhite 91ad6b7098
Merge pull request #12194 from liamwhite/fruit-company
video_core: fix mac compile
2023-11-29 12:33:41 -05:00
Ameer J 1d11fe00a3
Merge branch 'master' into ssbo-align 2023-11-26 21:08:53 -05:00
Liam 7c1cb5e8c9 video_core: fix mac compile 2023-11-26 20:04:06 -05:00
Fernando S f21340f7aa
Merge pull request #11535 from GPUCode/upload_cmdbuf
renderer_vulkan: Introduce separate cmd buffer for uploads
2023-11-26 18:33:05 +01:00
Fernando Sahmkow ae60a5657e Buffer Cache: Eliminate clears on Indirect buffers 2023-11-18 19:26:14 +01:00
GPUCode efc50485b8 renderer_vulkan: Introduce separate cmd buffer for uploads 2023-11-12 20:27:39 +01:00
Ameer J 75c5be55af shader_recompiler: Align SSBO offsets in GlobalMemory functions 2023-10-31 20:14:18 -04:00
Ameer J 735612c9b3 buffer_cache: Apply storage buffer alignment only to the offset 2023-10-31 20:10:54 -04:00
Ameer J 7d34800531 shader_recompiler: Align SSBO offsets to meet host requirements
Co-Authored-By: Billy Laws <blaws05@gmail.com>
2023-10-31 20:10:54 -04:00
Kelebek1 68f25217b8 Add missing dowhile loops around FindBuffer calls 2023-10-23 15:08:56 +01:00
liamwhite b577d7a55f
Merge pull request #11349 from vonchenplus/buffer_cache_crash
video_core: Fix moltenvk crash on macos
2023-10-17 11:48:44 -04:00
Kelebek1 a764f49910 Mark a buffer GPU modified after the buffers are confirmed, do not double synch them 2023-10-05 00:19:11 +01:00
Fernando Sahmkow 282ae8fa51 Query Cache: address issues 2023-09-23 23:05:30 +02:00
Fernando Sahmkow f1a2e36711 Query Cachge: Fully rework Vulkan's query cache 2023-09-23 23:05:29 +02:00
Fernando Sahmkow acc99433c7 Buffer Cache: fix discard writes. 2023-08-27 03:45:43 +02:00
Feng Chen cc4736fa58 video_core: set vertex buffer num to 16, because mvk have when using more than 16 2023-08-23 23:22:55 +08:00
GPUCode 4347dd26c6 buffer_cache: Increase number of texture buffers 2023-07-15 23:09:58 +03:00
Kelebek1 6f7cb69c94 Use spans over guest memory where possible instead of copying data. 2023-07-02 23:09:48 +01:00
Fernando Sahmkow da440da9f5 Memory Tracking: Optimize tracking to only use atomic writes when contested with the host GPU 2023-06-28 21:32:45 +02:00
Fernando Sahmkow 47d0d292d5 MemoryTracking: Initial setup of atomic writes. 2023-06-28 19:34:21 +02:00
Kelebek1 5da70f7197 Remove memory allocations in some hot paths 2023-06-22 08:05:10 +01:00
Kelebek1 e681f5678c Synchronize vertex buffer even when it doesn't require binding 2023-06-17 17:47:00 -04:00
Morph 925586f97b buffer_cache_base: Specify buffer type in HostBindings
Avoid reinterpret-casting from void pointer since the type is already known at compile time.
2023-06-13 00:59:42 -04:00
Kelebek1 ace6c2318b Combine vertex/transform feedback buffer binding into a single call 2023-06-08 12:13:27 +01:00
liamwhite cfb76d8f3e
Merge pull request #10476 from ameerj/gl-memory-maps
OpenGL: Make use of persistent buffer maps in buffer cache
2023-06-07 14:03:57 -04:00
liamwhite d89b98d8e8
Merge pull request #10091 from Kelebek1/bc_bugggggg
Fix buffer overlap checking skipping a page for stream score right expand
2023-06-01 09:06:07 -04:00
Kelebek1 661375a222 Skip BufferCache tickframe with no channel state set 2023-05-30 21:57:13 +01:00
ameerj 642c14f0c7 OpenGL: Make use of persistent buffer maps in buffer cache downloads
Persistent buffer maps were already used by the texture cache, this extends their usage for the buffer cache.

In my testing, using the memory maps for uploads was slower than the existing "ImmediateUpload" path, so the memory map usage is limited to downloads for the time being.
2023-05-28 00:38:46 -04:00
Kelebek1 b0bea13ed8 Move buffer bindings to per-channel state 2023-05-27 17:04:18 +01:00
Kelebek1 7ce181edcf Fix buffer overlap checking skipping a page for stream score right expand 2023-05-26 10:35:46 +01:00
Fernando S 72a14a6817
Merge pull request #10422 from liamwhite/gc
video_core: tune garbage collection aggressiveness
2023-05-24 03:58:49 +02:00
Liam 3b1172c10f video_core: tune garbage collection aggressiveness 2023-05-23 12:55:14 -04:00
Liam 415c78b87c textures: add BC1 and BC3 compressors and recompression setting 2023-05-23 12:54:40 -04:00
Fernando Sahmkow c4bfbc6d25 Buffer Cache: Clear sync code. 2023-05-15 01:50:21 +02:00
Kelebek1 b3691fc33c Swap order of checking/setting region modifications in the buffer_cache 2023-05-09 20:21:08 +01:00
Fernando Sahmkow 2df19ef0fd Buffer Cache: disable reactive flushing in it. 2023-05-07 23:46:12 +02:00