Commit Graph

3615 Commits

Author SHA1 Message Date
marecl
f603db3abb symlinks on *dows 2025-11-27 14:30:02 +01:00
marecl
4c5d46f92c Merge remote-tracking branch 'upstream/main' into quasifs 2025-11-26 10:36:52 +01:00
squidbus
1394852791
renderer_vulkan: Remove primitive restart disable support check. (#3827)
Some checks failed
Build and Release / reuse (push) Has been cancelled
Build and Release / clang-format (push) Has been cancelled
Build and Release / get-info (push) Has been cancelled
Build and Release / windows-sdl (push) Has been cancelled
Build and Release / macos-sdl (push) Has been cancelled
Build and Release / linux-sdl (push) Has been cancelled
Build and Release / linux-sdl-gcc (push) Has been cancelled
Build and Release / pre-release (push) Has been cancelled
2025-11-24 23:51:39 -08:00
Stephen Miller
6295c32e5c
Render.Recompiler: Implement V_FLOOR_F64 (#3828)
* VectorFpRound64 decode table

Also fixed definition for V_TRUNC_F64, though I doubt that would change anything important.

* V_FLOOR_F64 implementation

Used by Just Cause 4

* Oops

Never forget your 64s
2025-11-24 23:51:06 -08:00
TheTurtle
14d71a155a
video_core: Reimplement inline data as buffer fill (#3825)
Some checks are pending
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
2025-11-24 23:25:22 +02:00
marecl
8d4197e71a Implemented some link() on windows
Added copy/move/rename
Added cloning FS objects (deep-copy)
2025-11-24 14:30:45 +01:00
marecl
7a59a19bda Merge remote-tracking branch 'upstream/main' into quasifs 2025-11-24 09:37:24 +01:00
kalaposfos13
2577dfde7e
Add assert on SFO file being empty (#3815)
Some checks are pending
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
2025-11-23 17:30:09 -08:00
Missake
8123c44ad1
Make FSR off by default (#3801)
* Make FSR and RCAS off by default

* Update config.cpp
2025-11-23 17:28:48 -08:00
TheTurtle
f1a8b7d85e
vector_alu: Fix V_CMP_U64 (#3823)
* vector_alu: Fix V_CMP_U64

* vector_alu: Also handle vcc in V_CMP_U64
2025-11-23 17:26:34 -08:00
Stephen Miller
f6ae5544fd
Kernel.Vmm: Protect Fixes (#3822)
Some checks failed
Build and Release / reuse (push) Has been cancelled
Build and Release / clang-format (push) Has been cancelled
Build and Release / get-info (push) Has been cancelled
Build and Release / windows-sdl (push) Has been cancelled
Build and Release / macos-sdl (push) Has been cancelled
Build and Release / linux-sdl (push) Has been cancelled
Build and Release / linux-sdl-gcc (push) Has been cancelled
Build and Release / pre-release (push) Has been cancelled
* Some mprotect fixes

The biggest thing here is preventing mprotect on memory that isn't mapped in address space. This would cause exceptions before, but succeeds on real hardware.
I've also included a couple other minor fixes, mostly based around some tests I recently performed.

Note: All changes to memory pools in this PR are assumed. I have not yet tested memory pools with any of this logic, but I do at least want to prevent mprotect on pool reserved memory to avoid crashes.

* Update memory.cpp

* clang
2025-11-22 10:32:53 +02:00
oltolm
4922d526fe
msys2: fix build (#3818)
* cmake: fix mingw-w64 build

* time.cpp: fix build with Clang on Windows

* tls.h: include malloc.h for alloca
2025-11-22 10:32:29 +02:00
marecl
bc8cedb96c preliminary 2/2 linux->bsd 2025-11-21 14:21:35 +01:00
kalaposfos13
56109a1331
Avoid storing the Tcb pointer on the stack (#3819)
Some checks are pending
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
* Avoid storing the Tcb pointer on the stack

* Just return the already stored pointer in GetTcbBase

* Replace uses of GetTcbBase with g_curthread->tcb

* copyright 2025

* sir clang offnir, the all-formatting
2025-11-21 00:42:49 -08:00
Marek Ledworowski
beafd04eaa 1/2 migrating linux/unix errno to freebsd 2025-11-21 00:29:17 +01:00
Marek Ledworowski
204e8f72b0 Merge remote-tracking branch 'upstream/main' into quasifs 2025-11-21 00:07:57 +01:00
Marek Ledworowski
008b61d28d lseek on devices
fixed dirents not updating when RefreshDirents is called too fast after lseek
2025-11-21 00:06:56 +01:00
Osyotr
544a22a431
emulator: crash faster (#2360)
Some checks are pending
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
By disabling Windows Error Reporting.
2025-11-20 22:35:35 +02:00
marecl
6612a32523
Prevent writing to directories (#3820)
Some checks are pending
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
* Prevent writing to directories

* Prevent writing to directories
2025-11-20 19:41:01 +02:00
Marek Ledworowski
0ae2275e2d Merge remote-tracking branch 'upstream/main' into quasifs 2025-11-18 21:25:41 +01:00
Marek Ledworowski
ef9d91082a Fixed PFS dirents returning empty on 1st entry
Muted annoyances
2025-11-18 21:25:30 +01:00
TheTurtle
3f86c2e94a
buffer_cache: Split DMA fault handling code from buffer cache (#3809)
Some checks failed
Build and Release / reuse (push) Has been cancelled
Build and Release / clang-format (push) Has been cancelled
Build and Release / get-info (push) Has been cancelled
Build and Release / windows-sdl (push) Has been cancelled
Build and Release / macos-sdl (push) Has been cancelled
Build and Release / linux-sdl (push) Has been cancelled
Build and Release / linux-sdl-gcc (push) Has been cancelled
Build and Release / pre-release (push) Has been cancelled
Its better not to have that raw code there
2025-11-18 08:46:51 +02:00
Alexandre Bouvier
5b699090e6
cmake: fix sdl3_mixer target name (#3811)
Some checks are pending
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
2025-11-17 18:56:01 +02:00
Marek Ledworowski
5eb1280b05 Merge remote-tracking branch 'upstream/main' into quasifs 2025-11-16 19:48:44 +01:00
Marek Ledworowski
98ec0d073e Cleanse 2025-11-16 19:48:31 +01:00
Marek Ledworowski
748d81b647 HOPEFULLY finished PFS dirent 2025-11-16 17:14:23 +01:00
TheTurtle
aa5c045555
logging: Format message after filter check (#3808)
Some checks are pending
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
2025-11-16 17:34:23 +02:00
rainmakerv2
ed14359c87
Re-implement custom trophy sounds using sdl3 mixer (#3805)
Some checks are pending
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
* re-implement custom trophy sounds using sdl3 mixer

* fix build vars

* Don't change SDL version
2025-11-16 10:36:54 +02:00
Marek Ledworowski
1d18d97b50 Added mutexes for qfs operations (fixes VTM Swansong)
Shut up UE
2025-11-16 00:58:42 +01:00
Marek Ledworowski
cf89edf671 Merge remote-tracking branch 'upstream/main' into quasifs 2025-11-16 00:32:04 +01:00
Marek Ledworowski
26fc2a54ea Finished dirents (hopefully) 2025-11-15 23:52:32 +01:00
Missake
6a9f9abda0
Delete lines about Qt in building doc for Windows (#3800)
Some checks are pending
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
2025-11-14 21:48:04 -08:00
TheTurtle
2f55636626
vk_rasterizer: Attempt to optimize compute clears (#3795) 2025-11-15 07:44:25 +02:00
Stephen Miller
94d0f2e7ed
Avoid initializing Shader::PsColorBuffer in RefreshGraphicsKey (#3799)
The bitfield in the struct is padded, which produces uninitialized memory on initialization.
To avoid modifying the struct while making our GraphicsPipelineKey struct properly hashable, set values directly instead of re-initializing.

This fixes pipeline compile spam, and the subsequent poor performance, on certain setups.
2025-11-14 19:50:14 -08:00
kalaposfos13
f557c6ac64
Update MoltenVK to the shadPS4 fork (#3797)
Some checks are pending
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
2025-11-14 21:47:16 +02:00
marecl
9eed4385f2 Merge branch 'quasifs' of https://github.com/marecl/shadPS4 into quasifs 2025-11-14 12:48:45 +01:00
marecl
aa65659bb8 Regular dirents implemented (hopefully) 2025-11-14 12:46:39 +01:00
Stephen Miller
6505d451f5 calloc libusb_interface instead of pointer (#3793)
interface->num_altsetting is oob
2025-11-14 12:46:39 +01:00
Joshua de Reeper
ad72527c11 calloc UsbDevice instead of pointer (#3790) 2025-11-14 12:46:39 +01:00
Marek Ledworowski
bc1ea225dc Merge remote-tracking branch 'upstream/main' into quasifs 2025-11-13 23:36:27 +01:00
Marek Ledworowski
62e0bb1aa0 finished mid-thought 2025-11-13 23:36:10 +01:00
Marek Ledworowski
8f2fb6a76f commented on some things, awaiting will to live 2025-11-13 00:01:16 +01:00
Marek Ledworowski
7e4affaf8b Regular pread+dirents
PFS read (dirents WIP)
2025-11-12 22:49:09 +01:00
Stephen Miller
93c340c6e1
calloc libusb_interface instead of pointer (#3793)
Some checks failed
Build and Release / reuse (push) Has been cancelled
Build and Release / clang-format (push) Has been cancelled
Build and Release / get-info (push) Has been cancelled
Build and Release / windows-sdl (push) Has been cancelled
Build and Release / macos-sdl (push) Has been cancelled
Build and Release / linux-sdl (push) Has been cancelled
Build and Release / linux-sdl-gcc (push) Has been cancelled
Build and Release / pre-release (push) Has been cancelled
interface->num_altsetting is oob
2025-11-12 17:26:26 +02:00
Joshua de Reeper
25344a3b89
calloc UsbDevice instead of pointer (#3790) 2025-11-12 12:40:39 +02:00
Marek Ledworowski
dac56a3495 Merge remote-tracking branch 'upstream/main' into quasifs 2025-11-11 23:38:27 +01:00
Marek Ledworowski
58b50a1dbb implementing dirents (again) 2025-11-11 23:34:20 +01:00
Marek Ledworowski
ff990b570d stubbed lseek 2025-11-11 23:33:54 +01:00
Missake
bbd985fe4b
Update building-windows.md (#3792)
Some checks are pending
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
2025-11-11 16:56:03 +01:00
Marek Ledworowski
7df5d494dd Added PFS dirents (WIP, throws nullptr exception on some tests)
Delegated lseek to inode
Corrected offset types
Directories can spawn one of their own kind
2025-11-11 00:45:34 +01:00