Commit graph

1033 commits

Author SHA1 Message Date
kd-11 1550dc7f1f Fix audit crash in games where hash strategy is heavily used 2024-03-28 08:08:21 +01:00
Megamouse d8d0af2bb3 rsx: Fix invalid iterator comparison (asserts on debug builds)
Also make ranged_map::count const
2024-03-11 00:03:00 +01:00
kd-11 83256cdacb Make clang happy 2024-02-26 18:15:06 +03:00
kd-11 12dc03a903 rsx: Improve simple array performance for small objects
- Also adds map/collect transformation
2024-02-26 18:15:06 +03:00
kd-11 8786516c58 vk: Implement fast RSX release if there is no pending GPU work 2024-02-14 21:09:02 +03:00
kd-11 e5c831a800 rsx/vk: Fix GPU tile encoding
- Decoding also needs some love, but currently WIP
2024-02-10 15:15:02 +03:00
kd-11 b8ed3eb824 rsx: Fix cpu detiler 2024-02-10 15:15:02 +03:00
kd-11 823c72bf27 rsx/vk: Redefine the (de)tiler config interface 2024-02-10 15:15:02 +03:00
kd-11 96d880839a rsx: Properly propagate surface properties on surface reuse. 2024-01-19 12:34:31 +03:00
kd-11 2369266b8a rsx: Add an option to force hardware MSAA resolve 2024-01-03 19:32:45 +03:00
kd-11 6c33c38c08 rsx: Fix RSX tiling when using optimized DMA views 2024-01-01 19:44:47 +03:00
Megamouse f45cbdd0f7 fixes 2023-12-30 21:14:26 +01:00
Megamouse 7a02787bee fix some more warnings 2023-12-30 21:14:26 +01:00
Megamouse 59c58aa3cf fix some warnings 2023-12-30 19:07:35 +01:00
kd-11 188eefeeac rsx: Avoid out of bounds write for tiled memory 2023-12-30 12:35:23 +01:00
kd-11 51fc193395 rsx: De-spaghettify nv3089::image_in
- This function was a disaster with random code added in without much thought over a decade.
- Restructures the logic into decode and transfer steps for easier management.
2023-12-26 18:30:00 +03:00
Megamouse 3f2c75d920 overlays: move debug overlay to native overlay 2023-12-20 23:33:43 +01:00
kd-11 98b7642232 rsx: Avoid data loss in blit engine when WCB/WDB + RCB/RDB is active 2023-12-18 17:08:33 +03:00
oltolm b7fe35a2af fix Clang compilation warnings 2023-10-26 09:29:32 +03: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 c1c3be8b4e rsx: Skip CPU optimization if writing to tiled region 2023-09-27 14:52:59 +03:00
kd-11 a95e87d14d rsx::io_buffer cleanup 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 bef7d793d3 rsx: Make the texture source an io-buffer 2023-09-27 14:52:59 +03:00
kd-11 ffc61e01f7 rsx/vk: Support mismatched pitch (padded) and fix the overscan problem 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 1c793edf7d Fix excluded sections check mismatch 2023-09-01 13:35:20 +03:00
kd-11 133ddb118c rsx/texture-cache: Remove archaic short-circuit during purge-xxxxx routines 2023-08-31 07:23:10 +03:00
Megamouse d760e66fdb VS: Fix compilation on Visual Studio 17.7.0 2023-08-12 13:53:40 +02:00
kd-11 58e9e54b7f rsx: Remove unused code (argb<->bgra modifier) and refactor a bit 2023-08-09 00:25:50 +03:00
kd-11 bff6e0d277 rsx: Don't assert when surface and texture cache overlap lockable memory
- It's not a serious enough problem and the root cause is understood.
2023-07-11 04:09:30 +03:00
kd-11 c325017675 rsx: Preserve the texcoord transform around destructive modifications 2023-07-11 04:09:30 +03:00
kd-11 e7ac84fca3 rsx: Fine-tune the subimage view bezel dimensions 2023-07-06 14:06:30 +03:00
kd-11 b9ea6be842 rsx: Fix AA factor calculation 2023-07-06 14:06:30 +03:00
kd-11 d46dbc0fa8 rsx: Fill section dimensions when converting atlas op to copy op 2023-07-06 14:06:30 +03:00
kd-11 79e000f63d rsx: Fix virtual coordinate clamping 2023-07-04 09:31:51 +03:00
kd-11 d13cf0e29a rsx: Fix shader interpreter
- It broke ages ago
2023-07-04 09:31:51 +03:00
kd-11 69eb1401a9 vk/gl: Fix debug overlay stats 2023-07-04 09:31:51 +03:00
kd-11 aa06ac119f rsx: Fix sampled descriptor address corruption 2023-07-04 09:31:51 +03:00
kd-11 1afee59c95 rsx: Insert missing texture barrier 2023-07-04 09:31:51 +03:00
kd-11 4decad6f6b rsx: Force compatibility checks when applying fast-path optimizations 2023-07-04 09:31:51 +03:00
kd-11 a37f786a37 rsx: Properly fill in the cyclic ref field for framebuffer references 2023-07-04 09:31:51 +03:00
kd-11 8f98e572e1 rsx: Use designated initializer for the dangerous copy_region_descriptor type
- We need to move more dangerous braced initializations to c++20
- Also adds a base address variable which will come in handy
2023-07-04 09:31:51 +03:00
kd-11 1d004f2788 rsx: Lower single-image-blit to a scaled coordinate fetch 2023-07-04 09:31:51 +03:00
kd-11 cef4ea786a rsx: Trivially detect single-image-blit transfer operations 2023-07-04 09:31:51 +03:00
kd-11 69b02f7e46 rsx: Implement atlas trivialization pass
- Decompose sequences of copies into the minimally required set.
  This does 2 things:
  a. Reduces GPU workload by doing less transfers
  b. Allows the clipping optimization to kick in and skip a ton of GPU work
2023-07-04 09:31:51 +03:00
kd-11 b788e05396 rsx: Implement GPU copy ellision through coordinate transform
- TODO: Some corner cases still exist where format may not be a match after a cache merge.
2023-07-04 09:31:51 +03:00
kd-11 d77a78cdf1 rsx: Rework texture coordinate handling to support clamping and a more sane scale-bias setup 2023-07-04 09:31:51 +03:00
kd-11 ca472b6750 Silence log spam about copy ellision 2023-06-27 16:41:30 +03:00
kd-11 2df7e46cb1 rsx: Import robin-hood unordered map which is much faster than std 2023-06-10 01:36:10 +03:00