Commit Graph

8763 Commits

Author SHA1 Message Date
Stenzek aca7a4b5c2
CPU/Recompiler: Actually use fetch ticks for uncached EXP1 2024-12-31 16:12:50 +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 a4b359672c
Common: Switch fastjmp.cpp asm to tabs
Consistency.
2024-12-31 15:33:17 +10:00
Stenzek 79b0533df2
Common: Fix RISC-V/64 fastjmp buffer size 2024-12-31 15:30:26 +10:00
Stenzek b76618fdf4
System: Should call PGXP Reset not Initialize() in InternalReset() 2024-12-31 15:24:36 +10:00
Stenzek 1bf076c74f
VulkanDevice: Fix crash on shutdown if swapchain creation fails 2024-12-31 15:10:55 +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 a3645f3173
GameDB: Gokujou Parodius Da! Deluxe Pack 2024-12-31 14:13:49 +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 9cd9042563
CMake: Fix RISC-V building with LLVM 2024-12-30 02:58:16 +10:00
Stenzek 4e928d7ce1
Common: Work around LLVM LTO inline asm issue
LLVM bug 61991.
2024-12-30 02:57:22 +10:00
Stenzek d65ae6ce00
Scripts: Add cross-compiled AppImage generator 2024-12-30 02:09:32 +10:00
Stenzek 401582bb2b
PlatformMisc: Load libdbus at runtime
The static library can't link to the ARM binary when cross-compiling.
2024-12-30 01:57:08 +10:00
Stenzek a08bd43000
CMake: Fix incorrect message for cache line size 2024-12-30 01:57:08 +10:00
Stenzek 156b3f989b
Scripts: Add Linux cross-compile deps script 2024-12-30 01:57:07 +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 d4e393f1a8
Common: Fix write overflow with nosimd vector 2024-12-29 22:34:14 +10:00
Stenzek ab107722f7
Scripts: Add -only-download option to Linux deps 2024-12-29 20:21:34 +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 0e6ade067c
FileSystem: Add error reporting to DeleteDirectory() 2024-12-29 17:25:54 +10:00
Stenzek 5c3abb490d
Common: Fix vector sse2_max_u16()
Fixes UV clamping in SSE2 build, e.g. Jumping Flash.
2024-12-29 13:56:10 +10:00
Stenzek 799f5bdf97
GPU: Assume vertex commands are 8-byte aligned 2024-12-28 20:24:22 +10:00
Stenzek 8c807118c0
GPUDevice: End timer on command flush
Fixes incorrect GPU usage readings in OpenGL, D3D11 is still
problematic, at least on AMD.
2024-12-28 20:24:21 +10:00
Stenzek 7bb0c7d1fb
InputManager: Fix pointer scale loading 2024-12-28 20:24:21 +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 58b0ccf3fc
Common: Add 2D vector formatters 2024-12-28 19:59:25 +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 a44dd1882f
RegTest: Update CLI help 2024-12-27 15:02:40 +10:00
Anderson Cardoso 7b9664d6f2
Atualização Português do Brasil (#3348)
Atualizado para a última versão.
2024-12-27 15:02:31 +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
Stenzek 272aa4f933
ImGuiManager: Add Begin/EndTextInput() 2024-12-26 18:00:29 +10:00