Commit Graph
5040 Commits
Author SHA1 Message Date
Yunus Shaikh 43ea7772bb Merge main into feat/libscenet-ex-forwards 2026-10-22 06:35:18 -07:00
Dean b786b907c8 Merge pull request #8113 from Nixitov/feat/videodec2-init-library
feat(libSceVideodec2): declare sceVideodec2InitLibrary
2026-10-23 02:22:58 +13:00
Dean 830ccd121f Merge pull request #9303 from oneandonlydean/fix/getdents-app0-symlink-type
fix(libkernel): report app0 symlinks as their target type in getdirentries
2026-10-23 02:19:24 +13:00
Dean 8b3a6ba88d Merge pull request #9430 from Get-fix/ps4/gcn-shaders
feat(shader): decode PS4 (GCN) shaders by re-encoding them to RDNA
2026-10-23 00:31:28 +13:00
Get-fix 4b717912d7 feat(shader): decode PS4 (GCN) shaders by re-encoding them to RDNA
Each GCN instruction is re-encoded to its RDNA form and decoded by the
existing RDNA decoder, so the PS4 path shares the recompiler. Covers the
legacy VS stage (program at the VS slot, user SGPRs from s0, vertex and
instance index in v0-v3), fetch shaders linked as user-data calls, MIMG
(image_sample and friends), PS4 buffer descriptors (GCN DATA_FORMAT /
NUM_FORMAT, 44-bit base) and T# image descriptors (GCN tiling in word 7).
The GCN switch is keyed into the shader disk cache. PS5 behaviour is
unchanged: every PS4-only rule is gated on GcnGuestShaders().
2026-10-22 12:17:44 +03:00
Simone ebd1a14e30 Merge main into codex/json-numeric-locale
# Conflicts:
#	core/libs/prx/libSceJson2/Export.cpp
#	docs/dev/debt/libSceJson2.md
2026-10-22 10:02:59 +02:00
Dean d6eafa54d0 Merge pull request #9279 from YossiYad/feat/kernel-sys-thread-defaults
feat(libkernel_sys): implement pthread_set_defaultstacksize_np, scePthreadSetDefaultstacksize and scePthreadSetName
2026-10-22 19:16:30 +13:00
Dean d6732b51a6 Merge pull request #9229 from YossiYad/feat/http-set-proxy
feat(libSceHttp): check the arguments of sceHttpSetProxy
2026-10-22 19:09:21 +13:00
Dean b9de0bb590 Merge pull request #9089 from YossiYad/feat/systemservice-bgm-playing
feat(libSceSystemService): report that no background music is playing
2026-10-22 19:09:17 +13:00
Dean a16664584e Merge pull request #9225 from YossiYad/feat/npmanager-plus-content-restriction
feat(libSceNpManager): implement sceNpIsPlusMember and sceNpSetContentRestriction
2026-10-22 19:09:14 +13:00
Dean 84f8e2ffc2 Merge pull request #9201 from YossiYad/feat/gnm-neo-retail-unavailable
feat(libSceGnmDriverForNeoMode): return the retail answers of 48 debug, resource, SDMA, counter and validation calls
2026-10-22 19:09:09 +13:00
Dean 865e06f1bc Merge pull request #7927 from whamre/feat/agc-depth-mips
feat(agc): render into depth mip levels
2026-10-22 19:09:06 +13:00
Dean b27924d851 Merge pull request #9085 from YossiYad/feat/npmanager-check-callback-for-lib
feat(libSceNpManager): implement sceNpCheckCallbackForLib
2026-10-22 18:53:46 +13:00
Dean a7a924722e Merge pull request #9009 from YossiYad/feat/nptus-offline-requests
feat(libSceNpTus): check the arguments of 82 TUS and TSS requests and fail them signed out
2026-10-22 18:53:41 +13:00
Dean d430e40b50 Merge pull request #8122 from YossiYad/fix/videodec2-empty-access-unit
fix(libSceVideodec2): return access unit errors for a null or empty access unit
2026-10-22 18:53:34 +13:00
Yossi Yadgar abaaa66a61 docs(debt): record sceHttpSetProxy as a silent stub 2026-10-22 08:26:20 +03:00
Yossi Yadgar f0d0bcafb5 docs(debt): note why no background music is reported 2026-10-22 08:25:55 +03:00
Dean da54c652e3 Merge pull request #9433 from Get-fix/ps4/limbo-libs
feat: PS4 NpTrophy, save data v1, NpWebApi offline and Limbo's other imports
2026-10-22 18:00:00 +13:00
Dean 524398151f Merge pull request #8807 from ycbuzi/fix/agc-driver-frame-dump-wait
fix(agc-driver): make the presenter wait for a full frame dump queue
2026-10-22 17:50:26 +13:00
Dean ab347d144d Merge pull request #8534 from ycbuzi/pr/windows-reparse-non-link
fix(libkernel): answer Windows reparse points that are not links
2026-10-22 17:22:28 +13:00
Dean 746bdd8041 Merge pull request #8550 from Retr0G28/fix/fopen-directory-read-windows
fix(libc): open a directory with fopen in a read mode on Windows
2026-10-22 17:22:22 +13:00
Dean 942dec44b4 Merge pull request #8598 from Ondra97/codex/fix-net-epoll-lifetime
fix(libSceNet): retire invalidated epoll registrations
2026-10-22 17:22:18 +13:00
Dean c61d20f548 Merge pull request #8087 from harry-z-kang/codex/windows-seh-runtime
feat(windows): support MSYS2 GCC runtime builds
2026-10-22 17:13:47 +13:00
Dean 3e37e08e6a Merge pull request #8135 from mrfelek/docs/game-testing-budgets
docs(dev): name the memory budgets and the sleeping-display stop in the game testing guide
2026-10-22 17:03:22 +13:00
Kang, Harry Zixuan 726edc503b feat(windows): support MSYS2 GCC runtime builds 2026-10-21 20:29:55 -07:00
ShinMalphur 24b7977241 Merge branch 'main' into feat/net-ether-address-parser 2026-10-22 09:44:29 +06:30
Dean 44661db263 Merge pull request #8973 from rooklz/fix/linux-console-base
fix(relinker): load Linux executables at 0x400000 by default
2026-10-22 15:24:38 +13:00
blu 9897260c6e Merge branch 'boykopovar:main' into pr/windows-reparse-non-link 2026-10-21 19:08:16 -07:00
blu 445a549d88 Merge branch 'boykopovar:main' into fix/agc-driver-frame-dump-wait 2026-10-21 19:04:09 -07:00
Yunus Shaikh a19d110222 feat(libSceNet): report the IPv4 default route in sceNetConfigGetDefaultRoute
sceNetConfigGetDefaultRoute threw. It now writes the IPv4 gateway of the
host interface that libSceNetCtl's sceNetCtlGetInfo already describes as
DEFAULT_ROUTE, in network byte order, the order sceNetInetPton writes an
AF_INET address in, and returns 0. libSceNetCtl exports
NetCtlHostIpv4Gateway_nid_no_patch for it, next to the DNS helper
sceNetGetDnsInfo uses. Without a gateway, or for a null pointer, it
still throws: the console's answer for a missing route is not measured.

