Fernando Sahmkow
3b582d5fb2
GPU: Fix buffer cache issue, engine upload not inlining memory in multiline and pessismistic invalidation.
2022-11-24 20:57:16 +01:00
Feng Chen
cb971ad654
video_core: Reimplement inline index buffer binding
2022-11-15 12:10:44 +08:00
Kelebek1
752659aef3
Update 3D regs
2022-10-07 14:13:45 +01:00
Liam White
afab6c143c
General: Fix compilation for GCC
2022-10-06 21:00:53 +02:00
Fernando Sahmkow
770e19f51a
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
b59ca4df0c
Buffer Cache: Basic fixes.
2022-10-06 21:00:53 +02:00
bunnei
f5fd6b5c86
DMA & InlineToMemory Engines Rework.
2022-10-06 21:00:53 +02:00
Fernando Sahmkow
bc8b3d225e
VideoCore: Refactor fencing system.
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
139ea93512
VideoCore: implement channels on gpu caches.
2022-10-06 21:00:51 +02:00
Liam
db3eb168cd
video_core: add option for pessimistic flushing
2022-08-25 12:32:14 -04:00
Kyle Kienapfel
14e9de6678
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
99ceb03a1c
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
d4571b123d
buffer_cache: cap vertex buffer sizes
2022-04-14 10:46:48 -04:00
Fernando Sahmkow
9edbbf2af4
Garbage Collection: Final tuning.
2022-03-25 01:51:52 +01:00
Fernando Sahmkow
5e982a7812
Buffer Cache: Tune to the levels of the new GC.
2022-03-25 01:51:51 +01:00
Liam
dea5de91d2
buffer_cache: reset cached write bits after flushing invalidations
2022-03-23 20:59:01 -04:00
bunnei
82ac66f8a4
Merge pull request #8048 from ameerj/include-purge
...
general: Reduce unused includes across the project
2022-03-21 18:03:54 -07:00
bunnei
ff2e891022
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
3b0d233cbd
BufferCache: Find direction of the stream buffer increase.
2022-03-20 21:37:23 +01:00
ameerj
1bc7d61b57
video_core: Reduce unused includes
2022-03-19 15:01:31 -04:00
Fernando Sahmkow
8a6e6465a7
Rasterizer: Refactor inlineToMemory.
2022-02-01 01:47:28 +01:00
Fernando Sahmkow
4258d515e6
Rasterizer: Implement Inline2Memory Acceleration.
2022-01-29 22:53:27 +01:00
ameerj
f300a1d54b
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
c5dbd93adb
VulkanBufferCache: Avoid adding barriers between multiple copies.
2021-11-16 22:11:32 +01:00
ameerj
1ea8073783
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
fe0acec539
Garbage Collection: Make it more agressive on high priority mode.
2021-08-29 18:57:17 +02:00
Fernando Sahmkow
ff48f06fb9
Garbage Collection: Adress Feedback.
2021-08-29 18:19:53 +02:00
Fernando Sahmkow
ba82bb359b
Garbage Collection: enable as default, eliminate option.
2021-08-28 17:55:37 +02:00
Fernando Sahmkow
d540d284b5
VideoCore: Rework Garbage Collection.
2021-08-28 17:54:12 +02:00
Lioncash
ec56a17acd
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
98b26b6e12
Merge pull request #6585 from ameerj/hades
...
Shader Decompiler Rewrite
2021-07-25 11:39:04 -07:00
ReinUsesLisp
df9b7e18f5
buffer_cache: Fix debugging leftover
2021-07-22 21:51:38 -04:00
ReinUsesLisp
838d7e4ca5
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
94e751f415
buffer_cache: Invalidate fast buffers on compute
2021-07-22 21:51:35 -04:00
ReinUsesLisp
60a96c49e5
buffer_cache: Fix copy based uniform bindings tracking
2021-07-22 21:51:35 -04:00
ReinUsesLisp
4a2361a1e2
buffer_cache: Reduce uniform buffer size from shader usage
...
Increases performance significantly on certain titles.
2021-07-22 21:51:34 -04:00
ReinUsesLisp
a7e9756671
buffer_cache: Mark uniform buffers as dirty if any enable bit changes
2021-07-22 21:51:34 -04:00
ReinUsesLisp
d621e96d0d
shader: Initial OpenGL implementation
2021-07-22 21:51:30 -04:00
ReinUsesLisp
416e1b7441
spirv: Implement image buffers
2021-07-22 21:51:27 -04:00
ReinUsesLisp
e9a91bc5cc
shader: Interact texture buffers with buffer cache
2021-07-22 21:51:26 -04:00
ReinUsesLisp
6e2ca7fbee
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
1ae4b684ff
Buffer cache: Fixes, Clang and Feedback.
2021-07-15 02:02:08 +02:00
Fernando Sahmkow
a0eb3f8a3e
Buffer Cache: Fixes to DMA Copy.
2021-07-14 18:25:33 +02:00
Fernando Sahmkow
8039be8b19
BufferCache: fix clearing on forced download.
2021-07-14 16:44:15 +02:00
Fernando Sahmkow
b780d5b5c5
DMAEngine: Accelerate BufferClear
2021-07-13 03:49:47 +02:00
Fernando Sahmkow
bc19d28963
accelerateDMA: Fixes and feedback.
2021-07-12 10:33:35 +02:00
Fernando Sahmkow
be1a3f7a0f
accelerateDMA: Accelerate Buffer Copies.
2021-07-11 01:33:17 +02:00
Fernando Sahmkow
977904dd84
Buffer Cache: Address Feedback.
2021-07-10 21:34:55 +02:00
Fernando Sahmkow
5e78ad4378
Buffer Cache: Fix GCC copmpile error
2021-07-09 22:20:36 +02:00
Fernando Sahmkow
2c8f4ed27f
BufferCache: Additional download fixes.
2021-07-09 22:20:36 +02:00