Commit Graph
10924 Commits
Author SHA1 Message Date
JJenkx c8d7e37f4c fix(agc): initialize point size and limits from SDK defaults 2026-10-19 02:48:17 -04:00
Adrià 7f596df48d Merge pull request #6550 from orishamir/fix/savedata-memory-journal
fix(libSceSaveData.native): write only the changed bytes of save-data memory
2026-10-19 08:39:54 +02:00
Adrià 05b5d192fb Merge pull request #6309 from fogydes/feat/voicechat-firmware-exports
feat(libSceVoiceChat): export missing firmware voice chat interfaces
2026-10-19 08:38:57 +02:00
Adrià fcde2cf95c Merge pull request #6529 from al3w0f205/feat/agcdriver-quadlist-primitive
feat(libSceAgcDriver): support quad-list primitive type
2026-10-19 08:38:11 +02:00
Adrià dc54701e49 Merge pull request #6541 from wachi35676/fix/libc-fopen-random-device
fix(libc): read /dev/random and /dev/urandom through fopen
2026-10-19 08:38:06 +02:00
Adrià 22e59888ce Merge pull request #6467 from fogydes/feat/agc-driver-command-buffer-submit
feat(libSceAgcDriver): implement command buffer submission
2026-10-19 08:37:37 +02:00
Adrià 8b54728061 Merge pull request #6360 from hypermoist/fix/agc-gpu-indirect-dispatch-limit
fix(agc): check GPU-side indirect dispatch group counts against the device limit
2026-10-19 08:37:32 +02:00
Adrià 22410061d5 Merge pull request #6542 from wachi35676/fix/libkernel-windows-shared-file-mmap
feat(libkernel): map regular files with mmap on Windows
2026-10-19 08:37:27 +02:00
Adrià feb74b65c2 Merge pull request #6551 from yash27git/patch/Tessellation-Lowering
feat(shader): read hull inputs at a control point chosen by a select or phi
2026-10-19 08:31:08 +02:00
Adrià b44d0127d8 Merge pull request #6545 from Get-fix/ps4/relinker-init-array-without-size
fix(relinker): treat DT_INIT_ARRAY without DT_INIT_ARRAYSZ as empty
2026-10-19 08:22:06 +02:00
Adrià 06a750df70 Merge pull request #6293 from fogydes/feat/video-recording-firmware-320-exports
feat(libSceVideoRecordingP): export missing firmware 3.20 video recording interfaces
2026-10-19 08:19:41 +02:00
Adrià 63e4a63804 Merge pull request #6538 from TheAggie/perf/agc-dma-prefetch-keeps-pipeline
perf(agc): a DMA_DATA prefetch keeps the draw pipeline
2026-10-19 08:11:46 +02:00
fogydes 0f38f0fe58 feat(libSceVoiceChat): export missing firmware voice chat interfaces 2026-10-19 11:39:06 +05:30
Adrià 9817d53cc9 Merge pull request #6345 from hypermoist/feat/libc-exact-math
feat(libc): add exact long double and BSD math exports
2026-10-19 08:06:40 +02:00
fogydes c3775ea000 feat(libSceAgcDriver): implement command buffer submission 2026-10-19 11:28:13 +05:30
hypermistandClaude Opus 5.5 6b176d98e3 test(agc): exceed the device's own indirect dispatch limit
The over-limit row was a fixed 0xffffffff in X, which is a valid count
on devices that report that X limit (RX 9070 XT). Take the first axis
whose limit is below 0xffffffff and use limit + 1 there; skip when no
count can exceed the limits.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-19 18:57:39 +13:00
hypermistandClaude Opus 5.5 6a33a080bf Merge upstream main into fix/agc-gpu-indirect-dispatch-limit
recordDispatch now reads its indirect offset through HostImportOffset,
which adds the import's lead. The unchecked path passes that offset to
vkCmdDispatchIndirect; the clamp kernel reads from import.address plus
the guest offset, since import.address already includes the lead.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-19 18:57:30 +13:00
Adrià 46f27623c2 Merge pull request #6278 from hypermoist/perf/unwind-dl-find-object
perf(libc): find unwind tables with _dl_find_object on glibc
2026-10-19 07:53:50 +02:00
Dean 2dcc94109e Merge pull request #7733 from MarcZX10/codex/fix-spirv-validator-exit-unwind-7732
fix(cmake): link MinGW spirv validator exit test runtime
2026-10-19 18:52:02 +13:00
Dean 323ece2445 Merge pull request #7445 from elliot1377/fix/agc-dispatch-split-base
fix(agc): split oversized dispatches with workgroup offset specialization
2026-10-19 18:51:58 +13:00
Dean 819ced2e1d Merge pull request #7674 from thuanquang/fix/mesh-layer-block
fix(shader): write a mesh shader's layer through a per-primitive block
2026-10-19 18:51:54 +13:00
Adrià 5710355fbd Merge pull request #6242 from fogydes/feat/sysmodule-ps5-module-table-mappings
feat(libSceSysmodule): register missing user and internal sysmodule IDs
2026-10-19 07:51:24 +02:00
Adrià 79c7076e91 Merge pull request #6265 from fogydes/feat/usb-storage-dialog-exports
feat(libSceUsbStorageDialog): implement common dialog lifecycle exports
2026-10-19 07:50:21 +02:00
Adrià 13c63f9116 Merge pull request #6307 from fogydes/feat/contentdelete-firmware-exports
feat(libSceContentDelete): export missing firmware content delete interfaces
2026-10-19 07:49:17 +02:00
hypermistandClaude Opus 5.5 1181068a68 fix(libc): keep exact math results independent of the host libm
drem, dremf, remainderl and remquol now set EDOM themselves for an
infinite x or a zero y, as fmodl does. Apple's libm never sets errno and
MinGW skips it for long double, so the host could not be relied on.

