9726 Commits

Author SHA1 Message Date
XeniOS 7e147f4ad8 [Release] Bump XeniOS marketing version to v2.0.1 v2.0.1 2026-06-08 02:07:11 +09:00
XeniOS 339d21e56d [CPU/tests] Drop duplicate apu/gpu cvars from test mains
ppc_testing_main.cc and test_suite_main.cc each defined the apu/gpu backend-selection cvars, which are also defined in cpu/testing/test_backend_cvars.cc (compiled into both test targets). With XENIA_BUILD_TESTS=ON this produced "ld: duplicate symbol cvars::apu / cvars::gpu" and neither xenia-cpu-tests nor xenia-cpu-ppc-tests would link.

Remove the redundant definitions from the two mains; test_backend_cvars.cc remains the single definition site.
2026-06-08 01:54:30 +09:00
XeniOS 7e483f4405 [CPU/a64] Emit LSE single-atomic thunks for lwarx/stwcx
PPC lwarx/stwcx (RESERVED_LOAD/STORE) was the largest a64 backend CPU consumer in on-device profiling (~30%): every guest atomic routed through the generic GuestToHostThunk -- a 448-byte q4-q31 vector spill plus an FPCR restore -- into C helpers that emulated the reservation bitmap with compare-exchange retry loops.

On hosts with FEAT_LSE (all Apple arm64) emit dedicated GPR-only leaf thunks that use single LSE atomics (ldsetal/ldclral/casal) and are reached with a plain BLR. The a64 register allocator only keeps live guest values in x22-x28 and v4-v31, so a GPR-only leaf preserves all guest state without the vector spill or FPCR write. Hosts without FEAT_LSE keep the existing C-helper + CallNativeSafe path.

Behavior is identical to the x64 backend and the previous C helpers (verified atomic-by-atomic); memory ordering is unchanged, as the PPC frontend still emits dmb ish around each operation. Validated on the arm64 host: xenia-cpu-tests [atomic] (5/5) and xenia-cpu-ppc-tests instr_stwcx/instr_lxarx (8/8).
2026-06-08 01:54:07 +09:00
XeniOS 0c9dfdc4d9 [Metal/iOS] Raise upload buffer pool cap to 512 MB
Match the macOS UploadBufferPool ceiling (kUploadBufferPoolMaxBytes) on
iOS, bumping it from 128 MB to 512 MB. On a cold, batched, texture-upload
heavy frame, every materialization in the frame's deferred command buffer
needs its own staging buffers (dest + constants + source + repack scratch)
simultaneously, so the size-keyed best-fit pool grows to a high-water mark
that exceeded the old 128 MB cap and fell through to per-upload transient
allocations. Raising the cap lets the warm pool retain and reuse those
buffers across frames instead of re-allocating, eliminating the per-frame
newBufferWithLength churn.

This only raises the ceiling; the pool still grows lazily to its actual
high-water mark. kScaledResolveRetiredMaxBytes stays at 64 MB on iOS
(256 MB on macOS), so the XE_PLATFORM_IOS split is retained.
2026-06-08 01:48:13 +09:00
XeniOS 865d86ed7e [iOS] Rework library sources, launching, and status flows 2026-06-08 01:40:48 +09:00
XeniOS f1cf69fbb2 [iOS] Add ZAR library conversion 2026-06-08 01:38:35 +09:00
XeniOS 276d160ce3 [Build/Apple] Build MoltenVK from source for the iOS Vulkan backend 2026-06-08 01:34:18 +09:00
XeniOS 79905e3f85 [VFS] Read the full XEX when extracting metadata 2026-06-08 01:31:24 +09:00
XeniOS 189fa94c75 [XAM] Parse logged-profile XUID cvars defensively 2026-06-08 01:31:24 +09:00
XeniOS 65b0ab6926 [Kernel] Force-terminate stuck iOS guest threads after title stop 2026-06-08 01:31:24 +09:00
XeniOS 4b2535a6dd [VFS] Log host path on disc image mapping and verify failures 2026-06-08 01:31:24 +09:00
XeniOS de87f42479 [CPU] Don't assert on unknown thread in OnThreadExit/OnThreadDestroyed 2026-06-08 01:31:24 +09:00
XeniOS fce912330a [APU] Don't assert on SDL audio semaphore release on iOS 2026-06-08 01:31:24 +09:00
XeniOS 358deaee5d [Release] Harden website publish step [skip ci] 2026-06-07 04:09:45 +09:00
XeniOS 7fdcd60e52 [Release] Prepare XeniOS v2.0 Apple publishing release-v2.0-build-9712 2026-06-07 02:37:21 +09:00
XeniOS 2286d389fd [Build/Apple] Package iOS icon assets through Xcode 2026-06-07 02:37:21 +09:00
XeniOS 649fb47fe3 [iOS] Rework touch controls and layout editor 2026-06-07 02:37:21 +09:00
XeniOS 79efa46f6a [iOS] Rework settings, input, and game flows 2026-06-07 02:37:21 +09:00
XeniOS bba7d7e5cc [GPU/Metal] Reduce autorelease pressure and quiet telemetry 2026-06-07 02:37:21 +09:00
XeniOS 1fcad6159c [Build/Apple] Add XeniOS publishing pipeline 2026-06-07 02:37:21 +09:00
XeniOS 0e6c9a9b88 [iOS] Add XeniOS app layer 2026-06-07 02:37:21 +09:00
XeniOS 0ccfa7981c [GPU/Metal] Add Metal Shader Converter backend 2026-06-07 02:37:21 +09:00
Herman S. 07021f019c [App] Allow invalid cvar value to fall back to auto-selection 2026-06-03 20:56:32 +09:00
Herman S. c56c1137ee Merge remote-tracking branch 'upstream/canary_experimental' into edge 2026-06-03 20:56:06 +09:00
Adrian be6e53e383 [XAM] Fixed missing CreateFolder in XamWriteGamerTile
Fixed Rez HD failing to get past main menus in unlocked state.
2026-06-02 20:36:25 +02:00