Commit graph

139 commits

Author SHA1 Message Date
Fernando Sahmkow
f2f2784817 MacroHLE: Add MultidrawIndirect HLE Macro. 2023-01-01 16:43:57 -05:00
liamwhite
22f12c976e Merge pull request #9423 from vonchenplus/vulkan_quad_strip
video_core: Implement all vulkan topology
2022-12-28 20:59:23 -05:00
FengChen
2572668950 video_core: Implement vulkan QuadStrip topology 2022-12-26 11:37:34 +08:00
ameerj
4d5adfb3c9 scratch_buffer: Explicitly defing resize and resize_destructive functions
resize keeps previous data intact when the buffer grows
resize_destructive destroys the previous data when the buffer grows
2022-12-19 22:40:50 -05:00
ameerj
a9c22d329d buffer_cache: Use Common::ScratchBuffer for ImmediateBuffer usage 2022-12-19 18:08:04 -05:00
Feng Chen
ad05d9fe1e video_core: Implement maxwell3d draw manager and split draw logic 2022-12-08 10:12:19 +08:00
liamwhite
e20c5a0b7f Merge pull request #9289 from liamwhite/fruit-company
general: fix compile for Apple Clang
2022-12-03 12:09:21 -05:00
Fernando Sahmkow
b3708b0a5b GPU: Fix buffer cache issue, engine upload not inlining memory in multiline and pessismistic invalidation. 2022-11-24 20:57:16 +01:00
Liam
5a712bb51a general: fix compile for Apple Clang 2022-11-22 22:22:28 -05:00
Feng Chen
e32414b94b video_core: Reimplement inline index buffer binding 2022-11-15 12:10:44 +08:00
Kelebek1
37845e1228 Update 3D regs 2022-10-07 14:13:45 +01:00
Liam White
6df0663a57 General: Fix compilation for GCC 2022-10-06 21:00:53 +02:00
Fernando Sahmkow
03a978b04b Buffer Cache: Deduce vertex array limit from memory layout when limit is the highest possible. 2022-10-06 21:00:53 +02:00
Fernando Sahmkow
7472eb83fc Buffer Cache: Basic fixes. 2022-10-06 21:00:53 +02:00
bunnei
616e83dd94 DMA & InlineToMemory Engines Rework. 2022-10-06 21:00:53 +02:00
Fernando Sahmkow
42ef10060a VideoCore: Refactor fencing system. 2022-10-06 21:00:52 +02:00
Fernando Sahmkow
8847b6645c VideoCore: implement channels on gpu caches. 2022-10-06 21:00:51 +02:00
Liam
39c3184237 video_core: add option for pessimistic flushing 2022-08-25 12:32:14 -04:00
Kyle Kienapfel
ea00332a67 code: dodge PAGE_SIZE #define
Some header files, specifically for OSX and Musl libc define PAGE_SIZE to be a number
This is great except in yuzu we're using PAGE_SIZE as a variable

Specific example
`static constexpr u64 PAGE_SIZE = u64(1) << PAGE_BITS;`

PAGE_SIZE PAGE_BITS PAGE_MASK are all similar variables.
Simply deleted the underscores, and then added YUZU_ prefix

Might be worth noting that there are multiple uses in different classes/namespaces
This list may not be exhaustive

Core::Memory   12 bits (4096)
QueryCacheBase 12 bits
ShaderCache    14 bits (16384)
TextureCache   20 bits (1048576, or 1MB)

