Commit graph

40 commits

Author SHA1 Message Date
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