Prosper (ps5ys) est une couche de compatibilité open-source permettant de faire tourner des logiciels et des jeux PS5 sous Linux et Windows.
Ce n’est pas un émulateur: la PS5 et les PC partageant la même architecture processeur (x86-64), le code des jeux tourne nativement sur le processeur du PC. Prosper agit comme Wine ou Proton en traduisant les appels système, les bibliothèques internes et l’API graphique (AGC vers Vulkan) de l’OS de la PS5 pour les rendre lisibles par votre ordinateur.

Les changements sont les suivants:
– ci: add the platform-stub ratchet rule for HLE(*_stub) platform-arm handlers by @ymatrix1 in #4366
– gpu: preserve independent logical64 WAITCNT completion by @mattias800 in #4372
– docs: list all eleven ratchet rules in the charter and state the platform-arm rule by @ymatrix1 in #4367
– docs: clarify APR proposal and preserve historical Dragon Quest observations by @ymatrix1 in #4365
– fix(gpu): retain producing raster launch controls through capture replay by @mattias800 in #4376
– ci: enforce pytest policy on new Python tests by @ymatrix1 in #4314
– Bound native shader walkers by authentic readable source windows by @mattias800 in #4377
– docs: record current GTA Stage 2 ABBA checkpoint by @mattias800 in #4379
– docs: record Sonic deferred-wait world falsification by @mattias800 in #4380
– docs: record GTA warm target-count checkpoint by @mattias800 in #4381
– feat(gpu): connect original scalar-buffer reads to shared wave64 bank by @mattias800 in #4374
– test: use SDK-relative pointers in scalar-bank fixtures by @mattias800 in #4382
– test: adversarial pins for rdna2 closed-tail block admission by @ymatrix1 in #4386
– test: LLVM oracle pins for SOP2 destination widths by @ymatrix1 in #4390
– test: follow v71 capture tail and Wave32 eager routing so main’s Linux CI is green by @mattias800 in #4396
– test: pin mandatory-literal K capture for VOP2 mul-adds and SOPK setreg by @ymatrix1 in #4401
– feat(gpu): implement VOP3P integer dot product lowering (v_dot2, v_dot4, v_dot8) by @ymatrix1 in #4400
– test: pin SOPP direct-branch set against the ISA table by @ymatrix1 in #4405
– test: oracle pins for scalar opcode predicates by @ymatrix1 in #4408
– feat(gpu): implement v_min3_i32, v_max3_i32, and v_med3_i32 lowering by @ymatrix1 in #4404
– feat(gpu): implement subword SAD instructions (v_sad_u8, v_sad_hi_u8, v_sad_u16, v_msad_u8) by @ymatrix1 in #4388
– feat(gpu): implement v_perm_b32 byte permutation lowering by @ymatrix1 in #4389
– feat(gpu): implement image_gather4 texture gather lowering by @ymatrix1 in #4392
– test: ISA-table pins for memory-writer classification by @ymatrix1 in #4393
– feat(gpu): implement v_div_fixup_f32 division fixup lowering by @ymatrix1 in #4391
– feat(gpu): implement s_movrels_b32 relative SGPR move lowering by @ymatrix1 in #4394
– perf: emit opt-in per-flip stage timing samples by @ymatrix1 in #4406
– feat(gpu): implement v_mad_i64_i32 lowering by @ymatrix1 in #4387
– gpu: bound s_movrels_b32’s constant M0 before adding it to the base by @mattias800 in #4413
– test: migrate normal_magnitude_predicate to GTest by @ymatrix1 in #4414
– test: extract minmax3 kernels from rdna2_to_spirv main (pilot split) by @ymatrix1 in #4415
– gpu: recover GTA V’s #4270 bank-scene regression (2.9 -> 6.5 fps) by @mattias800 in #4421
– feat(hle): implement libSceAudio3d/AudioPropagation/Acm spatial audio stubs by @ymatrix1 in #4418
– recompiler: stop phantom raw-wide refusals of register-offset descriptor loads (#4422) by @mattias800 in #4425
– feat(hle): implement libSceNet sockets and libSceNp offline stubs by @ymatrix1 in #4417
– gpu: seed BGRA render targets into compute storage on the device (+ lift live compute’s storage codec) by @mattias800 in #4428
– gpu: read back the span before an ordered DMA only when the copy touches it (Alex Kidd holds 60 fps) by @mattias800 in #4459
– docs: Alex Kidd plateau finding and async pair outcome by @mattias800 in #4461
– test: migrate 8 host/loader/HLE suites to GoogleTest by @ymatrix1 in #4430
– test: migrate the fragment float-flag identity suites to GoogleTest by @ymatrix1 in #4441
– test: migrate the select/pselect pure-sleep suite to GoogleTest by @ymatrix1 in #4446
– test: migrate the guest-facing HLE handler contracts to GoogleTest by @ymatrix1 in #4434
– test: migrate the diagnostics enabled-path and JSON suites to GoogleTest by @ymatrix1 in #4449
– test: extract scalar-ALU kernels from rdna2_to_spirv main by @ymatrix1 in #4431
– test: migrate the pthread-key destructor suite to GoogleTest by @ymatrix1 in #4443
– test: extract VOP3 batch kernels from rdna2_to_spirv main by @ymatrix1 in #4432
– test: migrate the clock and timed-wait HLE contracts to GoogleTest by @ymatrix1 in #4437
– test(gpu): pin f64 transcendental refusal with rcp_f32 control by @ymatrix1 in #4453
– test(gpu): pin div-fmas refusal with fixup control by @ymatrix1 in #4454
– test(gpu): pin scalar-misc refusal with movk/mov controls by @ymatrix1 in #4451
– test(gpu): pin float-dot refusal with integer-dot control by @ymatrix1 in #4456
– test(gpu): pin x2 buffer-atomic refusal with 32-bit control by @ymatrix1 in #4460
– test(gpu): pin SOPP halt/kill refusal with s_nop control by @ymatrix1 in #4445
– test(gpu): pin 64-bit DS refusal with ds_add_u32 control by @ymatrix1 in #4448
– test(gpu): pin WRXCHG2 DS refusal with write2 control by @ymatrix1 in #4450
– test(gpu): pin multi-level IMAGE_LOAD_MIP refusal with plain-load control by @ymatrix1 in #4438
– test(gpu): pin NSA IMAGE_STORE_MIP refusal with consecutive-store control by @ymatrix1 in #4444
– feat(hle): register remaining dialog entry points (Login/MsgProgress/WebBrowser) by @ymatrix1 in #4458
– feat(hle): register Trophy2 icon getters alongside the info queries by @ymatrix1 in #4440
– feat(hle): register Http option setters, epoll lifecycle and Https setup by @ymatrix1 in #4442
– gpu: bound MSAA/unusual-swizzle colour targets so ordered DMAs skip the span readback (Summer Sports) by @mattias800 in #4464
– feat(hle): register sceSaveDataLoadIcon completing the icon round-trip by @ymatrix1 in #4436
– feat(hle): register UDS DestroyHandle/SetInt32 and sceSaveDataDelete by @ymatrix1 in #4433
– feat(hle): register remaining UDS setters, lifecycle and stats (25 exports) by @ymatrix1 in #4455
– feat(hle): register libSceNpWebApi2 request and push-event surface by @ymatrix1 in #4435
– feat(hle): implement libSceRtc calendar arithmetic (22 exports) by @ymatrix1 in #4447
– hle: fix np.cpp splice that broke the build (GetStorageStat body) by @mattias800 in #4468
– feat(hle): register libSceNpManager remainder (14 exports) by @ymatrix1 in #4476
– feat(hle): register notice-skip setters, PowerTick and privacy/Init2 by @ymatrix1 in #4478
– feat(hle): report voice unavailable across the port surface by @ymatrix1 in #4473
– feat(hle): register MouseClose and pad mic-in-use vibration quirk by @ymatrix1 in #4471
– feat(hle): register Net epoll/introspection/resolver and Rudp setup by @ymatrix1 in #4482
– test(gpu): pin float image-atomic refusal with add control by @ymatrix1 in #4470
– test(gpu): pin arithmetic x2 buffer-atomic refusal with 32-bit control by @ymatrix1 in #4474
– test(gpu): pin swappc/code-end refusal with mov/nop controls by @ymatrix1 in #4475
– test(gpu): pin bfe64/mode-set refusal with mov/nop controls by @ymatrix1 in #4477
– test(gpu): pin endpgm-variant refusal with endpgm control by @ymatrix1 in #4479
– test(gpu): pin setreg-imm32 refusal with flat-scratch control by @ymatrix1 in #4480
– test(gpu): pin deferred 32-bit atomic refusal with add control by @ymatrix1 in #4481
– test(gpu): pin image_atomic_fcmpswap and image_atomic_dec refusals (supersedes #4472) by @mattias800 in #4488
– memory: a fixed direct map replaces tracked direct memory on both platforms (replaces #4189) by @ymatrix1 in #4486
– feat(hle): implement NGS2 allocator-create/destroy/grain/lock lifecycle (6 exports) by @ymatrix1 in #4487
– feat(hle): implement Fiber/Ult remainder (7 exports) by @ymatrix1 in #4491
– feat(hle): implement AvPlayer trick-speed/bandwidth/printf remainder (4 exports) by @ymatrix1 in #4490
– feat(hle): implement Font render-state remainder (13 exports) by @ymatrix1 in #4494
– feat(hle): implement GameUpdate request lifecycle (5 exports) by @ymatrix1 in #4497
– gpu: restore the Unity UI vertex shader (Greak, Alex Kidd, Summer Sports menus and HUDs) + fix the macOS build by @mattias800 in #4495
– gpu: Summer Sports’ track is the right colour again (BC6H lightmaps clamp until the pipeline is linear) by @mattias800 in #4501
– feat(hle): register AJM direct-job shapes (14 exports) by @ymatrix1 in #4484
– feat(hle): implement Ime text-entry session (11 exports) by @ymatrix1 in #4503
– feat(hle): implement libSceCesCs conversion and libScePngDec decode by @ymatrix1 in #4452
– hle: sceRtcGetTick is the same on every host (fixes the Rtc tests on macOS and Windows) by @mattias800 in #4505
– host(win): keep the host’s allocations out of the guest’s address range — the UE4 launch hang (#4426) by @mattias800 in #4507
– hle: re-derive NGS2/AvPlayer/Font contracts from the .native modules PS5 titles link by @mattias800 in #4524
– feat(hle): implement NGS2 waveform parse/calc/reset-option (3 exports) by @ymatrix1 in #4510
– hle(apr): a counter completion is never delivered below one already delivered — Kena’s boot crash (#4504) by @mattias800 in #4517
– docs(kena): Windows -> Linux/AMD handoff of the title-screen 3D bring-up by @mattias800 in #4500
– gpu: Space Adventure Cobra’s in-game 3D renders again (two recompiler defects in its per-light loop) by @mattias800 in #4522
– recompiler: accept UE4’s save-then-v_cmpx EXEC guard around a counted loop (Kena, #4427) by @mattias800 in #4534
– gpu: close two raw-wide classifier gaps found in review (wrong relative-move opcodes, implicit VCC readers) by @mattias800 in #4535
– gpu: a loop exit drops the scratch a mask overwrote, for every loop by @mattias800 in #4542
– tools/ci: decode git and ruff I/O as UTF-8 in check_python_quality by @ymatrix1 in #4539
– feat(hle): implement Ult pool/runtime destroys (2 exports) by @ymatrix1 in #4528
– recompiler: admit several bottom-tested SCC do-while loops in one program (#4518) by @mattias800 in #4546
– tools: static HLE progress census by @ymatrix1 in #4532
– diagnostics: say whether Wave64 was the GPU’s doing or prosper’s by @mattias800 in #4531
– docs: architecture spec and decision records (ADRs 0001-0021), gated by check_arch_docs by @ymatrix1 in #4536
– gpu: s_movrels_b32 reads a range of registers, and the liveness proofs now know it (#4538) by @mattias800 in #4547
– tools/docs: unbreak the Docs job (check_arch_docs’ « ctest » kind is not a ctest invocation) by @mattias800 in #4561
– docs: add Rayman 30th Anniversary Edition and MOUSE: P.I. For Hire with their first captures by @mattias800 in #4558
– gpu: two leftovers from the #4547 review (raw-x2 escape list; dispatcher SCC after a relative read) (#4559) by @mattias800 in #4562
– gpu: keep the program a draw lost to the owned-wave gate, and the gate’s reason (#4555) by @mattias800 in #4565
– gpu: AGC’s eliminate-fast-clear rectangle writes no colour (#1588) by @mattias800 in #4568
– gpu: four raw-wide classifier gaps, and one emitter fix they depend on, that put GTA V’s and MOUSE’s fragment programs on the owned-wave path (#4555) by @mattias800 in #4569
– hle/agc: sceAgcCbBranch builds its packet; the branch runs where the guest put it (#4540) by @mattias800 in #4576
– tools/env: register every PROSPER_* switch and require new ones be classified by @ymatrix1 in #4543
– live compute: publish an RGB10A2 compute result into the renderer target by @ymatrix1 in #4571
– revision: see through a ccache/sccache compiler wrapper in the dependency identity (#4356, #4187) by @mattias800 in #4581
– tools/env: drop the stale PROSPER_AGC_SPLIT_FINAL_STATE registry row (main is red) by @ymatrix1 in #4582
– gpu: a clashed constant-buffer key is published per consumer, not per key by @mattias800 in #4584
– gpu: key a fold descriptor use the way the recompiler tags it (#4585) by @mattias800 in #4588
– docs: record that holding the EOP pulse does not stop DQ7’s label recycle (#2982) by @ymatrix1 in #4583
– gpu: an x2 load can be the latched source of a raw-wide register offset (#4578) by @mattias800 in #4587
– docs: blog Beast and DQ7 after the eliminate-fast-clear fix; record Kena’s refusal progress by @mattias800 in #4589
– feat(hle): implement Font StyleFrame cluster (15 exports) by @ymatrix1 in #4572
– docs: every document declares its kind; every relative link resolves by @ymatrix1 in #4567
– gpu: a register-offset raw-wide load’s pointer need only survive until the load; a branch before its source is harmless unless it lands inside by @mattias800 in #4593
– spv_validate: rdna2_proven_raw_register_wide_entry_loads is not an emitter (main red after #4593) by @mattias800 in #4595
– gpu: a base-zero T# with constant-zero selectors is the null image (#4592) by @mattias800 in #4596
– gpu: merged-NGG subgroup planner and launch values (#3135 P1) by @mattias800 in #4597
– gpu: fall back to the general CFG route when a counted loop’s prelude declines (Kena 0x5006fb0000) by @mattias800 in #4594
– revision: write the compiler-wrapper test in pytest conventions (Python quality red after #4581) by @mattias800 in #4601
– gpu: NGG evidence for the merged-NGG lowering (#3135 P0) by @mattias800 in #4599
– gpu: read PROSPER_DBG live for the null-image line (main red after #4596) by @mattias800 in #4604
– gpu: close three CFG-dispatcher Wave64 gaps so Kena’s compute 0x5008ec0000 recompiles by @mattias800 in #4603
– gpu: merged-NGG subgroup shell, compile and offline execution (#3135 P2) by @mattias800 in #4605
– gpu: publish an over-cap buffer window clamped to its mapped run by @ymatrix1 in #4566
– gpu: a plain copy of loaded words into EXEC, and a wide load into the special registers, are numeric uses in the raw-wide walk (#4574) by @mattias800 in #4579
– feat(hle): implement NGS2 system lock/unlock/sample-rate (3 exports) by @ymatrix1 in #4521
– feat(hle): implement Font kerning/library/rewind/back-link (4 exports) by @ymatrix1 in #4520
– feat(hle): implement Font pixel-resolution/cache/library back-link (3 exports) by @ymatrix1 in #4548
– feat(hle): implement Font DPI/glyph-form/scale/kerning queries (5 exports) by @ymatrix1 in #4570
– feat(hle): implement Font renderer-outline/DPI/rewind/mask (6 exports) by @ymatrix1 in #4573
– recompiler: prove two-T# x16 bundles through image stores; disjoint stores keep the split-T# proof by @ymatrix1 in #4564
– feat(hle): implement Ult queues and semaphores (14 exports) by @ymatrix1 in #4544
– gpu: merged-NGG raster commit: pass-through vertex stage and layer routes (#3135 P3) by @mattias800 in #4611
– gpu: type CFG-dispatcher spill reloads, and keep a mask reloaded into its own register (#4600) by @mattias800 in #4607
– gpu: a 64-lane fragment launch is not sent to the owned-wave path for a load that is numeric only at 32 lanes (#4555) by @mattias800 in #4609
– docs: regenerate PROGRESS_TRACKER.md (MOUSE’s blockers after #4609) by @mattias800 in #4614
– gpu: lower ds_read_b32 … gds in compute, the read MOUSE’s per-frame counter copy was refused at (#4553) by @mattias800 in #4615
– docs: MOUSE: P.I. For Hire after #4609 and #4615: route, captures, and what is ruled out by @mattias800 in #4616
– vk: run merged-NGG draws in the backend: fill, shell dispatches, pass-through runs, no CPU wait (#3135 P4) by @mattias800 in #4617
– gpu: let replay admit a conditional branch out of the program (MOUSE frames could not be replayed) by @mattias800 in #4622
– gpu: MOUSE’s world renders: a DCC clear reaches the target a pass renders to, and a Z_16 depth plane keeps its size by @mattias800 in #4621
– docs: MOUSE’s second depth target is refused before gameplay only (correcting #4621’s docs and #4620) by @mattias800 in #4626
– gpu: replay asks whether a write lands in a retained depth plane by address (replayed frames lost every depth target) by @mattias800 in #4628
– gpu: reuse a draw’s render state while its registers are unchanged by @mattias800 in #4630
– gpu: BOOL64 predicated jumps run on a non-zero condition (DQ7 title clouds/sea) by @mattias800 in #4610
– compute: honour a fast-cleared target’s control plane and a padded linear image’s row pitch by @ymatrix1 in #4586
– test: the savedata tmpfs check names the old fixed roots, not any /tmp prefix by @mattias800 in #4640
– docs: Tomb Raider’s rung-3 manor is Tomb Raider II’s; Tomb Raider I’s does not render by @mattias800 in #4644
– gpu: borrow the readable start of a draw buffer declared past mapped memory by @mattias800 in #4633
– gpu: run merged ES+GS NGG draws live: admission, linked fold, cached producer (#3135 P5) by @mattias800 in #4634
– gpu: publish a renderer-claimed volume before compute reads it (#4625) by @mattias800 in #4651
– gpu: count draw-disposition seen at the pass entry so silent refusals raise unaccounted-draws by @mattias800 in #4655
– gpu: refuse a cached render target for a sampled view needing more bytes per texel (AC Black Flag red frame, #4197) by @ymatrix1 in #4648
– Sink vote-lowering diagnostic types to src/diagnostics by @ymatrix1 in #4646
– windows: read the SSE4a-log and stub-dump switches through one helper each (getenv 14 to 10) by @ymatrix1 in #4639
– Move shared diagnostics helpers down to src/diagnostics by @ymatrix1 in #4641
– ci: keep reviewer notes through arch-ratchet –update by @ymatrix1 in #4636
– Move COMPUTELOG diagnostics out of gpu_executor.cpp by @ymatrix1 in #4642
– compute: move execute_item’s post-wait tail into finish_dispatch_tail (preparatory for ADR 0009, proposed) by @ymatrix1 in #4650
– fix(prosper-app): list and boot dumps at drive roots by @ymatrix1 in #4658
– ADR 0009 Stage 1: design note and a tested retirement-order contract by @ymatrix1 in #4645
– docs: Black Flag’s measured frame cost and the bounded-buffer null result by @ymatrix1 in #4632
– hle: NetCtl/Np state callbacks on every host; sceVoiceQoSInit refuses honestly by @ymatrix1 in #4577
– feat(prosper-app): Prosper window title and baked-in mark icon by @ymatrix1 in #4659
– ratchet: fix hle_kernel.cpp file-size row (5561 -> 5555) by @ymatrix1 in #4662
– ci: fix main’s red Docs and Python quality jobs (note frontmatter, stale switch row) by @ymatrix1 in #4661
– test: NGG shell-pipeline cache eviction no longer depends on native Wave64 by @mattias800 in #4663
– fix: retry transient Windows replace failures saving the pipeline cache by @ymatrix1 in #4667
– test: Windows cold-target repeat honours PROSPER_NO_SKIP_SEED by @ymatrix1 in #4666
– feat(prosper-app): game list with search, menus and controls view by @ymatrix1 in #4665
– ADR 0009 step 2: observe what pipelining would allow (PROSPER_PIPELINE_OBSERVE) by @ymatrix1 in #4664
– feat(prosper-app): persisted host settings for library-started boots by @ymatrix1 in #4670
– docs(prosper-app): add library view screenshot by @ymatrix1 in #4673
– compute: refresh a cached buffer by differing 64 KiB blocks (with a control switch) by @ymatrix1 in #4660
– compute: mirror R8Unorm storage results on the GPU (no CPU round trip) by @ymatrix1 in #4656
– feat(prosper-app): use Explorer folder picker on Windows by @ymatrix1 in #4672
– ci: exempt bench_*.cpp from the gtest policy; keep the NGG cache test’s push range valid by @mattias800 in #4675
– feat(prosper-app): add Game Log panel with bounded ring capture by @ymatrix1 in #4671
– compute: share one resident arena between overlapping read-only buffer windows (interim, not ADR 0010) by @ymatrix1 in #4635
– ci: spv_validate’s coverage scan exempts parent_scan.hpp’s two local vectors by @mattias800 in #4676
– test: compute buffer runtime tests expect #4660’s block-sync refresh, and detect a stale far block by @mattias800 in #4678
– feat(prosper-app): picker answers join the library; folders accumulate by @ymatrix1 in #4674
– perf: read hot-path diagnostic switches once per submit, not once per call by @ymatrix1 in #4677
– docs(kena): the title-menu world renders on main; #3835’s NaN half image was AGC’s helper rectangle by @mattias800 in #4679
– docs, tools: a path convention for screenshots, enforced for new captures by @ymatrix1 in #4629
– charter: point the architecture rules at docs/spec and docs/adr by @ymatrix1 in #4541
– docs, tools: architecture follow-ups from the PortPS5 docs comparison by @ymatrix1 in #4557
– diag: validation mapping census (which memory backs full compares) + GetWriteWatch ruled out by @ymatrix1 in #4681
– gpu: render layered volume passes with more than one colour target (#4643) by @mattias800 in #4685
– diag: always-on validation census with a size histogram; drop PROSPER_VALIDATION_MAPPING_CENSUS by @ymatrix1 in #4684
– cmake: prosper_add_gtest keeps list-valued test properties intact (#4682) by @mattias800 in #4690
– gpu: a resource-order refusal clears the colour-target stats too (#4687) by @mattias800 in #4692
– Kena: zero refused fragment programs (AGC helper no-effect before shader work; counted-loop VCC_HI counter) by @mattias800 in #4688
– perf: convert RGB10A2 compute results with a lookup table into a pooled buffer by @ymatrix1 in #4691
– present: read a display buffer’s guest bytes in its VideoOut pixel format (#4686) by @mattias800 in #4689
– present: guest-order DMA reads of ALT targets; name format declines; count the scanout swap (#4686 follow-up) by @mattias800 in #4695
– test: sequence schedstat_probe fixture on a virtual clock, drop RUN_SERIAL (#4142) by @mattias800 in #4697
– docs: restore a dropped table cell separator in RECOMPILER_REMAINING.md by @mattias800 in #4698
– test: keep the schedstat probe docstring out of the ctest gate by @mattias800 in #4702
– gpu: [t8-dropped] keeps the words of an image descriptor the fold declines (Kena #4700) by @mattias800 in #4701
– diag: census of compute publications that repeat the previous bytes (F8 window, no switch) by @ymatrix1 in #4705
– docs: propose ADR 0029, first-use graphics pipelines by library link (refines ADR 0014) by @ymatrix1 in #4722
– docs: propose ADR 0032, page-granular write tracking on Windows hosts by @ymatrix1 in #4724
– Kena past New Game: ldexp CLAMP and entry-M0 KILL; translator reject in the refused index by @mattias800 in #4711
– docs: propose ADR 0028, one per-shader policy for Wave64 programs on 32-lane hosts by @ymatrix1 in #4717
– docs: propose ADR 0030, a descriptor heap behind one binding interface by @ymatrix1 in #4721
– docs: propose ADR 0031, GPU-resident detile, retile and conversion by @ymatrix1 in #4723
– docs: propose ADR 0027, one phi-aware descriptor provenance analysis with a runtime fallback by @ymatrix1 in #4716
– docs: ADR 0028/0030/0031 review nits that missed their merges by @ymatrix1 in #4729
– gpu: implement the guest depth-bounds test (DB_DEPTH_CONTROL.DEPTH_BOUNDS_ENABLE) by @mattias800 in #4704
– texture: fast-cleared one- and two-component DCC surfaces sample the clear colour by @ymatrix1 in #4699
– docs: propose ADR 0033, GPU reads guest buffers in place (zero-copy) by @ymatrix1 in #4726
– docs: propose ADR 0034, guest async compute on a dedicated host queue by @ymatrix1 in #4727
– docs: propose ADR 0035, indirect arguments resolved on the GPU by @ymatrix1 in #4728
– recompiler: Wave64 fragment scalar-pair projection behind a definite-assignment proof (#4706 fix 2) by @mattias800 in #4725
– capture: record a draw buffer the live source gate refuses as a placeholder (#3807) by @mattias800 in #4707
– gpu: honour SPI_SHADER_COL_FORMAT and integer colour targets (Kena’s sun, #4703) by @mattias800 in #4715
– recompiler: refuse the projection in unreached dispatcher cases; compare results are ballots (Kena f1d1baa8 live) by @mattias800 in #4730
– perf: mirror packed R10G10B10A2 compute results into the renderer on the GPU by @ymatrix1 in #4709
– nid_census: name NIDs from a flat community database, not only the firmware dump by @ymatrix1 in #4731
– gpu: indexed and instanced merged-NGG draws (#3135 P6) by @mattias800 in #4733
– Kena title scene: fog gets its shadows (UNORM16 depth to compute) and foliage draws (POS_W is clip w) by @mattias800 in #4734
– gpu: admit Kena’s downstream merged-NGG producers: immediate-offset selector source, s0:s1 user-data address, nested EXEC saves (#3135) by @mattias800 in #4735
– recompiler: carry v_writelane spill slots through structured loops and if merges (Kena’s level-load device loss) by @mattias800 in #4740
– agc: implement sceAgcDriverSubmitMultiAcbs, folded into the queue’s compute context by @ymatrix1 in #4742
– console_oracle: check the HLE against a real PS5, and fix what it finds by @ymatrix1 in #4744
– Kena title scene: depth of field works (fold restores across compacted targets; narrow FP16 sampled natively) by @mattias800 in #4736
– agc: SubmitAcb keys its queue on 32 bits; SubmitMultiDcbs answers an empty batch by @ymatrix1 in #4748
– nid names: choose the verified flat-db candidate; label a missing source honestly by @ymatrix1 in #4756
– docs: accept ADR 0028 (Wave64 on 32-lane hosts) by @mattias800 in #4761
– console_oracle: measure the kernel and user service families, and fix what they find by @ymatrix1 in #4747
– diagnostics: route= field and per-route Wave64 counters (ADR 0028 step 2) by @ymatrix1 in #4754
– recompiler: ADR 0028 step 1, the s_cbranch_execz any-vote certificate by @ymatrix1 in #4755
– docs: propose ADR 0036, link allowlisted local-compute system libraries from the user’s firmware dump by @ymatrix1 in #4764
– recompiler: classify Wave64 compute cross-lane ops and name the route (ADR 0028 step 3, analysis) by @ymatrix1 in #4760
– console_oracle: measure the AGC packet-size queries, and answer the ones prosper left at 0 by @ymatrix1 in #4759
– recompiler: PROSPER_WAVE64_EXCHANGE retries a narrow-host-refused Wave64 compute module through the exact dispatcher (ADR 0028 step 3) by @ymatrix1 in #4763
– console_oracle: a second destroy is EINVAL, and sceUserServiceInitialize2 validates its priority by @ymatrix1 in #4771
– recompiler: drop the cached PROSPER_DBG tag line that reddened main by @ymatrix1 in #4777
– gpu: NGG without a GS through the subgroup shell; a layered draw needs every attachment proven one slice (#3135 P7) by @mattias800 in #4750
– recompiler: a MUBUF format store writes only its V# format’s components; Kena exposure settled by @mattias800 in #4773
– console_oracle: measure the AGC builders, libkernel, POSIX names and net/http helpers by @ymatrix1 in #4780
– test: per-platform baseline row for kx_attr_getstack_default (fixes red macOS CI on main) by @mattias800 in #4785
– docs: Kena’s distance-field AO is empty because the mesh-SDF atlas upload is skipped (#4766, paused) by @mattias800 in #4788
– hle/fs: a guest path outside every mount never reaches the host filesystem by @mattias800 in #4784
– tools: local save fixtures and a snapshot.py save_fixture field by @mattias800 in #4789
– gpu: replay a layered depth-only NGG draw once per depth slice (#3135, Kena shadow cubes) by @mattias800 in #4778
– gpu: memoize the compute nested wide-data inventory per program (Dawnwalker +44% presented fps) by @mattias800 in #4794
– fix(tools): report reconstruction size in bytes by @AaravMehta-07 in #4797
– tools: skip split_file’s CLI self-test arm on Windows (fixes red MinGW on main) by @mattias800 in #4798
– tests: materialize deep_scan’s pad frame so DmemCallerWalk.Contract passes under AppleClang -O3 by @esdras-kyo in #4800
– gpu: GPU-retile compute-written SW_64KB_R_X volumes (Kena compute writeback -20%); Stage 1 ceiling measured by @mattias800 in #4804
– test: multi-block-y volume shape for the GPU retile byte-equal test (#4804 review gap) by @mattias800 in #4807
– docs: 2026-10-09 status sweep — three new titles; PGA TOUR 2K25 and Beast of Reincarnation reach title screens by @mattias800 in #4806
– gpu: bind a null image for an unusable T# read only by a skippable instruction (deterministic admission) by @mattias800 in #4801
– gpu: lower image_sample_cd like image_sample_d; dump backend-declined compute programs (#4808) by @mattias800 in #4813
– tools: extract nested AMDGPU shader ELFs from game eboots by @ymatrix1 in #4812
– console_oracle: add offline coverage report tool and test suite by @ymatrix1 in #4809
– tools: add console_capture client and tests for ps5debug-NG by @ymatrix1 in #4817
– tools: console_capture breakpoint opt-in, bounded replies, restored status-doc text (#4817 review) by @mattias800 in #4820
– docs: escape a pipe that broke a GRIS_SONIC_COBRA table row (main Docs red) by @ymatrix1 in #4821
– gpu: split-T# proof keeps provenance across EXEC saves and analyses large programs once by @ymatrix1 in #4712
– recompiler: admit direct-EXEC-write wave-empty guards in counted loops by @ymatrix1 in #4818
– gpu: decode PM4 IT_LOAD_SH_REG and IT_LOAD_CONTEXT_REG indirect register packets by @ymatrix1 in #4822
– recompiler: compute Wave64 scalar-pair projection refuses a fabricated-zero word (#4714) by @ymatrix1 in #4749
– adr: 0037 amends Wave64 routes with what steps 1-3 measured (proposed) by @ymatrix1 in #4776
– gpu: admit Yakuza Kiwami’s Wave32 and The Pathless’s merged NGG draws (#4808 cause #3) by @mattias800 in #4819
– gpu: view a borrowed compute image in its own format, not the renderer’s folded host format (#4810) by @mattias800 in #4832
– gpu: lower the NSA image_sample_c, image_sample_o and image_get_lod forms in fragments (#4808) by @mattias800 in #4835
– gpu: decode hardware PM4 IT_ACQUIRE_MEM and IT_RELEASE_MEM synchronization packets by @ymatrix1 in #4823
– docs: rewrite root README using PortPS5 structure as reference by @ymatrix1 in #4824
– gpu: decode hardware PM4 IT_DISPATCH_DIRECT and IT_DISPATCH_INDIRECT compute packets by @ymatrix1 in #4825
– gpu: decode hardware PM4 IT_DRAW_INDEX_AUTO, IT_DRAW_INDIRECT, IT_SET_BASE, and IT_WRITE_DATA packets by @ymatrix1 in #4826
– gpu: decode hardware PM4 IT_WAIT_REG_MEM polling packets by @ymatrix1 in #4827
– gpu: decode hardware PM4 IT_CLEAR_STATE, IT_INDEX_BUFFER_SIZE, IT_ATOMIC_MEM, and IT_PFP_SYNC_ME packets by @ymatrix1 in #4828
– gpu: decode hardware PM4 IT_COND_EXEC, IT_DRAW_INDEX_INDIRECT_MULTI, and IT_WAIT_REG_MEM64 packets by @ymatrix1 in #4829
– docs: record hardware PM4 packet decode coverage for Black Flag by @ymatrix1 in #4830
– tests: pin Black Flag 32^3 R8 3D mip-pyramid T# decode and view refusals by @ymatrix1 in #4833
– build: gate movexec guard test on Vulkan availability by @ymatrix1 in #4834
– tools/rdna2_ref: independent RDNA2 reference interpreter with LLVM cross-check by @ymatrix1 in #4836
– gpu: record s_bfm_b64 architectural scalar data alongside lane mask (#4694) by @ymatrix1 in #4837
– gpu: step over non-SCC writers in scc_branch_is_workgroup_uniform by @ymatrix1 in #4839
– gpu: admit live EXEC mask source in scalar_source_projectable by @ymatrix1 in #4841
– recompiler: place thick-3D tail views and sample them at explicit LOD by @ymatrix1 in #4843
– recompiler: flip 3D tail refusal arms and gate storage paths (#4814 review follow-up) by @ymatrix1 in #4844
– gpu: admit a Wave64 VCC_LO cselect that reads a scalar-data VCC_HI (#4808) by @mattias800 in #4853
– gpu/recompiler: a Wave64 B32 VCC write after an unrelated merge keeps its SCC (#4846) by @mattias800 in #4854
– hle: implement AMM unmap and command-buffer destruction by @mattias800 in #4856
– video: publish Videodec2 decoded plane pitches by @mattias800 in #4859
– gpu: let the raw-wide load proof admit loops whose back edges land after the load (#4847) by @mattias800 in #4862
– test: make reallocf release checks independent of allocator reuse by @mattias800 in #4867
– gpu: preserve chroma in separately allocated tiled NV12 planes by @mattias800 in #4863
– gpu/recompiler: admit loops whose direct break leaves VCC dead at the exit (#4848) by @mattias800 in #4864
– gpu: route indexed user-config loads to the UC register file by @mattias800 in #4868
Télécharger Prosper v0.2.4 (103 Mo)
Site Officiel
En savoir plus…