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
kd-11
bbbc5f6e6c
rsx: Write a warning to the log if we decide to collapse surfaces to reduce VRAM usage.
2023-06-01 19:25:50 +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
c99ef4b09f
vk: Refactor descriptor handling
2023-05-30 16:50:08 +03:00
kd-11
7e131f8fb6
rsx/util: Add some c++ guards around simple_array class
2023-05-30 16:50:08 +03:00
kd-11
793a21a825
rsx: Fix build after variable rename
2023-05-18 18:10:46 +03:00
kd-11
edb2b60f2f
rsx: Perform region clipping in a normalized coordinate space
...
- Depending on what the caller wants to do, the scaling will be different for src vs dst calculations.
We cannot reliably handle this in the callee
2023-05-18 18:10:46 +03:00
kd-11
b00b8ae71b
rsx: Allow swizzle flag to propagate as an override to surface properties
2023-05-03 01:26:14 +03:00
kd-11
45f416c4f1
rsx: Apply swizzle flag on data source as well
...
- The fact that the attribute is tacked on to the dest is a semantic error.
It's the context that is swz\ln, not the source or dest. They both are one or the other.
2023-05-03 01:26:14 +03:00
kd-11
c58149f5b6
vk: Propagate swizzle flag in hw blit engine
2023-05-03 01:26:14 +03:00
Megamouse
6555de6ef5
fix warnings
2023-04-21 16:41:06 +02:00
Ivan Chikish
1f19804cab
BufferUtils: fix SSE2 path for byteswaps
2023-04-18 16:46:18 +03:00
kd-11
a3ededdcf1
rsx: Implement deferred buffer allocations for GPU write
2023-03-02 12:48:58 +03:00
kd-11
0bb8127372
rsx: Use emplace when constructing in-place.
...
- Unexpectedly high gains for msvc builds. GCC doesn't care, clang shits itself.
2023-03-01 01:10:06 +03:00
kd-11
6adcabda29
rsx: Fix graphics state foot-gun
2023-01-26 11:42:39 +03:00
kd-11
29c1b20b41
Fix compilation
2023-01-11 16:48:53 +03:00