Commit Graph
5577 Commits
Author SHA1 Message Date
Dean 661295e736 Merge pull request #2154 from gunerky/codex/diagnostic-fixture
test(relinker): isolate Windows diagnostic fixtures
2026-10-10 17:44:31 +13:00
Dean b57e66fa60 Merge pull request #2152 from MathiasDevelopes/feat/videoout-pre-vblank-start-events
feat(libSceVideoOut): deliver pre-vblank start events
2026-10-10 17:44:23 +13:00
Dean 5df65b15f6 Merge pull request #2139 from Zheorgyan/fix/agc-quiet-upload-log
fix(agc): remove display upload logs
2026-10-10 17:44:16 +13:00
Dean 7538f22fde Merge pull request #2128 from MathiasDevelopes/fix/agc-spi-ps-input-cntl-clear-state
fix(libSceAgcDriver): SPI_PS_INPUT_CNTL registers start at their clear-state value
2026-10-10 17:44:08 +13:00
Dean d3c507052a Merge pull request #2095 from Raghav314/fix/agc-1d-color-targets
fix(agc): render into 1D color targets as one-row 2D targets
2026-10-10 17:44:00 +13:00
Dean 1b5ebc6986 Merge pull request #2091 from treuenten/fix/relinker-callsite-range-wrap
fix(relinker): reject a relocation target whose range wraps the address space
2026-10-10 17:43:52 +13:00
Dean ad0b5ba586 Merge pull request #2090 from LeandroLP23/feat/libkernel-environ
feat(libkernel): export environ as an empty environment
2026-10-10 17:43:44 +13:00
Dean 7cca958a12 Merge pull request #2066 from MarcZX100/codex/fix-agc-optional-prim-register
fix(agc): accept unused geometry output register
2026-10-10 17:43:36 +13:00
Dean 606d4c3d0f Merge pull request #2063 from MarcZX100/codex/fix-agc-user-data-tail-padding
fix(agc): read shader user data without tail padding
2026-10-10 17:43:28 +13:00
Dean ead855f0cc Merge pull request #1968 from lubaxe/fix/agc-skip-primitive-restart-index
fix(agc): leave the primitive restart index out of an indexed draw's vertex range
2026-10-10 17:43:21 +13:00
Dean aec0c638a8 Merge pull request #1957 from orbz22/fix/agc-fast-texture-depth-surface
fix(agc): sample resident depth surfaces when a stage-A texture record hits
2026-10-10 17:43:13 +13:00
Dean 9992a5d5e5 Merge pull request #1944 from babyhuey/fix/relinker-lsda-without-personality
fix(relinker): read LSDA call-site tables only under a personality routine
2026-10-10 17:43:06 +13:00
Dean 300bd79439 Merge pull request #1935 from Zinebyte/fix/prefixed-syscall-validation
fix(relinker): reject prefixed system-call instructions
2026-10-10 17:42:59 +13:00
Dean b860fa0c9f Merge pull request #1929 from MarcZX100/fix/virtualquery-partial-unmap
fix(libkernel): query non-readable live mappings
2026-10-10 17:42:50 +13:00
Dean 9ac075e8c0 Merge pull request #1926 from fisherjoey/fix/exit-teardown-order
fix(ajm, apr): keep AJM and APR state alive through static teardown
2026-10-10 17:42:42 +13:00
Dean 8002d11f67 Merge pull request #1915 from TheAggie/fix/agc-radv-raster-defaults
fix(agc): accept RADV's disabled conservative rasterization and out-of-order watermark
2026-10-10 17:42:34 +13:00
Dean eb283f5c8f Merge pull request #1914 from TheAggie/feat/agc-force-dst-alpha-one
feat(agc): blend against an opaque destination for CB_COLOR_ATTRIB FORCE_DST_ALPHA_1
2026-10-10 17:42:27 +13:00
Dean a92b3db3d9 Merge pull request #1911 from TheAggie/fix/relinker-empty-tls-guard-access
fix(relinker): convert stack-guard and thread-pointer reads with an empty PT_TLS
2026-10-10 17:42:20 +13:00
Dean c2ebc71c4a Merge pull request #1893 from fisherjoey/fix/agc-registered-shader-type-8
fix(agc): skip registration-time preparation for unsupported shader types
2026-10-10 17:42:12 +13:00
Dean dd097f9ac6 Merge pull request #1846 from NahuelGenchi/fix/libc-new-handler
fix(libc): call the new handler when operator new fails to allocate
2026-10-10 17:42:04 +13:00
Dean 2061931ac6 Merge pull request #1840 from Prophet069/pr/guest-exception-abi
fix(libc): correct guest exception callback ABI on Windows
2026-10-10 17:41:56 +13:00
Dean 25e4c05b3c Merge pull request #1836 from EdouardSence/fix/agc-defer-unpreparable-shaders
fix(agc): defer shaders that cannot be prepared at registration to their first use
2026-10-10 17:41:48 +13:00
Dean fdd2d26077 Merge pull request #1830 from tv7/fix/relinker-needed-debug-prx
fix(relinker): match needed module names that differ only in the extension
2026-10-10 17:41:41 +13:00
Dean 8c62529cad Merge pull request #1822 from eliasbruno124-dev/fix/guest-runpath-depth
fix(relinker): rebase guest runpaths from their output directories
2026-10-10 17:41:33 +13:00
Dean de723ac54b Merge pull request #1804 from gdrosa/fix/libc-guest-wide-printf
fix(libc): format guest wide printf arguments on Linux
2026-10-10 17:41:26 +13:00
Dean 9c724baad3 Merge pull request #1786 from Zurisen/fix/windows-socket-shutdown-epipe
fix(net): report EPIPE for a send after shutdown on Windows
2026-10-10 17:41:18 +13:00
Dean 5b6c778a95 Merge pull request #1769 from TideOPL/pr/stride0-raw-range
fix(agc): apply the raw OOB_SELECT range rules to zero-stride vertex buffers
2026-10-10 17:41:11 +13:00
Dean a8ce7b7e21 Merge pull request #1727 from SleglJan/feat/libkernel-socket-read-write
fix(libkernel): read and write guest sockets
2026-10-10 17:41:03 +13:00
Dean 47d7ef75dc Merge pull request #1709 from MathiasDevelopes/feat/agc-dma-data-prefetch
feat(agc): DMA_DATA prefetches to DST_SEL nowhere
2026-10-10 17:40:56 +13:00
Dean 70e66d8efa Merge pull request #1688 from johnmaia/fix/agc-udmabuf-permission
fix(agc): name the reason when /dev/udmabuf cannot be opened
2026-10-10 17:40:48 +13:00
Dean 6b9f6d52e8 Merge pull request #1658 from morten-holm/pr/exit-guest-handlers-first
fix(libc): run guest exit handlers before the host exit handlers
2026-10-10 17:40:40 +13:00
Dean 1d59f16108 Merge pull request #1653 from morten-holm/pr/moltenvk-no-barycentric
fix(agc): do not use fragment barycentric on MoltenVK
2026-10-10 17:40:33 +13:00
Dean 177332ded0 Merge pull request #1652 from SleglJan/fix/libkernel-signal-mask-bit
fix(libkernel): block guest signals by FreeBSD's bit n - 1
2026-10-10 17:40:25 +13:00
Dean 1f4fd94fa8 Merge pull request #1639 from gerardlesan/fix/agc-zx-mip-tail-limits
fix(agc): use gfx1013's smaller mip tail limits for 8 and 16 bpp SW_64KB_Z_X
2026-10-10 17:40:18 +13:00
Dean 6dbc921d90 Merge pull request #1633 from babyhuey/feat/libkernel-madvise
feat(libkernel): implement madvise
2026-10-10 17:40:10 +13:00
Dean 9fd45aa4fb Merge pull request #1632 from MarcZX100/fix/amd-proprietary-subgroup-clock
fix(agc): detect AMD proprietary narrow clock
2026-10-10 17:40:02 +13:00
Dean 7879d89f81 Merge pull request #1628 from babyhuey/fix/libkernel-open-directory-flags
fix(libkernel): honour open flags when Windows falls back to a directory descriptor
2026-10-10 17:39:54 +13:00
Dean 80d539abcb Merge pull request #1562 from hamb3r/codex/fix-unity-suspendpoint-fls
fix(libkernel): keep Unity GC delivery out of MinGW TLS waits
2026-10-10 17:39:46 +13:00
Dean 07633df7fb Merge pull request #1549 from LeandroLP23/fix/gcc-warnings
fix: clear the GCC warnings in ProfileOutput, fopen, Ajm batch jobs and the SHA-256 test
2026-10-10 17:39:38 +13:00
Dean afb8cd2239 Merge pull request #1609 from krishnaraya4/fix/agc-display-xor-volumes-thick
fix(agc): lay out 3D SW_64KB_D_X textures as thick volumes
2026-10-10 17:19:44 +13:00
Dean 17874f1177 Merge pull request #2044 from CouchRiv/fix-agc-completion-label-pm4
fix(agc): store labels the GPU cannot reach in stream order
2026-10-10 17:16:19 +13:00
Dean ecc2c8b486 Merge pull request #1865 from fisherjoey/perf/texture-key-ignore-feedback
perf(agc): key sampled textures without the streaming-feedback fields
2026-10-10 17:16:09 +13:00
Adrià Franch c1b714f242 test(libkernel): keep the file stat intact for the lstat checks 2026-10-10 06:14:41 +02:00
Achraf ReyaniandClaude Opus 5.5 610ffbbeba fix(libkernel): report ENOTDIR from stat for a file with a trailing slash
On Windows the existence check accepts "file/", then _wstat64 rejects
it and FillFileStat throws, aborting the title. On Linux the host
reports ENOTDIR, which became ENOENT. A trailing slash on something
that is not a directory now returns ENOTDIR on both hosts, as on
FreeBSD.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-10 06:14:41 +02:00
Achraf ReyaniandClaude Opus 5.5 471e537cdf feat(libc): implement __inet_ntoa
Format the address bytes in network order as dotted decimal into a
per-thread buffer, like FreeBSD's inet_ntoa returns its static one.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-10 12:43:51 +09:00
Achraf ReyaniandClaude Opus 5.5 70d6382e33 fix(libkernel): accept null results in gettimeofday and clock_getres
FreeBSD's gettimeofday stores the time only when tp is not null, and
clock_getres the resolution only when res is not null; both succeed
otherwise. Both threw, which aborted a title probing a clock or only
asking for the time zone. Write into a local result instead.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-10 12:24:29 +09:00
Daan DehingandClaude Opus 5.5 70d190cdd5 fix(shader): bind 2D textures to 3D sample and load accesses as measured
A 3D image access bound to a 2D T# matched no runtime image mode and
threw "image descriptor is incompatible with the static runtime image
interface" (Sonic Origins, #2023). CouchRiv measured RDNA2 (gfx1036)
with the hardware oracle: image_sample_lz with dim 3D ignores r and
reads the (u,v) texel, and image_load reads the (x,y) texel when z is
0 and returns zero otherwise. Add a 2D mode for 3D accesses whose only
uses are those two forms, and make the load return zero for z != 0.
Every other access keeps throwing.

