Commit graph

3711 commits

Author SHA1 Message Date
kd-11
e964060a6a gl: Handle texture binding using the global state tracker 2022-05-31 23:34:14 +03:00
kd-11
74696d2e44 gl: Commit to a consistent global state 2022-05-31 23:34:14 +03:00
kd-11
78746fdb6f gl: Commit to using DSA for internal buffer management
- Gets rid of spammy BindBuffer calls on every draw
2022-05-31 23:34:14 +03:00
kd-11
ed2068fb03 gl: Rewrite buffer mapping 2022-05-31 23:34:14 +03:00
kd-11
b61c4d3693 gl: Fix stat counters 2022-05-31 23:34:14 +03:00
kd-11
81b9952e34 gl: Do not allow cross-aspect bitcasts
- There is special handling for some cross-aspect bitcasts in vulkan, but this is not possible using OpenGL
2022-05-31 23:34:14 +03:00
Elad Ashkenazi
95233b5299 rsx: Fix deadlock in vm::_page_unmap 2022-05-30 11:53:34 +03:00
Elad Ashkenazi
610d29dab0 rsx: Fix VBLANK time 2022-05-28 13:00:42 +02:00
Megamouse
345bda69ec Overlays: Add screenshot message to queue 2022-05-26 08:52:12 +02:00
kd-11
9c824aa0b5 vk: Enable event scope hack for INTEL proprietary drivers 2022-05-24 20:11:31 +03:00
kd-11
efff2a78c8
vk: Restructure how the conditional render evaluation is done (#12071)
Fixes conditional render fast-path
2022-05-24 11:11:21 +03:00
RipleyTom
e68ffdbc81 Add a message overlay 2022-05-23 08:38:02 +02:00
kd-11
7c8fbc35bc rsx: Move PS3-compliant behavior to a new option 2022-05-21 16:35:35 +03:00
kd-11
b637429e44 Fix display flickering 2022-05-21 16:35:35 +03:00
kd-11
d52bb78d2c rsx: Trivial non-blocking display synchronization 2022-05-21 16:35:35 +03:00
kd-11
4e6be9172a rsx: Asynchronously flush the pipelines when handing ZCULL memory access violations 2022-05-21 10:06:32 +03:00
kd-11
0e1333ed5f rsx: Deadlock avoidance of accurate RSX reservations 2022-05-21 10:06:32 +03:00
Eladash
cd74fb6a6d rsx: Implement HW accurate frame limiter 2022-05-20 22:40:48 +02:00
kd-11
ec2d529832 rsx: Separate loop interrupts from graphics state
- The interrupts are for multithreaded signals andmake the main loop run more aggressively for the next cycle
2022-05-20 16:29:27 +03:00
kd-11
257556bbf5 rsx: Add eng lock before flagging memory unmap
- This is much better than polling on atomics every cycle for something that happens a few times during gameplay
2022-05-20 16:29:27 +03:00
kd-11
93d93b4805 rsx: Fix typo 2022-05-20 16:29:27 +03:00
kd-11
e368453751 rsx: Rework loop interrupts a bit
- Reset backend interrupt in core handler
- Separate memory config interrupt from regular backend interrupt
2022-05-20 16:29:27 +03:00
kd-11
d0dc095c84 rsx: Silence some log spam 2022-05-20 16:29:27 +03:00
kd-11
360fdca5ac vk: Avoid multimap when handling image views 2022-05-20 16:29:27 +03:00
kd-11
e1b95913ea rsx/zcull: Improve deadlock avoidance
- Do not acquire eng lock while holding the page lock
  RSXThread may be waiting on the page lock and will never ack the pause request
2022-05-20 16:29:27 +03:00
kd-11
a3ea9e2985 rsx/zcull: Less aggressive disabling of optimizations 2022-05-20 16:29:27 +03:00
kd-11
e9bf3e13d0 rsx/zcull: Pause the main thread before flushing reports 2022-05-20 16:29:27 +03:00
kd-11
094fda0e73 Crash fix 2022-05-20 16:29:27 +03:00
kd-11
d2de560060 rsx: Improve sync_hint callback interface 2022-05-20 16:29:27 +03:00
kd-11
5315eb546f rsx: Stop spamming ZCULL update method
- This has a negative impact when ZCULL is active due to spamming __rdtsc
- While the method is fast, it is not free and some checks are done before the instruction can be emitted
  Let's use the saved time to actually get something useful done
2022-05-20 16:29:27 +03:00
kd-11
7fa521a046 rsx/vk: Redesign how conditional rendering hints work
- Pass a sync address to the backend
- Ignore the hint if the query is running in lazy mode
- Do not submit CBs too close to each other. Submits are expensive
2022-05-20 16:29:27 +03:00
kd-11
0244c4046e rsx: Lower performance hit due to frequency fetch 2022-05-20 16:29:27 +03:00
kd-11
7e8c93bea2 Random optimization 2022-05-20 16:29:27 +03:00
kd-11
9a1e6cc3e8 rsx: Implement RSX reports area access detection and optimize around it
- If nobody is reading RSX reports, do not be in a hurry to write them
- Requires HLE of some methods (cellGcmGetTimestamp) to function correctly
2022-05-20 16:29:27 +03:00
kd-11
f0135a02f5 vk: Unconditionally enable hw acceleration for conditional evaluation 2022-05-20 16:29:27 +03:00
kd-11
0b7e013fbe rsx: Simplify ZCULL logic a bit 2022-05-20 16:29:27 +03:00
kd-11
850eef0c1a rsx: Move ZCULL logic to its own file
- It's over 1k lines of code in its own namespace; it really should be in its own file
2022-05-20 16:29:27 +03:00
Nekotekina
a2bfd5fcfc Minor AArch64 support changes 2022-05-04 16:12:32 +03:00
RipleyTom
8316469cfc Update libusb to v1.0.26 2022-04-29 02:04:52 +02:00
kd-11
7a434d19a6 rsx/vp: Zero-initialize temporary registers 2022-04-28 01:31:07 +03:00
kd-11
95ac7724a6 Fix typos 2022-04-28 01:31:07 +03:00
kd-11
e236ba4daf rsx: Improve lowered precision comparison emulation 2022-04-28 01:31:07 +03:00
Megamouse
3183d73e4d OSK/overlays: fix initial input interception
Don't use default interception if we already intercept with custom params.
2022-04-26 00:51:38 +02:00
Eladash
7329fa9cf5 TRPLoader: Use std::string_view 2022-04-25 20:15:10 +02:00
Megamouse
8d662e9327 overlays: enable key repeat by default 2022-04-25 19:44:56 +02:00
Megamouse
ff7636ea01 OSK/overlays: handle keyboard enter and escape 2022-04-25 19:44:56 +02:00
Megamouse
8f14f392fd overlays: ignore input if kb pad handler is active 2022-04-25 19:44:56 +02:00
Megamouse
5fad7e1b87 OSK: flush key input to prevent key event spam 2022-04-25 19:44:56 +02:00
Megamouse
8864f944e2 cellOskDialog: implement dimmer_enabled 2022-04-25 19:44:56 +02:00
Megamouse
918984ee64 overlays: only log actual input loop errors 2022-04-25 19:44:56 +02:00