Commit Graph

3996 Commits

Author SHA1 Message Date
Hog
954de76b68
Add stencil export support for shader profile 2026-06-08 20:54:45 +01:00
Hog
b878ef6b5f
Add supports_shader_stencil_export flag to profile 2026-06-08 20:54:20 +01:00
Hog
0aa509ba55
oopsie i accidently uploaded the code twice 2026-06-08 20:15:24 +01:00
Hog
9bda6fdacf
Implement various Emit functions for SPIR-V attributes 2026-06-08 20:09:18 +01:00
Hog
437e107c97
Add bary_coord_nopersp_sample ID and fix namespace formatting 2026-06-08 20:08:39 +01:00
Hog
2ec5fd132d
Add stencil_ref Id to spirv_emit_context.h 2026-06-08 19:50:35 +01:00
Hog
4cef44eeb2
Add stencil reference variable definition 2026-06-08 19:49:49 +01:00
Hog
8b1e22ddd8
Add StencilRef case to attribute handling 2026-06-08 19:49:23 +01:00
Hog
1681c9f2f4
Implement stencil export capability in SPIR-V
Added support for stencil export in SPIR-V output.
2026-06-08 19:49:05 +01:00
Hog
0d4fc276b6
Refactor sRGB format handling for BC formats (#4541) 2026-06-08 05:37:23 -07:00
Hog
94f40fc6ff
add BaryCoordNoPerspSample implementation (#4533) 2026-06-08 04:28:08 -07:00
kalaposfos13
852539829a
Reset controller colours on emulator shutdown (#4537)
* Reset controller colours on emulator shutdown

* bruh moment

* Don't use the destructor for this

* clang, formatter of night

* forgot to stage this file

* ffs

* fix tests

* fixed tests?

* gcn tests fixed?

* now?

* possible fixed

---------

Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2026-06-08 00:39:50 +03:00
Hog
c151eeea87
Add error logging for unsupported file descriptors (#4506)
* Add error logging for unsupported file descriptors

Log an error when an unsupported file descriptor is encountered.

* Log error with correct variable in file_system.cpp

* fix clang being a whiny bitch

* use {}

* changed from error to warning, and added it to windows version of function

meow
2026-06-08 00:29:02 +03:00
Stephen Miller
855406d273
Lib.NpTrophy: Move NP-related checks to sceNpTrophyRegisterContext (#4504)
* Fix some new bugs caused by lack of trophy key after #4498

By not adding to the trophy map, games would hit the error return in sceNpTrophyCreateContext instead of the stub for trophy-key-less individuals.

* Revert "Workaround for bad npbind.dat"

This reverts commit 7bd27054f3.

* Move NPCommID checks to sceNpTrophyRegisterContext

CreateContext doesn't seem to check anything, I can run it successfully on a homebrew with none of the NP files. The first errors start in sceNpTrophyRegisterContext.

* Update np_error.h

* Update np_trophy.cpp

* Workaround for bad npbind.dat

Games that check trophy returns still complain, and at this point, it's entirely the user's fault.
However, people don't like that answer, so workaround the issue.

Introduces a check for valid context paths, and a stub OK return that triggers if RegisterContext would've failed on real hardware.

* Better log messages
2026-06-07 21:44:31 +03:00
georgemoralis
a2c4e68d24
Http part7 (#4462)
* sceHttpAddRequestHeader

* added sceHttpRemoveRequestHeader

* implemented a few more functions

* added sceHttpSetProxy

* cleanup

* more cleanup

* fix tests?

* fix tests part2

* Added debug in SendRequest

* improved debug

* forgot

* added real http connection path

* fixes for wipeout

* add custom redirect as it doesn't match the httplib one

* more debug messages

* clang is not my friend

* argg

* make kernelstub configurable

* added url override

* fixup

* ..

* stephen's reviews

* more stephen reviews

* http tests

* fixed tests

* fixed a single tests isssue

* one more fix

* argg
2026-06-07 19:14:42 +03:00
kalaposfos13
7a6752e179
Do not run CI again for every prerelease (#4540) 2026-06-07 16:09:43 +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