Tested: guest_sce_net_tests, after sceNetCtlInit, prints the gateway
with sceNetInetNtop and compares it with sceNetCtlGetInfo's
DEFAULT_ROUTE text (192.0.2.1 on this host); a null pointer throws.
On a host without a default route the case checks that the call
throws and leaves the output untouched.
2026-10-22 01:44:35 +00:00
Yunus Shaikh b44ee56f7d feat(libSceNet): convert IPv6 text with a numeric scope ID
sceNetInetNtopWithScopeId and sceNetInetPtonWithScopeId threw. They now
handle AF_INET6 text with an RFC 4007 numeric zone (fe80::1%2): the
address part goes through sceNetInetNtop and sceNetInetPton, so it
follows the FreeBSD inet text rules, and the zone is printed and parsed
as FreeBSD 11.4's getnameinfo (NI_NUMERICSCOPE) and getaddrinfo do. A
zero scope ID prints the address alone and text without a zone parses
to scope ID 0. An empty zone, one above 2^32 - 1, or an invalid address
part returns 0 and leaves both outputs untouched; a buffer too small
for the scoped text gives ENOSPC.

A zone given as an interface name, and AF_INET, still throw: the tree
has no mapping from interface names to the console's interface indexes
and no answer for an IPv4 zone. The debt file says so.

Tested: guest_sce_net_tests round-trips fe80::1%2 (same address bytes
as fe80::1, scope ID 2) and ff02::1%4294967295, checks the exact
buffer size and ENOSPC one byte short, the unscoped forms, four
rejected texts with untouched outputs, EINVAL for null pointers, and
that an interface-name zone and AF_INET throw.
2026-10-22 01:39:06 +00:00
Yunus Shaikh 7a48107952 feat(libSceNet): forward sceNetSysctl to libkernel's sysctl
sceNetSysctl threw. Its restored argument list is FreeBSD's sysctl(3)
(name, name length, old value and size, new value and size), so it now
calls libkernel's sysctl. It answers exactly the MIBs libkernel models,
and a failure is returned as the library's other calls return one
(0x80410100 | errno, with the errno set).

Tested: guest_sce_net_tests reads hw.pagesize (6.7) through both
sysctl and sceNetSysctl and gets the same value and size, including a
size-only query. A one-level name gives EINVAL, a null name EFAULT, a
write EPERM and a one-byte buffer ENOMEM, each as 0x804101xx with the
errno set.
2026-10-22 01:37:18 +00:00
Yunus Shaikh 3cd3328124 feat(libSceNet): forward sceNetSocketInternal and the Ex socket options to their public twins
sceNetSocketInternal, sceNetGetsockoptEx and sceNetSetsockoptEx threw.
Their argument lists, restored with the rest of the firmware exports in
4d6942f1e, are the same as sceNetSocket, sceNetGetsockopt and
sceNetSetsockopt, so they now call those. Nothing in the tree records
how the console tells the entry points apart (for example by the
calling process); the debt file says so.

