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
kd-11
439bdde849
rsx: Fix printing of expected values
2023-01-11 16:48:53 +03:00
kd-11
a272f3e3b9
rsx: Improve performance by using an integral type to indicate error
2023-01-11 16:48:53 +03:00
kd-11
eae1ac6558
refactor: Fix build
2023-01-11 16:48:53 +03:00
kd-11
0b019401bd
Refactor gcm enums
2023-01-11 16:48:53 +03:00
kd-11
04fb86556a
rsx: Fix surface metadata life-cycle
...
- Beware of clone operations. Blindly inheriting the parent's metadata is wrong.
- It is possible, especially when reusing a pre-existing slice, that the parent and child info has diverged
2022-12-17 20:16:58 +03:00
kd-11
90cf47cdce
rsx: Handle some corner cases in surface locking
2022-12-17 20:16:58 +03:00
kd-11
66dc1cc15d
rsx: Conditionally skip flush if no new data was introduced
2022-12-17 20:16:58 +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
a0ef1a672c
rsx: Implement interpolation using barycentrics
2022-12-11 15:21:58 +03:00
Nekotekina
7c15001042
Implement read_from_ptr<>() util
...
Doing std::bit_cast on a "span".
Should be usable in constexpr.
2022-11-26 09:30:11 +03:00
Nekotekina
ae809ad320
Unexpected bugfixes
...
Mostly unaligned memory access.
Also includes workarounds for ubsan execution.
2022-10-31 14:20:02 +03:00
kd-11
73784b9e12
Fix GCC build
2022-10-03 12:57:16 +03:00
kd-11
533f960854
rsx: Handle some more corner cases
2022-10-03 12:57:16 +03:00
kd-11
765208a181
rsx: Avoid clobbering CELL memory when splitting fbos
2022-10-03 12:57:16 +03:00
kd-11
4417701ea7
rsx: Track orphaned surfaces' parent addresses
2022-10-03 12:57:16 +03:00