Fernando Sahmkow
d777ec15f8
BufferBase: Don't ignore GPU pages.
2023-01-05 14:00:10 -05:00
Fernando Sahmkow
e6e49e584f
MacroHLE: Final cleanup and fixes.
2023-01-01 16:43:58 -05:00
Fernando Sahmkow
3ea10762d2
RasterizerMemory: Add filtering for flushing/invalidation operations.
2023-01-01 16:43:58 -05:00
Fernando Sahmkow
d2643a61c3
Revert Buffer cache changes and setup additional macros.
2023-01-01 16:43:57 -05:00
Fernando Sahmkow
b4fcb0b2b2
MacroHLE: Refactor MacroHLE system.
2023-01-01 16:43:57 -05:00
Fernando Sahmkow
b5b0ec9429
MacroHLE: Implement DrawIndexedIndirect & DrawArraysIndirect.
2023-01-01 16:43:57 -05:00
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