Stenzek
920f25427e
Qt: Simplify Fullscreen UI state tracking
...
Fixes application closing if the system was shut down while fullscreen.
2025-01-04 16:09:35 +10:00
Stenzek
78ccbc710c
Cheats: Fix error while exporting
2025-01-04 12:52:26 +10:00
Stenzek
db14824d61
System: Use task queue for saving states/screenshots/gpudumps
...
System shutdown no longer needs to block. Gets rid of the slight
hitch when shutting down and saving state with the Big Picture UI.
2025-01-03 20:16:38 +10:00
Stenzek
b2c8d25638
GPUBackend: Only display CPU thread blocked messages if queueing
2025-01-03 14:49:53 +10:00
Stenzek
88cd086633
Cheats: Eliminate extra newlines during code editing
2025-01-03 13:36:58 +10:00
Stenzek
e08dda0a0a
CPU: Declare state with constinit
2025-01-02 21:42:41 +10:00
Stenzek
fc5553a8c7
GTE: Improve reverse transform freecam
...
Transform the move direction, that way it behaves more FPS-camera like.
2025-01-02 20:56:22 +10:00
Stenzek
cd873eb6c1
GTE: Add 'Reverse Transform Order' option to freecam
2025-01-02 02:09:02 +10:00
Stenzek
3a64c5e4b3
FullscreenUI: Improve field alignment in achievements login
2025-01-02 01:07:18 +10:00
Stenzek
b21312867b
FullscreenUI: Fix popup sizes for postfx settings
2025-01-02 01:07:11 +10:00
Stenzek
179e2f1999
FullscrenUI: Fix field spacing scaling in game list view
2025-01-02 00:52:40 +10:00
Stenzek
0fdf984b71
GTE: Disable freecam on Android
...
Freecam is disabled on Android because there's no windowed UI for it.
And because users can't be trusted to not crash games and complain.
2025-01-02 00:38:29 +10:00
Stenzek
37e5e64ddc
System: Move state display updates to call sites
...
Fixes black frames when changing settings with runahead/rewind enabled.
2025-01-01 23:05:08 +10:00
Stenzek
f3b7686457
System: Fix crash with memory save states + renderer switch
2025-01-01 22:55:31 +10:00
Stenzek
5ac5a1d246
Hotkeys: Fix resolution scale with memory save states
2025-01-01 22:02:55 +10:00
Stenzek
dcd439e7d8
GTE: Add 'Free Camera' feature
2025-01-01 22:02:55 +10:00
Stenzek
a08acdb93a
System: Improve texture recycling when changing rewind/runahead settings
...
Fix suprious failures when changing rewind settings when low on VRAM.
2025-01-01 19:33:01 +10:00
Stenzek
57be62ffd1
FullscreenUI: Remove a couple of untranslated titles
2025-01-01 14:28:05 +10:00
Stenzek
884459d1cf
FullscreenUI: Fade alpha change when switching to postfx settings
2025-01-01 14:25:56 +10:00
Stenzek
ffef0c2e38
CPU/CodeCache: Don't compile invalid jumps via block links
2025-01-01 14:10:55 +10:00
Stenzek
f25302c847
CPU/Recompiler: Actually use fetch ticks for uncached EXP1
2024-12-31 17:29:40 +10:00
Stenzek
34f2600f99
CPU/Recompiler: Fix ICache update codegen on RISCV64
2024-12-31 16:12:19 +10:00
Stenzek
4c08c716c4
CPU/Recompiler: Fix dispatcher crash on RISCV64
2024-12-31 15:33:34 +10:00
Stenzek
b76618fdf4
System: Should call PGXP Reset not Initialize() in InternalReset()
2024-12-31 15:24:36 +10:00
Stenzek
e0877c1922
System: Add IsUsingPS2BIOS()
2024-12-31 14:58:31 +10:00
Stenzek
69826f2101
FullscreenUI: Fix incorrect section for Deinterlacing Mode
2024-12-31 14:15:42 +10:00
Stenzek
7228f6f1cf
System: Don't fail startup if cpuinfo init fails
2024-12-30 18:11:56 +10:00
Stenzek
3c5db39ee4
GPU/SW: Remove polygon size checks from backend
...
It's already checked before the draw is handed off.
2024-12-30 18:11:52 +10:00
Stenzek
4d4523dc04
GPU: Use same early culling rules for lines as polygons
2024-12-30 18:11:52 +10:00
Stenzek
c5bd4101b3
GPU: Refactor and simplify deinterlacing
...
Both HW and SW deal with half-height buffers coming in now.
2024-12-30 14:36:17 +10:00
Stenzek
9cba1decad
GPU/HW: Compiler warning fix
2024-12-29 22:34:39 +10:00
Stenzek
468c907fd6
Cheats: Compiler warning fix
2024-12-29 22:34:31 +10:00
Stenzek
242561debf
CPU/Recompiler: Align dispatchers and JIT blocks
...
A couple of percent difference if we're lucky. Practically probably <1%.
2024-12-29 18:11:58 +10:00
Stenzek
82a843c121
RegTest: Log state and RAM hashes on exit
...
Useful for checking determinism.
2024-12-29 17:25:55 +10:00
Stenzek
1ed9e609a5
RegTest: Support replaying GPU dumps
2024-12-29 17:25:55 +10:00
Stenzek
b7832e609f
GPU/HW: Vectorize flipped sprite handling
2024-12-29 17:25:55 +10:00
Stenzek
1a211e0a21
GPU/HW: Fix mask bit regression from FF8 fix
...
Fixes overbright polygons appearing in Silent Hill.
2024-12-29 17:25:54 +10:00
Stenzek
799f5bdf97
GPU: Assume vertex commands are 8-byte aligned
2024-12-28 20:24:22 +10:00
Stenzek
c2589461e9
GPU/HW: Remove extra debug group pop
2024-12-28 20:24:21 +10:00
Stenzek
74fd217afb
GPU/HW: Always update/load/save CLUT
...
We have the headroom with multithreading now, and it prevents issues
saving/loading state in loading screens in some games.
2024-12-28 20:24:21 +10:00
Stenzek
25b0bb752a
GPU/HW: Try truncating culled vertices
...
What is this monstrosity? Final Fantasy VIII relies on X coordinates
being truncated during scanline drawing, with negative coordinates
becoming positive and vice versa. Fortunately the bits that we need
are consistent across the entire polygon, so we can get away with
truncating the vertices. However, we can't do this to all vertices,
because other game's vertices break in various ways. For example,
+1024 becomes -1024, which is a valid vertex position as the ending
coordinate is exclusive. Therefore, 1024 is never truncated, only
1023. Luckily, FF8's vertices get culled as they do not intersect
with the clip rectangle, so we can do this fixup only when culled,
and everything seems happy.
2024-12-28 20:24:21 +10:00
Stenzek
c99625e4c3
GPU: Move vertex culling to GPU thread
...
i.e. push all primitives through unless they are oversized, which the
GPU will definitely skip.
Needed because of coordinate truncation in Final Fantasy VIII, these
scenes will now render correctly with the software renderer again.
2024-12-28 20:24:09 +10:00
Stenzek
69ed6e5e58
Hotkeys: Screenshot should not be present on Android
...
Since it saves to app-private, users would complain that the app is
using too much data.
2024-12-27 19:39:23 +10:00
Stenzek
2da692b341
CPU/Recompiler: Swap bl{x,r} for b{x,r} on ARM
...
Not a subroutine call.
2024-12-27 15:02:40 +10:00
Stenzek
2a8cfc7922
CPU/CodeCache: Simplify code LUT addressing
...
One more instruction on x86/ARM32, no additional instructions on ARM64.
Worth it so that the application doesn't crash if the game jumps to an
invalid PC. Note that the lower 2 bits are truncated, so an unaligned
jump will round down to the closest instruction. Obviously not correct,
but if a game ends up doing this, it's a lost cause anyway.
2024-12-27 15:02:40 +10:00
Stenzek
4e5b4ba071
CPU: Fix AdEL/IBE on instruction fetch
...
CAUSE and EPC were swapped for the latter.
2024-12-27 15:02:40 +10:00
Stenzek
4b34825afd
CPU/CodeCache: Remove InstructionInfo pc field
...
No longer needed since oldrecs are gone.
2024-12-27 15:02:40 +10:00
Stenzek
ce71b168c3
CPU/CodeCache: Add static to a couple of missing functions
2024-12-27 15:02:40 +10:00
Stenzek
9921d2074c
Achievements: Fix serialization on Linux
2024-12-26 18:00:29 +10:00
Stenzek
5c83bbe5c5
FullscreenUI: Slight tidy-up to achievements login dialog
2024-12-26 18:00:29 +10:00