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
Fernando Sahmkow
1eeef16a6e
Buffer Cache: Fixes to DMA Copy.
2021-07-14 18:25:33 +02:00
Fernando Sahmkow
4220d6a7d6
BufferCache: fix clearing on forced download.
2021-07-14 16:44:15 +02:00
Fernando Sahmkow
a0a9ff69fa
DMAEngine: Accelerate BufferClear
2021-07-13 03:49:47 +02:00
Fernando Sahmkow
2f222a20df
accelerateDMA: Fixes and feedback.
2021-07-12 10:33:35 +02:00
Fernando Sahmkow
45da44d16a
accelerateDMA: Accelerate Buffer Copies.
2021-07-11 01:33:17 +02:00
Fernando Sahmkow
1be1828db1
Buffer Cache: Address Feedback.
2021-07-10 21:34:55 +02:00
Fernando Sahmkow
bdd0787048
Buffer Cache: Fix GCC copmpile error
2021-07-09 22:20:36 +02:00
Fernando Sahmkow
d9fc759460
BufferCache: Additional download fixes.
2021-07-09 22:20:36 +02:00
Fernando Sahmkow
000f51250f
Buffer Cache: Revert unnecessary range reduction.
2021-07-09 22:20:36 +02:00
Fernando Sahmkow
ee5dfe2c02
Fence Manager: Force ordering on WFI.
2021-07-09 22:20:36 +02:00
Fernando Sahmkow
ddb595bf7f
Buffer Cache: Eliminate the AC Hack as the base game is fixed in Hades.
2021-07-09 22:20:36 +02:00
Fernando Sahmkow
48d5b8bf3e
Fence Manager: Add fences on Reference Count.
2021-07-09 22:20:36 +02:00
Fernando Sahmkow
907da84f02
Videocore: Address Feedback & CLANG Format.
2021-07-09 22:20:36 +02:00
Fernando Sahmkow
776da59abc
Buffer Cache: Fix High Downloads and don't predownload on Extreme.
2021-07-09 22:20:36 +02:00
ReinUsesLisp
b89963e542
buffer_cache: Only flush downloaded size
...
Fixes a regression unintentionally introduced by the garbage collector.
This makes regular memory downloads only flush the requested sizes.
This negatively affected Koei Tecmo games.
2021-06-26 03:29:34 -03:00
ReinUsesLisp
a0a7f569c0
buffer_cache/texture_cache: Make GC functions private
2021-06-26 02:17:36 -03:00
ReinUsesLisp
21e08723e7
buffer_cache: Silence implicit cast warning
2021-06-26 02:17:36 -03:00
Wunkolo
722f9c3cb5
common: Replace common_sizes into user-literals
...
Removes common_sizes.h in favor of having `_KiB`, `_MiB`, `_GiB`, etc
user-literals within literals.h.
To keep the global namespace clean, users will have to use:
```
using namespace Common::Literals;
```
to access these literals.
2021-06-24 09:27:40 -07:00
Fernando Sahmkow
aa941d40cd
Reaper: Change memory restrictions on TC depending on host memory on VK.
2021-06-17 00:29:48 +02:00
Fernando Sahmkow
2fd0207e2e
Reaper: Address Feedback.
2021-06-16 21:35:03 +02:00
Fernando Sahmkow
25e2362427
Reaper: Setup settings and final tuning.
2021-06-16 21:35:03 +02:00
Fernando Sahmkow
978aabb1d0
Reaper: Tune it up to be an smart GC.
2021-06-16 21:35:02 +02:00
ReinUsesLisp
cb0d987c90
Initial Reaper Setup
...
WIP
2021-06-16 21:35:02 +02:00
Markus Wick
e7c2b054c1
Fix GCC undefined behavior sanitizer.
...
* Wrong alignment in u64 LOG_DEBUG -> memcpy.
* Huge shift exponent in stride calculation for linear buffer, unused result -> skipped.
* Large shift in buffer cache if word = 0, skip checking for set bits.
Non of those were critical, so this should not change any behavior.
At least with the assumption, that the last one used masking behavior, which always yield continuous_bits = 0.
2021-06-10 21:07:27 +02:00
ameerj
2a0dbf9b79
buffer_cache: Simplify uniform disabling logic
2021-06-01 13:26:58 -04:00
Markus Wick
9f92beed0a
Fix two GCC 11 warnings: Unneeded copies.
...
std::move created an unneeded copy.
iterating without reference also created copies.
2021-05-29 08:57:44 +02:00
ameerj
53c68f6bb3
buffer_cache: Ensure null buffers cannot take the fast uniform bind path
...
Fixes a crash in New Pokemon Snap
2021-05-16 07:43:40 -04:00