Tested: guest_sce_net_tests creates a datagram socket through
sceNetSocketInternal, sets SO_REUSEADDR and SO_RCVTIMEO through
sceNetSetsockoptEx and reads them back through sceNetGetsockoptEx and
sceNetGetsockopt with the same values. On a closed socket and on -1,
and for an unsupported family and type, each Ex/Internal call returns
the same error and errno as its public twin.
2026-10-22 01:36:24 +00:00
Yunus Shaikh 528ede377d Merge #9494 and #9515 into feat/libscenet-ex-forwards
Base for the libSceNet Ex/Internal forwards: upstream main 94fbb8cea with fix/libscenet-inet-text-rules (ef49574f5) and fix/libkernel-getsockopt-net-sockets (aea804d9f).
2026-10-22 01:31:01 +00:00
Yunus Shaikh aea804d9fd fix(libkernel): getsockopt reads options of libSceNet sockets
setsockopt reaches a socket created with sceNetSocket through the option setter libSceNet registers, but getsockopt looked the descriptor up only among libkernel's own sockets and failed, so a title could set an option on such a socket through the BSD call and not read it back. libSceNet now registers an option getter with libkernel next to its setter, which answers through sceNetGetsockopt, so SO_RCVTIMEO and SO_SNDTIMEO come back as a struct timeval.
2026-10-21 16:57:33 -07:00
Yunus Shaikh ef49574f5a Merge main into fix/libscenet-inet-text-rules 2026-10-21 15:49:51 -07:00
hugodearaujo 25b7991c6a fix(netctl): start the library initialized, as titles find it
Titles register and check NetCtl callbacks without importing
sceNetCtlInit: libSceNetCtl is an internal sysmodule the system has
started before the title runs. 007 First Light traps at start-up when
sceNetCtlRegisterCallback answers NOT_INITIALIZED.
2026-10-21 18:56:52 -03:00
Get-fix f04d16d702 feat: PS4 NpTrophy, save data v1, NpWebApi offline and Limbo's other imports
NpTrophy reads the trophy count and icons from the title's trophy
package (names are encrypted and stay not implemented), PS4 v1 save data
calls wrap the native v2/v3 ones, and NpWebApi library contexts, handles
and push event filters work offline (service filters fail without a
signed-in user). libSceAjm is built from the libSceAjm.native sources
for PS4 titles. Limbo's (CUSA01664) remaining PS4 imports, including the
synchronous PS4 TUS calls and the Facebook dialog calls next to the
existing libraries, are exported as not implemented.
2026-10-22 00:35:09 +03:00
boykopovar a6dcea9279 Merge pull request #9137 from boykopovar/fix/funcs-abi-debt-2026-10-20
fix(libs): libs funcs abi debt 2026 10 20
Corrected signatures or behaviour of 1,702 existing exported functions across 96 libraries. Added 85 typed export wrappers. Unimplemented functions retain NotImplemented_nid_no_patch(__func__).
2026-10-22 00:32:11 +03:00
Adrià 0c6a5bd593 Merge pull request #8519 from MarrasFederico/fix/agc-zero-stride-oob-select
fix(agc): follow RDNA 2's range checks for zero-stride vertex fetches
2026-10-21 21:54:30 +02:00
Adrià 415fd7136b Merge pull request #8991 from Tamalero/fix/shader-image-table-split-tsharp-halves
fix(recompiler): match image-table T# halves offset before and after readfirstlane
2026-10-21 21:53:27 +02:00
Dean 3594eee9f3 Merge pull request #6604 from notaxeltv/fix/recompiler-default-past-num-interp
fix(recompiler): fill missing pixel interpolators as DEFAULT
2026-10-22 08:31:15 +13:00
Adrià f0de89a506 Merge pull request #9026 from milescoviello/perf/depth-plane-unit-stores
perf(agc): store only the depth plane units a read overlaps
2026-10-21 21:29:26 +02:00
Adrià 1698d1ea6a Merge pull request #8642 from MarcZX10/codex/color-compare-format-support-7934
fix(agc): match measured color comparison formats
2026-10-21 21:02:30 +02:00
boykopovar 2f678e9046 docs: record retained activation and pad no-op behavior 2026-10-21 21:56:06 +03:00
boykopovar 6036bc6512 fix(zlib): restore validation errors and finalization behavior 2026-10-21 21:56:06 +03:00
boykopovar 8b75d497c0 fix(kernel): reject unimplemented internal pool statistics 2026-10-21 21:56:05 +03:00
boykopovar 77835951cd fix(ssl): defer private key parsing and allow separate identity loads 2026-10-21 21:56:04 +03:00
boykopovar 350c6eb323 fix(font): restore typography validation and reject unsupported shaping 2026-10-21 21:56:03 +03:00
boykopovar e7a1e5594a fix(ssl): restore ca query errors and sdk unload boundary 2026-10-21 21:56:02 +03:00