Commit Graph

2108 Commits

Author SHA1 Message Date
Matthew Stanley a4e0bc2933 Merge diagnostic release package validation while preserving Gex fidelity fixes 2026-10-17 14:05:24 -07:00
Matthew Stanley 444264f2aa Restore retail-only setup packaging and audit diagnostic release ZIPs 2026-10-17 14:04:52 -07:00
Matthew Stanley 19f9a38182 Merge standalone diagnostics test-registration qualification for Gex
Retain Gex fidelity and the shared diagnostics runtime while bringing in
the validated standalone-fixture registration guard.
2026-10-17 13:19:20 -07:00
Matthew Stanley 309b5cdd1d Recognize the standalone diagnostics test registrations 2026-10-17 13:18:56 -07:00
Matthew Stanley c82c5bb283 Merge final diagnostics lifecycle and packaging fixes for Gex
Preserve the qualified Gex fidelity history while incorporating independent
input display, clean recording-session boundaries and setup-host replay tools.
2026-10-17 13:14:46 -07:00
Matthew Stanley 4a7a8d54ac Keep diagnostic display independent and stage setup replay helper 2026-10-17 13:13:02 -07:00
Matthew Stanley 85f5ec6f82 Merge shared playtest diagnostics while preserving Gex fidelity
Retain the eight title-qualified Gex framework commits alongside the current
shared diagnostics implementation. Other requested titles use the shared
diagnostics pin without these title-specific additions.
2026-10-17 13:05:25 -07:00
Matthew Stanley 09221b8263 Share bounded playtest diagnostics and isolated verified replay 2026-10-17 13:04:46 -07:00
Matthew Stanley 6bc150c85c Restore device profiles when developer pad injections finish 2026-10-17 09:53:22 -07:00
Matthew Stanley cf9bf1f9fd Allow developer pad injections to exercise serial hotplug 2026-10-17 09:40:22 -07:00
Matthew Stanley fedb5319d2 Support scoped modern controls and replay controller presence
Keep temporary keyboard profiles separate from saved bindings. Add optional persistent mouse capture with ordered release/focus/reset handling, and let offline sources represent an unplugged port without falling back to physical input. Existing capture and source defaults remain intact. Beads: beads-9wg8 and beads-eio.19.18.
2026-10-17 09:19:31 -07:00
Matthew Stanley 8bee2b14f2 Resume CD reads at the paused drive position
Preserve new Setloc targets and explicit seeks. Serialize the pending-location flag in a validated CDF3 extension while retaining CDF2 and legacy state readers. Covers ReadN/ReadS pause, repeated resume, seeks and state restores. Beads: beads-cgvd.
2026-10-17 09:18:17 -07:00
Shokunin b279afdc4a In-game presets: draw-thread-safe callbacks and a coherent menu seed
P1: quality_launcher_apply is now a pure preset -> rows mapping
(psxq::rows_from_runtime plus startup constants); it never writes the live
globals. The in-game menu publishes only thread-safe callbacks: that
mapper, and a re-detect that returns this session's detection (a fresh
probe needs the GL context and mutates the run's state, so it stays in the
pre-game launcher). Summary/reason strings and the detection are fixed on
the main thread at menu setup; settings_get reads only the main-thread
snapshot.

P2: psxq::MenuSelection keeps what the player selected versus what is live.
A pick's next-launch rows and netplay-deferred rows stay selected for the
next seed until the live value matches; other rows follow live. The host
classification moves to psxq::classify_launcher/row_differs (same rules).