Guest long is 64 bits, but the host long is 32 bits on Windows. The
lrint, lround and scalbln exports now take and return std::int64_t,
round through llrint and llround, and clamp scalbln exponents to the int
range, where the result is already infinite or zero. The test uses
INT64_MAX instead of LONG_MAX and covers remainderl, dremf and a 2^40
lrint result.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-19 18:45:08 +13:00
fogydes 144c1a58ca feat(libSceVideoRecordingP): export missing firmware 3.20 video recording interfaces 2026-10-19 11:13:20 +05:30
Scott SchusterandClaude Fable 5.1 e8377c9144 perf(agc): a DMA_DATA prefetch keeps the draw pipeline
A DMA_DATA whose destination is nowhere writes no memory, so the draws ahead of it have nothing to order against. RADV issues one per draw, and each drained the pipeline and idled the queue worker until the committer caught up.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-10-19 07:43:15 +02:00
Adrià 9f5d4bd929 Merge pull request #6503 from ThatsLeo/perf/shader-hw-f32-flush
perf(shader): flush f32 denormals in hardware when a startup probe matches the emulation
2026-10-19 07:40:27 +02:00
al3w0f205 55d4a9fa1d feat(libSceAgcDriver): support quad-list primitive type
Primitive type 19 (DI_PT_QUADLIST, 0x13) is used by Unity and other engines for UI quads, sprites and font glyphs. Because Vulkan lacks native quad-list primitive topology, quad draws are expanded on the CPU into indexed triangle lists with 6 indices per 4-vertex quad, respecting the first/last provoking vertex configuration and discarding incomplete trailing vertices. Adds unit tests and documents the functional debt.
2026-10-19 07:39:59 +02:00
hypermistandClaude Opus 5.5 298fbdc917 fix(libc): walk program headers outside the unwind cache lock
dl_iterate_phdr takes the loader lock. Calling it with the base cache
mutex held inverts the order against a thread inside dlopen whose
constructor throws and reaches FindFrameFast. Probe first, then lock
only for the lookup and the insert; racing misses compute the same
bases and emplace keeps the first.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-19 18:33:35 +13:00
fogydes a03d891ec0 feat(libSceUsbStorageDialog): implement common dialog lifecycle exports 2026-10-19 11:00:59 +05:30
fogydes 52ac9dc161 feat(libSceContentDelete): export missing firmware content delete interfaces 2026-10-19 10:55:39 +05:30
Dean 4ffb0cd12b Merge pull request #7377 from EagleBearerYS/fix/shader-pixel-bda-single-exit
fix(shader): end a pixel shader's failed BDA reads through one exit
2026-10-19 18:22:07 +13:00
Dean ade174f250 Merge pull request #7050 from SP4C3B4R-8/fix/depth-retire-whole-plane
fix(agc): retire a depth surface on a storage write only when the write covers a whole plane
2026-10-19 18:22:02 +13:00
Dean bc9b1e6d74 Merge pull request #6917 from milescoviello/perf/guest-lease-snapshot
perf(libc): keep the guest allocation lease snapshot until the registry changes
2026-10-19 18:21:58 +13:00
fogydes fcdf046855 feat(libSceSysmodule): register missing user and internal sysmodule IDs 2026-10-19 10:51:17 +05:30
Adrià 50d269e1a4 Merge pull request #5138 from veosett/codex/guest-relative-section-symbols
fix(relinker): accept section-relative guest module relocations
2026-10-19 07:16:19 +02:00
Adrià Franch 59449dcf00 test(shader): downgrade fixtures drop the f32 flush flag byte 2026-10-19 07:05:57 +02:00
Adrià Franch 3c95095c21 test(shader): read a version 35 request without the f32 flush flag 2026-10-19 07:00:21 +02:00
ThatsLeo ac14d6317d perf(shader): flush f32 denormals in hardware when a startup probe matches the emulation
Devices with DenormFlushToZero for f32 run the mixed denormal-flush programs with and
without the hardware mode at startup; when every result matches, add, sub, mul, fma,
floor and ceil in the default rounding mode drop their software flush.
2026-10-19 07:00:13 +02:00
Adrià 72a3d9f2a4 Merge pull request #6534 from dogukanatlihan/fix/windows-stack-anonymous-mmap
fix(libkernel): replace anonymous Windows stack mappings
2026-10-19 06:58:04 +02:00
Dean 574762f121 Merge pull request #6659 from JJenkx/perf/spirv-single-input-validation
perf(shader): validate optimizer input once
2026-10-19 17:52:07 +13:00
Dean b2a3cd8b17 Merge pull request #6690 from xXPBSXx/test/netctl-callbacks-plain
test(libSceNetCtl): cover the plain callback registration in guest_sce_net
2026-10-19 17:52:04 +13:00
Dean 859017b4ce Merge pull request #7698 from tibzejoker/perf/f16-single-convert
perf(shader): convert one f16 value instead of an (x, 0.0) pair
2026-10-19 17:52:01 +13:00
Adrià Franch 95751ecab8 fix(libkernel): drop duplicate include after rebase 2026-10-19 06:42:38 +02:00
Doğukan Atlıhan 1ad6c746b8 fix(libkernel): replace anonymous Windows stack mappings 2026-10-19 06:42:30 +02:00
MarcZX10 f7cef86629 fix(cmake): link MinGW spirv validator exit test runtime 2026-10-19 04:33:56 +00:00
Adrià 676d423968 Merge pull request #6532 from ArjenS-LA/feat/guest-bcopy
feat(libc): implement overlap-safe bcopy
2026-10-19 06:09:37 +02:00
Adrià ceab3dd674 Merge pull request #6523 from billythemenace2/fix/agc-mesh-support-before-validation
fix(agc): refuse mesh-path draws on a device without mesh shaders before validating them
2026-10-19 06:08:33 +02:00
Adrià e0b8be9dc5 Merge pull request #6530 from milescoviello/feat/smoothing-mixed-samples
feat(agc): draw radeonsi line and polygon smoothing (SAMPLE_COVERAGE, merged mixed samples)
2026-10-19 06:06:26 +02:00