Commit graph

216 commits

Author SHA1 Message Date
liamwhite
5f2369bba6 general: workarounds for SMMU syncing issues (#12749) 2024-02-27 15:42:15 +01:00
liamwhite
c98e01cee8 buffer_cache: avoid overflow in usage tracker (#13166) 2024-02-27 15:39:11 +01:00
Matías Locatti
40497ab00f 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
02430ed002 buffer_cache: use mapped range with large vertex buffer size 2024-02-13 08:27:33 -05:00
Liam
e882f6c1c3 caches: make critical reclamation less eager and possible in more cases 2024-02-11 13:41:13 -05:00
Fernando Sahmkow
758d895408 Common: Rename SplitRangeSet to OverlapRangeSet 2024-02-05 23:01:17 +01:00
Fernando Sahmkow
80d505b5cf Buffer Cache: Refactor to use Range sets instead 2024-02-05 11:06:52 +01:00
Fernando Sahmkow
4d97c54676 VideoCore: Move Slot Vector to Common 2024-02-04 20:01:47 +01:00
Fernando Sahmkow
241c64e43b Core: Eliminate core/memory dependancies. 2024-01-18 21:12:30 -05:00
Fernando Sahmkow
b206089ea7 Core: Clang format and other small issues. 2024-01-18 21:12:30 -05:00
Fernando Sahmkow
9db159da71 SMMU: Initial adaptation to video_core. 2024-01-18 21:12:30 -05:00
Viktor Szépe
e895ebb546 Fix typos in video_core 2024-01-07 22:44:55 +00:00
liamwhite
4504ee7f28 Revert "video_core: use interval map for page count tracking" 2023-12-17 18:59:49 -05:00
Liam
7fa76caf80 video_core: use interval map for page count tracking 2023-12-14 21:54:36 -05:00
liamwhite
95ad671ce9 Merge pull request #12194 from liamwhite/fruit-company
video_core: fix mac compile
2023-11-29 12:33:41 -05:00
Ameer J
a9e011c9c2 Merge branch 'master' into ssbo-align 2023-11-26 21:08:53 -05:00
Liam
bd250e303f video_core: fix mac compile 2023-11-26 20:04:06 -05:00
Fernando S
896ae72dbf 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
6bf827f4e9 Buffer Cache: Eliminate clears on Indirect buffers 2023-11-18 19:26:14 +01:00
GPUCode
4b853ff5cf renderer_vulkan: Introduce separate cmd buffer for uploads 2023-11-12 20:27:39 +01:00
Ameer J
b49639e786 shader_recompiler: Align SSBO offsets in GlobalMemory functions 2023-10-31 20:14:18 -04:00
Ameer J
f4848349b5 buffer_cache: Apply storage buffer alignment only to the offset 2023-10-31 20:10:54 -04:00
Ameer J
e538b932de 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
5d26c3791b Add missing dowhile loops around FindBuffer calls 2023-10-23 15:08:56 +01:00
liamwhite
97c9b2eda6 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
294ffa29cc 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
93cd3d8efd Query Cache: address issues 2023-09-23 23:05:30 +02:00
Fernando Sahmkow
5ea12207f3 Query Cachge: Fully rework Vulkan's query cache 2023-09-23 23:05:29 +02:00
Fernando Sahmkow
47d921e04d Buffer Cache: fix discard writes. 2023-08-27 03:45:43 +02:00
Feng Chen
ce0c210173 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
7e9f75453f buffer_cache: Increase number of texture buffers 2023-07-15 23:09:58 +03:00
Kelebek1
42638691b5 Use spans over guest memory where possible instead of copying data. 2023-07-02 23:09:48 +01:00
Fernando Sahmkow
4f68a8f45a 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
7ae0cdbb09 MemoryTracking: Initial setup of atomic writes. 2023-06-28 19:34:21 +02:00
Kelebek1
c7430e51e3 Remove memory allocations in some hot paths 2023-06-22 08:05:10 +01:00
Kelebek1
547e837f78 Synchronize vertex buffer even when it doesn't require binding 2023-06-17 17:47:00 -04:00
Morph
9da90de908 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
ac23abacac Combine vertex/transform feedback buffer binding into a single call 2023-06-08 12:13:27 +01:00
liamwhite
93372f503a 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
cd9f88e483 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
3da7eafba7 Skip BufferCache tickframe with no channel state set 2023-05-30 21:57:13 +01:00
ameerj
8d223e8092 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
62c747f8a1 Move buffer bindings to per-channel state 2023-05-27 17:04:18 +01:00
Kelebek1
eea071bf87 Fix buffer overlap checking skipping a page for stream score right expand 2023-05-26 10:35:46 +01:00
Fernando S
72c3cf6b32 Merge pull request #10422 from liamwhite/gc
video_core: tune garbage collection aggressiveness
2023-05-24 03:58:49 +02:00
Liam
4a54cea69a video_core: tune garbage collection aggressiveness 2023-05-23 12:55:14 -04:00
Liam
011dfe1db7 textures: add BC1 and BC3 compressors and recompression setting 2023-05-23 12:54:40 -04:00
Fernando Sahmkow
525cb91e3b Buffer Cache: Clear sync code. 2023-05-15 01:50:21 +02:00
Kelebek1
05dcdf5793 Swap order of checking/setting region modifications in the buffer_cache 2023-05-09 20:21:08 +01:00
Fernando Sahmkow
8203f2d8e1 Buffer Cache: disable reactive flushing in it. 2023-05-07 23:46:12 +02:00