Tests: quality_presets_test test_ingame_menu_host_path runs the review's
fixture through the host get/pick/apply/save path (Ultra -> High, then
Antialiasing = NONE; a governed edit is still Custom from High; a netplay-
deferred row stays selected). menu_quality_callbacks_test guards the
draw-thread callbacks against runtime writes and stateful calls.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 19:09:49 -07:00
Shokunin aaeefc59f1 In-game menu: the Graphics preset row (same contract as the launchers)
mh_launcher_game_info publishes the presets (quality_fill_game_info),
mh_launcher_settings_get seeds the preset and the governed rows as in
force, and an applied menu change goes through quality_take_launcher, so
a pick or a governed edit is settled by the same save transaction
(settle_save) as the launchers. Shown rows apply live; preset-only keys
at the next launch.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 14:53:45 -07:00
Matt Stanley 379565a6ff Merge pull request #673 from RetroPortingToolKit/feat/texture-filter-catalog
Launcher handoff: hand every frontend the texture-filter catalog
2026-10-15 13:56:46 -07:00
Matthew Stanley 50958497c4 Integrate merged experimental wheel support before preset validation 2026-10-15 13:49:46 -07:00
Matthew Stanley a6ee3aa062 Integrate current master and canonical BIOS stamp for PR609 validation 2026-10-15 13:40:27 -07:00
Shokunin 8be777f1f1 quality presets: a supported key set, host-side Custom classification
- [quality.*] accepts only the supported keys (quality_key_supported):
  twelve player-editable ones (masked, copied, classified, applied) and
  nine preset-only ones (no settings.toml form; applied on select). Any
  other key, e.g. vsync or renderer, is a load error.
- Picking a preset now also applies bloom, texture LOD, anisotropy, FMV
  chroma smoothing and dithering (quality_apply_video_globals).
- The frontends flag Custom on any tracked row; the host counts only rows
  of keys the title governs (psxq::launcher_custom_edit), so Antialiasing
  no longer turns Ultra into Custom when no preset sets it.
