Commit Graph

3981 Commits

Author SHA1 Message Date
cuesta4
f97bba59ee [Frontend]: improve fullscreen startup presentation 2026-06-07 09:32:47 -03:00
kalaposfos13
6af6ab12d8
Do not log out user on pad disconnect (#4532)
* Do not log out user on pad disconnect

* refactor connection reporting

* update hotkeys
2026-06-07 10:41:00 +03:00
squidbus
b4097221fa
build: Clean up CPU instruction set handling a bit (#4527) 2026-06-06 22:24:36 -07:00
Stephen Miller
057454fe7f
Lib.Zlib: Use miniz instead of zlib-ng (#4531)
* Uze miniz instead of zlib for libSceZlib

Might fix ROTTR?

* Claaaaang

* Explicitly use miniz's uncompress

* Clang2

* Swap types

In theory, these types are all the same size. Best we use the right ones for the library though.

* Remove "stub" logs
2026-06-06 16:41:05 -07:00
Stephen Miller
a3e9390be6
Kernel.Pthreads: Restructure PthreadMutex struct (#4528)
* Restructed PthreadMutex struct

When libc creates mspaces, they modify the data of a PthreadMutex to set the mutex's private flag. Previously, on Linux, this would modify internal data of our TimedMutex, and on Windows this would modify the m_yieldloops variable.

This makes it so our m_flags is at the same offset as the real pthread_mutex struct, so no data corruption occurs.

* Further struct changes

To address review comments
2026-06-06 07:38:38 -07:00
Niram7777
42849b6590
CI print CPU info (#4530) 2026-06-06 02:04:55 -07:00
Stephen Miller
deb9908452
Swap NpWebApi global mutex to recursive (#4529)
It's recursive in the actual library, and since our implementation in thoroughly based on the actual library, this is needed for our code to function appropriately.
2026-06-06 09:07:22 +03:00
Ploo
5b8b66ab12
fix: zlib-ng on GH runner using native instructions instead of the global config (#4521)
Co-authored-by: lizzie <lizzie@eden-emu.dev>
2026-06-05 12:31:06 -07:00
Arthur Cuesta
35255bccef
core/memory: handle Fixed mapping with zero addr in callers (#4507)
Add check in sceKernelReserveVirtualRange, sceKernelMapNamedDirectMemory, and
sceKernelMapNamedFlexibleMemory per StevenMiller123 review:
- FW >= 1.70 returns EINVAL for Fixed + addr == 0
- Older FW clears Fixed flag to fall through to managed allocation

Co-authored-by: opencode <dev@shadps4.local>
2026-06-05 22:11:57 +03:00
junminlee2004
6c282aa1da
kernel: fix recursive read-lock deadlock on PthreadRwlock (#4517) 2026-06-03 22:26:34 +03:00
Marcin Mikołajczyk
e777f56964
Prevent opening duplicate windows of a shader dump (#4512) 2026-06-02 15:55:42 -07:00
Stephen Miller
0b9eb3dd17
Core: Only initialize logging once (#4509)
* Only initialize logging once

* Swap LOG macros for std::cerr and std::cout use.

* Add quick exit when trying to log before logger init

* Revert "Swap LOG macros for std::cerr and std::cout use."

This reverts commit a14d46d383.

* Use fmt's functions instead of cerr

Makes the commits a tad cleaner.

* Revert macro change

If I remember right, the if check here was to make sure we didn't throw exceptions after terminating the logger, which can happen due to a race involving some debug libSceVideoOut logs.

* Oops
2026-06-02 08:03:18 +03:00
kalaposfos13
87e774c4a1
Fix grammatical and factual mistakes (#4505)
* Fix grammatical and factual mistakes

* Update game-bug-report.yaml
2026-06-01 23:21:41 +03:00
Niram7777
012f8e4068
game-bug-report no dbg no force kill (#4459)
* game-bug-report no dbg no force kill

* Update game-bug-report.yaml valid log
2026-06-01 22:33:35 +03:00
Connor Garey
9a6d2d1553
Bump version from 0.15.1 to 0.16.1 (#4502) 2026-06-01 20:06:09 +03:00
georgemoralis
6d2e6a439a started 0.16.1 WIP 2026-06-01 19:14:07 +03:00
georgemoralis
5be3f0a30b tagged 0.16.0 release 2026-06-01 18:47:16 +03:00
georgemoralis
73d841544c updated cache versions 2026-06-01 18:30:26 +03:00
kalaposfos13
4ac417b74f
Implement trophy migration (#4501)
* Implement trophy migration

* Respect user choice from save migration

* yet another nested subfolder iterator

* refactoring and remove original hardcoded forced migration code
2026-06-01 15:13:56 +02:00
Stephen Miller
0e23d468ca
Clean up trophy extraction logic (#4498)
This code has been an absolute mess since the trophy rework. This eliminates several redundant loops through game trophy files, and separates the logic into it's own function.
2026-06-01 15:00:15 +02:00
Stephen Miller
48283da2a6
Core: Remove old config code (#4499)
* Remove old config backend

Trophy key migration now uses the toml library directly, like our config transfer code.

* Don't retrieve user_dir in main

No longer needed.
2026-06-01 10:00:24 +03:00
kalaposfos13
2736ce8c2e
Implement save migration (#4496)
* Implement save migration

* Slightly cursed macro programming

* Line break

* add const

* Remove std::filesystem redefine

---------

Co-authored-by: Stephen Miller <56742918+StevenMiller123@users.noreply.github.com>
2026-05-31 16:16:43 -05:00
Connor Garey
5f89834cb5
Refactoring of the nix file. (#4494)
* Fix version number.

* Use the packages.x86_64-linux namespace.

* linux. prepend no longer required.

* Created build-shadps4 module.

.

.

.

.

.

.

.

* Move dependency list to generator function parameters.

* Using call package to run builder.

* Pull in matching names and use inherit.

* Paths need to be wrapped in a "".

* Put , on the packages.

* And inherit does not need any , .

* Fixups.

* release and releaseWithDebugInfo now use the same builder.

* Set default pacakge to releaseWtihDebugInfo.

* Rename to build, moved down a directory and deleted modules/

.

* Seperated devshell into shell.nix

.

.

.

.

.

* Double ".nix"

* Nix Formatting.

* Included missing dependencies for shell.

.

.

.

.

* Update Lock file.

* Removed old unused shell.nix.

* Collapse shell and build into flake.nix

.

* Window bar patch

.

.

.

* Removed unused patches list.

* As older nix shell was removed. Also remove old documentation.
2026-05-31 23:56:16 +03:00
kalaposfos13
d1030d01db
Don't log asserts/unreachables twice on Windows (#4497) 2026-05-31 23:15:21 +03:00
kalaposfos13
dd18a5f29f
Increase default inner deadzone (#4492) 2026-05-31 18:15:34 +03:00
Connor Garey
4ce43a6a88
Further additions to flake (#4489)
* Create a mkderivation wrapper lambda.

.

.

* Removed execName

* Call new wrappers instead of duplicated mkDerivation.

* Removed finalAttrs

* Use more semi-colons

* Used clang and the build environment instead of the standard gcc.

* Replaced "git" with current nightly version.

* Automatically pass the required environment variables into the development shell instead of requiring them as part of cmake command.

* Change to an if statement because ! hurts the brain.

* Added perf to devshell package list.

* Added Nix formatter.

.

* Collision with the ++ operator in the environment variable.

* Nix Format.
2026-05-29 22:36:33 +03:00
Marcin Mikołajczyk
02010acd42
image_get_lod: respect dmask value when writing lod (#4488) 2026-05-29 00:06:36 +02:00
Connor Garey
1d885f2b5f
Nix flake changes (#4485)
* Changed Release to RelWithDebInfo for CMake flag.

* Added miniz and libressl
2026-05-27 17:34:51 +02:00
Lander Gallastegi
2ff3487dbc
video_core: check if depth image is valid before using it (#4479)
* check if depth image is valid before using it

* fix uid usage
2026-05-27 14:49:34 +03:00
Valdis Bogdāns
f1873bb1d8
Core: Enhance AvPlayer with improved error handling and stream duration calculations (#4483) 2026-05-27 14:37:21 +03:00
Niram7777
78053e70b7
CI release without avx512 (#4481)
* Revert "build: Explicitly turn off AVX512 (#4478)"

This reverts commit 0f094cb6c8.

* CI disable AVX512 Windows, Linux
2026-05-26 22:46:38 +03:00
kalaposfos13
2b5aa0b1c3
Attempt to fix yet another input regression in some Unity games (#4480)
* Set dummy GameController's m_connected to false

* Remove this check and handle it differently

* Save one reverse lookup on a map
this is mostly irrelevant on performance

* i have no clue so let's just log stuff

* apparently this is the correct default

* swap this to debug logging

* the loathsome clang-formatter
2026-05-26 10:54:16 -05:00
squidbus
0f094cb6c8
build: Explicitly turn off AVX512 (#4478) 2026-05-25 19:21:42 +03:00
squidbus
8a08bb46ee
cpu_patches: Log full instruction on JIT patch failure. (#4477) 2026-05-25 08:31:31 -07:00
squidbus
a57b3f3b74
Revert quad/rect list parameter forwarding changes (#4476)
* Revert "shader_recompiler: Pad number of TES passthrough outputs to fragment inputs if needed"

This reverts commit 6436063025.

* Revert "shader_recompiler: Only forward declared number of vertex inputs. (#4293)"

This reverts commit 47f5cc1437.
2026-05-25 06:55:20 -07:00
squidbus
19381b30e8
shader_recompiler: Pad number of TES passthrough outputs to fragment inputs if needed (#4471) 2026-05-25 05:13:30 -07:00
Stephen Miller
86a64fb980
Lib.Kernel: Various (mostly signal-related) fixes (#4463)
* sigaddset, sigdelset, sigismember

* Some define fixups

Based on decomp, PS4 sigset is defined as a u32[4]. This doesn't change any behavior, but makes my decomp-based sigaddset and sigdelset implementations function appropriately.
Additionally, define handler and sigaction functions as PS4_SYSV_ABI.

* Fix returns

* Implement signal, export _sigintr

In libkernel, signal just uses sigaction. No harm in implementing it, since we've got our own implementations for everything except sigaction (and sigaction is implemented for Unix platforms).

* Fix and cleanup posix_select defines

Swaps use of defines for just having static functions, and fixes the pd_set_posix struct to match FreeBSD/Orbis properly (sizeof(long) == 4 on Windows, which does not match Orbis).

* Fix siginfo struct

Again, sizeof(long) differs on different platforms. Need to use our proper typedef to ensure accuracy.

* Clang, the bane of my existance.

* Oops
2026-05-25 10:27:55 +03:00
georgemoralis
9dada49956
np score initial (#4472)
* move np_score to /np_score folder

* added more logging to np functions

* using common np_error file

* moved web_api to dedicated folder

* implemented some context creations for np_score so logging would be more productive
2026-05-25 09:38:43 +03:00
TheTurtle
5be4fb8584
vk_rasterizer: Fully initialize clear value of depth attachment (#4473)
Prevents redundant renderpass breaks from render state mismatching due to stale values being left in the array
2026-05-24 16:24:48 -07:00
Xupie
c0d35332af
Lib.Audio3d: implement sceAudio3dPortCreate and update sceAudio3dPortOpen (#4457)
* implement sceAudio3dPortCreate and closer implementation to sceAudio3dPortOpen

* clang format and forgot to remove some lines

* refactor port creation, small cleanups and openal

* rename parameter arguments

* idk might be correct

* floor size_this to closest multiple of 8
2026-05-24 20:07:04 +03:00
Stephen Miller
e5c406d809
Upstreaming valid changes from others (#4469)
* Fix nids for strcmp vs strncmp

Co-Authored-By: m33ts4k0z <3597723+m33ts4k0z@users.noreply.github.com>

* Fix sign_bit_set logic

Co-Authored-By: m33ts4k0z <3597723+m33ts4k0z@users.noreply.github.com>

* Fix IterateDirectory on mounts

IterateDirectory would just retrieve the base path when trying to iterate /app0, since GetHostPath for the other path types would still return the base path.

Co-Authored-By: m33ts4k0z <3597723+m33ts4k0z@users.noreply.github.com>

* Fix function resolves

If multiple modules export the same library and module, then we would only check the first one we find for the symbol. This can end up breaking the font library stack

Co-Authored-By: m33ts4k0z <3597723+m33ts4k0z@users.noreply.github.com>

* Update fs.cpp

Co-Authored-By: m33ts4k0z <3597723+m33ts4k0z@users.noreply.github.com>

* Oops

---------

Co-authored-by: m33ts4k0z <3597723+m33ts4k0z@users.noreply.github.com>
2026-05-24 09:42:31 +03:00
Marcin Mikołajczyk
19f299714a
Handle abs and clamp modifiers only for VOP3A instructions (#4467) 2026-05-23 14:40:58 -07:00
Marcin Mikołajczyk
65ab88dd11
Fix v_mad_u64_u32 (#4466) 2026-05-23 11:41:18 -07:00
Marcin Mikołajczyk
d7eacc8a17
Set AccessFlagBits::eNone for PresentSrcKHR image layout (#4465) 2026-05-23 11:38:43 -07:00
georgemoralis
00339cf010
http part6 (#4460)
* added http* epolls

* changed info to debug

* one more info to debug

* helper function
2026-05-21 20:57:55 +03:00
georgemoralis
82beca2bbf
http part5 (#4453)
* added async state sending support

* typo

* implemented blocking

* clang is not my friend

* fixed stephen's review

* code organize / nothing changed
2026-05-21 17:14:03 +03:00
Stephen Miller
03ebac577b
Lib.VideoOut: Properly remove events on close (#4456)
* Fix flip status on close

* Store equeues by handle instead of pointer

As is, a game could call sceKernelDeleteEqueue on the equeue registered for flip/vblank events, and terminate the equeue while our VideoOut driver retains a valid pointer to it.
Changing to storing the equeue handle means we can check if the equeue still exists and prevent this.

* Remove flip and vblank events on sceVideoOutClose

* Don't forget to clear vectors

* Oops

Intended to erase the memset on FlipStatus, not VblankStatus.
2026-05-20 14:31:37 -07:00
kalaposfos13
f95edd27e0
major skill issue (#4451) 2026-05-20 09:31:23 +03:00
georgemoralis
6b5adca8a5
added some libScePosix functions (#4452) 2026-05-19 13:08:31 -05:00
Stephen Miller
7572c51c0e
Lib.Audio3d: Implement sceAudio3dPortGetAttributesSupported based on currently handled attributes (#4450)
* Stub sceAudio3dPortGetAttributesSupported to return no supported attributes

* Report supported attributes

* Slight fix
2026-05-19 08:25:33 +03:00