Fixes #2023

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-10 05:15:30 +02:00
Dean Galvin 6266262f33 test(agc): skip agc_pipeline_cache without a Vulkan device
The Windows runner has no Vulkan driver, so agc_pipeline_cache (#1331)
fails at device creation: 'AGC graphics: vkCreateInstance: Vulkan
result -9'. Skip with 77 like the other agc execution tests, unless
ANYPS5_REQUIRE_VULKAN is set, as on the Linux job.
2026-10-10 16:13:01 +13:00
Dean Galvin efdad64047 test(videoout): serialise the tests that share app0/sce_sys/param.json
video_out_flip_tests writes app0/sce_sys/param.json in the shared test
directory on every run, and every VideoOut window reads it for its
title. Under ctest --parallel one test read the file while another
rewrote it: 'unexpected end of param.json' in video_out_flip_controls.
Give all of them one RESOURCE_LOCK.
2026-10-10 16:13:01 +13:00
Dean Galvin 57a7ed801d test(videoout): skip before the first VideoOut call without a display
The unopened-handle checks call sceVideoOutIsOutputSupported before
sceVideoOutOpen, and that first call builds the VideoOut driver, whose
window creation throws without a Vulkan-capable SDL driver. The throw
left main before the skip, so the test aborted on the Linux runner:
'DisplayWindow: Vulkan support is either not configured in SDL or not
available in current SDL video driver (offscreen) or platform'.
Run those checks inside the same skip.
2026-10-10 16:13:01 +13:00