Tests cover the rejection, every player key's masking/copy, and the
classification cases.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 10:57:27 -07:00
Shokunin c9c49c64d7 Launcher handoff: the texture-filter catalog for every frontend
Hands the launcher game info (pre-game launcher, soft return, and the
in-game menu's launcher_game_info) the [video] texture_filtering
vocabulary {Nearest, Bilinear, xBR} = PSX_TEXTURE_FILTER_{0,1,3}, so
frontends keep xBR across startup and soft return instead of collapsing
it to Bilinear. Needs a recomp_launcher.h with
RECOMP_LAUNCHER_HAS_TEXTURE_FILTER_CATALOG (recomp-ui); without it this
is a no-op.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 10:56:41 -07:00
Matthew Stanley 6d3c5308a7 Integrate current master and canonical BIOS stamp for preset re-review 2026-10-15 08:34:17 -07:00
Matthew Stanley 9f88c128f4 Preserve the selected preset base when launcher edits become Custom 2026-10-15 08:33:23 -07:00
Shokunin ab49f294e9 quality presets: one preset/key-ownership transaction for every settings save
The boot launcher, soft-return launcher and the in-game menu's live
settings now save settings.toml through psxq::settle_save:
- a one-run PSX_QUALITY override never persists: governed keys and the
  quality_* keys come from disk, so the previous preset or Custom values
  survive even when the boot seed was built empty;
- a governed live edit (psxq::live_edit) or launcher Custom becomes
  Custom from the current base, with the edited values, and survives
  restart instead of being masked away;
- a launcher pick records the preset; unrelated edits keep it.
Tests reproduce both review cases through a settings.toml round trip.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 01:05:25 -07:00
Matt Stanley b6835b6773 Merge pull request #667 from RetroPortingToolKit/work/prepared-resource-overlays
Support verified prepared resources as disc overlays
2026-10-15 00:51:10 -07:00
Matthew Stanley d110d0a423 Integrate current master for reviewed PR597 and retain canonical BIOS stamp 2026-10-15 00:36:07 -07:00
Matt Stanley d550ddf2e9 Merge pull request #590 from RetroPortingToolKit/feat/idle-skip-store-counters
idle_skip: elide store-counter wait loops (PsyQ v_wait), opt-in
2026-10-15 00:34:00 -07:00
Matt Stanley bf7582bb3e Merge pull request #666 from FractalEngineer/feat/vr-hud-surfaces
Add isolated render capture and head-facing surfaces for VR HUDs
2026-10-15 00:33:52 -07:00
Matt Stanley 9521343200 Merge pull request #664 from RetroPortingToolKit/fix/menu-host-followups
Menu host follow-ups: restart bits for touched groups, local return, recomp-ui default provider
2026-10-15 00:33:44 -07:00
Matthew Stanley 99a3a722a3 Respect diagnostic replay clock-only semantics in the timing fixture 2026-10-15 00:23:25 -07:00
Matthew Stanley ca2978acd1 Check scaled charge service observations during replay and conservative execution 2026-10-15 00:22:12 -07:00
Matthew Stanley fd6b89ccc7 Resolve verified resource slices as disc overlays 2026-10-15 00:18:30 -07:00
Matthew Stanley 08076d8703 Integrate current master for reviewed PR666 and retain canonical BIOS stamp 2026-10-15 00:00:15 -07:00
Matthew Stanley 981c54e8d6 Integrate current master for reviewed PR664 and retain canonical BIOS stamp 2026-10-15 00:00:12 -07:00
Matthew Stanley d946aec09a Integrate current master for reviewed PR597 and retain canonical BIOS stamp 2026-10-15 00:00:06 -07:00
Matthew Stanley 80674e4d9f Integrate current master for reviewed PR593 and retain canonical BIOS stamp 2026-10-14 23:59:50 -07:00
Matthew Stanley 2d2c1849f3 Integrate current master for reviewed PR591 and retain canonical BIOS stamp 2026-10-14 23:59:13 -07:00
Matthew Stanley e0800a28e0 Integrate current master for reviewed PR590 and retain canonical BIOS stamp 2026-10-14 23:58:57 -07:00
Matthew Stanley 224d6d1273 Validate isolated render capture restoration and buffer rejection 2026-10-14 23:54:01 -07:00
Matthew Stanley d30da497ea Exercise XR HUD compositing through the real GL submission fixture 2026-10-14 23:51:51 -07:00
Matthew Stanley dfd4555d09 Include fixed scaled-charge batching profile in netplay compatibility 2026-10-14 23:51:49 -07:00
Matthew Stanley 2947916215 Detect active gamepad sessions without hijacking Deck Desktop Mode 2026-10-14 23:49:26 -07:00
Matthew Stanley 28e12c7372 fix(gpu): retain wide composites when internal resolution changes 2026-10-14 14:25:24 -07:00
Yves 99dd1eee46 Add head-facing billboard surfaces with shared stereo orientation 2026-10-15 05:17:38 +08:00
Yves 890fed78f5 Add frame-local positioned RGBA surfaces to stereo rendering 2026-10-15 05:17:37 +08:00
Yves 062d6e39e0 Add isolated render capture with staged RGBA readback 2026-10-15 05:17:37 +08:00
Shokunin 9575de1ad8 psx_menu_host.h: feature macro for default_selection
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 12:17:30 -07:00
Shokunin c3a2f2c068 Menu host follow-ups: restart bits for touched groups, local return, default provider
- Restart bits: a group waits only when the edit touches it (next differs
  from the live value) and the result differs from boot. Dynamic
  resolution moves the live internal resolution off boot, so an in-game
  texture filter change relaunched the game. test_menu_video_snapshot
  covers both cases.
- Return to the frontend from a local game opens the launcher as at
  boot; only a lobby match start (the runtime's pending-launch exit, or
  the provider's lobby view asking once its match started) keeps the
  launch and resumes the room.
- Default provider: with no title choice, the UI library's provider is
  used when it ships one (recomp_ui_psx_menu.h), so recomp-ui stays the
  default; PsxMenuHost.default_selection tells it to keep the title's
  default presentation.
- Debug: menu_host reports provider, open, pause, capture and snapshot.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 12:17:18 -07:00
Matthew Stanley a36754b7ee feat(renderer): allow guarded opaque sprite backgrounds in native wide 2026-10-14 12:11:10 -07:00
Matt Stanley d3db61b199 Merge pull request #598 from RetroPortingToolKit/feat/host-pause
Host pause API (in-game overlay P1)
2026-10-14 11:55:36 -07:00
Matthew Stanley f4c5d6c93f Draw paused host menus even before the first held game frame 2026-10-14 11:47:04 -07:00
Matt Stanley 12152ecc77 Merge pull request #661 from RetroPortingToolKit/fix/depth24-hold-vblank
GPU: count the depth24 present hold down at guest VBlank
2026-10-14 11:33:00 -07:00