Fixes #8779
2022-08-19 16:08:40 -07:00
Morph
2b87305d31 general: Convert source file copyright comments over to SPDX
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-04-23 05:55:32 -04:00
Liam
2d4f844b1b buffer_cache: cap vertex buffer sizes 2022-04-14 10:46:48 -04:00
Fernando Sahmkow
2bd91a6f84 Garbage Collection: Final tuning. 2022-03-25 01:51:52 +01:00
Fernando Sahmkow
35675b986e Buffer Cache: Tune to the levels of the new GC. 2022-03-25 01:51:51 +01:00
Liam
c6b7c191ea buffer_cache: reset cached write bits after flushing invalidations 2022-03-23 20:59:01 -04:00
bunnei
c9ffc287bf Merge pull request #8048 from ameerj/include-purge
general: Reduce unused includes across the project
2022-03-21 18:03:54 -07:00
bunnei
516853d8a3 Merge pull request #7812 from FernandoS27/made-straight-from-the-nut
BufferCache: Find direction of the stream buffer increase.
2022-03-20 15:23:53 -07:00
Fernando Sahmkow
6182828ec5 BufferCache: Find direction of the stream buffer increase. 2022-03-20 21:37:23 +01:00
ameerj
b837219423 video_core: Reduce unused includes 2022-03-19 15:01:31 -04:00
Fernando Sahmkow
9ebf1c00bd Rasterizer: Refactor inlineToMemory. 2022-02-01 01:47:28 +01:00
Fernando Sahmkow
19270ae4e6 Rasterizer: Implement Inline2Memory Acceleration. 2022-01-29 22:53:27 +01:00
ameerj
9bffee169b buffer_cache: Reduce stream buffer allocations when expanding from the left
The existing stream buffer optimization accounts for size increases at the end of the allocated buffer.
This adds the same optimization, increasing the size from the beginning of the buffer as well to reduce buffer allocations when expanding the same buffer from the left.
2022-01-27 15:31:43 -05:00
Fernando Sahmkow
4462c6ee38 VulkanBufferCache: Avoid adding barriers between multiple copies. 2021-11-16 22:11:32 +01:00
ameerj
73dd6230aa buffer_cache: Minor fixes
Loop through the tmp_intervals by reference, rather than by copy, and fix gl clear buffer size calculation.
2021-09-19 20:35:07 -04:00
Fernando Sahmkow
133f72c3f4 Garbage Collection: Make it more agressive on high priority mode. 2021-08-29 18:57:17 +02:00
Fernando Sahmkow
129bcd1b85 Garbage Collection: Adress Feedback. 2021-08-29 18:19:53 +02:00
Fernando Sahmkow
9a785765d8 Garbage Collection: enable as default, eliminate option. 2021-08-28 17:55:37 +02:00
Fernando Sahmkow
7d22f79cf0 VideoCore: Rework Garbage Collection. 2021-08-28 17:54:12 +02:00
Lioncash
dd25abba68 buffer_cache: Remove unused small_vector in CommitAsyncFlushesHigh()
Given this is non-trivial, the constructor is required to execute, so
this removes a bit of redundant codegen.
2021-07-27 06:24:44 -04:00
bunnei
0a328423e8 Merge pull request #6585 from ameerj/hades
Shader Decompiler Rewrite
2021-07-25 11:39:04 -07:00
ReinUsesLisp
2cd96376b5 buffer_cache: Fix debugging leftover 2021-07-22 21:51:38 -04:00
ReinUsesLisp
b7cf8e0de4 buffer_cache: Fix size reductions not having in mind bind sizes
A buffer binding can change between shaders without changing the
shaders. This lead to outdated bindings on OpenGL.
2021-07-22 21:51:38 -04:00
ReinUsesLisp
ee69b7aa59 buffer_cache: Invalidate fast buffers on compute 2021-07-22 21:51:35 -04:00
ReinUsesLisp
5292190c8d buffer_cache: Fix copy based uniform bindings tracking 2021-07-22 21:51:35 -04:00
ReinUsesLisp
535fb4e6b5 buffer_cache: Reduce uniform buffer size from shader usage
Increases performance significantly on certain titles.
2021-07-22 21:51:34 -04:00
ReinUsesLisp
ebfbb5e09f buffer_cache: Mark uniform buffers as dirty if any enable bit changes 2021-07-22 21:51:34 -04:00
ReinUsesLisp
5ca5988c63 shader: Initial OpenGL implementation 2021-07-22 21:51:30 -04:00
ReinUsesLisp
03c16b085a spirv: Implement image buffers 2021-07-22 21:51:27 -04:00
ReinUsesLisp
3e6cb6362d shader: Interact texture buffers with buffer cache 2021-07-22 21:51:26 -04:00
ReinUsesLisp
9d433f0bd9 buffer_cache: Simplify clear logic
Use existing helper functions and avoid looping when
only one buffer has to be active.
2021-07-20 18:50:51 -03:00
Fernando Sahmkow
a358a281bf Buffer cache: Fixes, Clang and Feedback. 2021-07-15 02:02:08 +02:00