RipleyTom
cd87a64621
Headers cleanup
2025-02-11 20:38:35 +01:00
kd-11
8249b5dbfa
gl: Implement MSAA resolve/unresolve for color images
2025-02-11 02:28:31 +03:00
kd-11
826f805902
rsx: Use a proper struct to wrap around channel remap operations
2024-10-03 15:02:09 +03:00
kd-11
2b9bfc0ec2
rsx: Pick tiler/detiler according to actual block size
2023-12-30 12:35:23 +01:00
kd-11
e95cff0bde
rsx: Detiler improvements
...
- Detile on blit src read
- Improve blit engine integration
2023-10-12 15:25:47 +03:00
kd-11
061c10ea69
vk: Fix memory initialization order in RCB/RDB path
2023-09-27 14:52:59 +03:00
kd-11
ab99400f9d
vk: Restore CPU fallback on the upload path
2023-09-27 14:52:59 +03:00
kd-11
59812b947a
vk: Load DMA before decode operation
2023-09-27 14:52:59 +03:00
kd-11
ca054644ef
rsx/vk: Support ingesting pre-processed GPU data as texture input
2023-09-27 14:52:59 +03:00
kd-11
bef7d793d3
rsx: Make the texture source an io-buffer
2023-09-27 14:52:59 +03:00
kd-11
3afc379746
rsx: Import, rebase and clean up the old detiling patches from 2021
2023-09-27 14:52:59 +03:00
kd-11
27349c5c69
vk: Cleaner approach to object lifetime management
2023-06-10 02:54:16 +03:00
kd-11
872aa2b358
vk: Improved OOM handling
...
- Don't aggressively delete surfaces unless we're really crashing
- Release barrier resources before destroying the surface in case of fatal crash
2023-06-10 02:54:16 +03:00
kd-11
12f213ffad
rsx: Trim the number of in-flight invalidated resources (temp cache)
...
- This drastically improves memory allocation behavior.
Holding too many invalidated resources can lead to a cascading overallocation error as old resources hold refs to even older resources and nothing gets deleted.
2023-06-01 19:25:50 +03:00
kd-11
a6dada6c36
vk: Use gc to clean up stale surface cache resources instead of fudging with frame counters.
...
- This whole surface cache garbage management needs to be merged with gc
2023-05-15 12:28:19 +03:00
kd-11
4e2f3a289c
vk: Tune resource quotas
...
- Tuned for 1G. The system requires about 128M for scratch and system data.
2023-05-15 12:28:19 +03:00
kd-11
db70cd058a
vk: Improve spill robustness
...
- Removes some incorrect checks that asserted incorrectly
- Make the collapsible check recursive
2023-05-15 12:28:19 +03:00
kd-11
9d432187aa
vk: Fix bug that made fall-out barriers never get triggered
2022-12-28 17:37:50 +03:00
kd-11
110c20d25f
vk: Restructure framebuffer loop barrier management
2022-12-28 17:37:50 +03:00
kd-11
a05e3f02b8
rsx: Avoid expensive protection scan by sharing some data between surface and texture cache
2022-12-17 20:16:58 +03:00
kd-11
1f9e04f72d
rsx/vk: Implement flushing surface cache blocks to linear mem
2022-08-23 23:49:46 +03:00
kd-11
71e35c8b4d
vk: Implement support for VK_EXT_attachment_feedback_loop_layout
2022-08-19 14:29:20 +03:00
Nekotekina
4b787b22c8
Implement FN (lambda shortener)
...
Useful for some higher order functions.
Allows to make short lambdas even shorter.
2022-07-08 14:47:41 +03:00
kd-11
ffa841e7c1
vk: Force resolve explicitly for transfer operations
2022-03-28 19:55:34 +03:00
kd-11
35ec4de776
rsx: Optimize surface store for faster scanning
2022-03-23 11:26:06 +03:00
kd-11
bc7ed8eaab
rsx/vk: Rework MSAA implementation
2022-03-17 22:02:20 +03:00
kd-11
6812fa4764
rsx: Fix surface write coherency when MSAA is active
2022-03-08 22:06:26 +03:00
kd-11
0d87d909c6
vk: Fix double-spill for invalidated resources
2021-07-17 21:28:11 +03:00
kd-11
2d4df57d87
vk: Fix nul deref in spill code
...
- Restores code lost in a rebase
2021-07-17 21:28:11 +03:00
kd-11
d53f2f10fb
rsx/vk: Improve recovery during OOM situations
...
- Do not spill when running on IGP with only one heap as it will just crash anyway.
- Do not handle collapse operations when OOM. This will likely just crash and there are better ways to handle old surfaces.
- Spill or remove everything not in the current working set
- TODO: MSAA spill without VRAM allocations
2021-07-17 21:28:11 +03:00
kd-11
974a3c8807
Fix linux build
2021-07-15 18:05:35 +03:00
kd-11
369f1132f3
Formatting fixes
...
- Non-functional stuff, move along
2021-07-15 18:05:35 +03:00
kd-11
c18e5e07cc
vk: Implement VRAM spilling
...
- The idea is to shift memory to "shared graphics memory" when VRAM is running out
2021-07-15 18:05:35 +03:00
kd-11
000414c47d
vk: Refactor surface cache by moving code to cpp file
2021-07-15 18:05:35 +03:00
kd-11
88abf3a6ba
vk: Introduce the concept of VRAM allocation pools
...
- Each buffer or image has to declare which pool it belongs to. This will aid with memory management down the line.
2021-07-15 18:05:35 +03:00
Ani
a49446c9e9
Replace gsl::span for std::span (c++20) ( #7531 )
...
* Replace gsl::span for std::span (c++20)
* Replace gsl::byte with std::byte
Co-authored-by: Bevan Weiss <bevan.weiss@gmail.com>
2021-05-30 17:10:46 +03:00
kd-11
675c9a7945
vk: Ensure MSAA surfaces are in RW state before attempting to transfer data.
2021-05-12 13:04:09 +03:00
kd-11
1a73b0a0da
rsx: Fix transfer barriers not triggering resolve target initialization
2021-05-12 12:32:24 +03:00
kd-11
e3944bc67f
rsx: Handle transfer_read differently from transfer_write
...
- Transfer writes are expected to clobber surface cache contents. Do NOT reload from CPU memory for writes.
- TODO: During transfer write to surface cache objects, lock memory if it was unlocked to avoid silly problems.
2021-05-09 13:07:47 +03:00
kd-11
9609767c51
vk: Refactor render target code
2021-04-26 00:33:05 +03:00