Commit Graph

3392 Commits

Author SHA1 Message Date
Shokunin cb17f2f2d4 Windows GL vsync workaround: scope to the measured case
Narrow host_driver_vsync_unreliable() on Windows to the configuration the
stall was measured on: GL active, render thread running, GL_VENDOR NVIDIA,
not exclusive fullscreen. Other driver families and the unthreaded path
keep driver vsync; PSX_TRUST_DRIVER_VSYNC=1 still forces it everywhere.
Evaluated per call, so runtime renderer/fullscreen changes apply.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 14:17:33 -07:00
Shokunin 594b507efd Windows GL: wall-clock pacing instead of driver vsync unless exclusive
Windowed or borderless, DWM composes the window and owns the display's
vsync, so a driver swap interval only adds a stall. On NVIDIA (RTX 4080
SUPER, 610.88) a vsync'd SwapBuffers holds the GPU queue the render
thread submits to: every render-thread frame cost a full refresh
(16.7 ms "GPU" at any internal scale, render_busy 100 %), back-pressure
slowed the guest to 52-57 Hz, and dynamic resolution dropped for
nothing. Measured on R4 0.8 at 7680x4320, windowed and borderless: guest
60.0 Hz, render_busy 5-8 %, GPU 4.4 ms. Exclusive fullscreen keeps
driver vsync; PSX_TRUST_DRIVER_VSYNC=1 restores it everywhere.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 16:02:19 -07:00
Matt Stanley fe8d937d69 Merge pull request #702 from RetroPortingToolKit/feat/shared-title-release
One shared title release command with a required channel
2026-10-19 20:57:04 -07:00
Matthew Stanley 56a6cfe782 Add one shared title release command with a required channel
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-19 20:46:47 -07:00
Matt Stanley 449c31e502 Merge pull request #701 from RetroPortingToolKit/fix/session-restart-no-debug-tools
Guard session_restart debug command in no-debug-tools builds
2026-10-19 18:27:39 -07:00
Matthew Stanley 665f7eb823 Guard session_restart debug command in no-debug-tools builds
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-19 18:27:56 -07:00
Matt Stanley 54a2d5e01c Merge pull request #700 from RetroPortingToolKit/feat/diagnostics-public-release-mode
Default Playtest Diagnostics on except in public releases
2026-10-19 18:18:50 -07:00
Matthew Stanley 9e0548137a Default Playtest Diagnostics on except in public releases (PSX_PUBLIC_RELEASE)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-19 18:18:34 -07:00
Matt Stanley 916da6f80d Integrate shared disc tray with the maintained menu provider (#652) 2026-10-19 18:13:38 -07:00
Matt Stanley 40244c4423 Merge pull request #699 from RetroPortingToolKit/fix/present-sync-20261019
Preserve stock-frame VSync on high-refresh displays
2026-10-19 18:03:38 -07:00
Matthew Stanley ee9e464fd0 Preserve stock-frame VSync on faster displays 2026-10-19 18:02:47 -07:00
Matt Stanley 1698a218f0 Merge pull request #698 from RetroPortingToolKit/fix/diagnostics-ship-off-by-default-20261019
Require Playtest Diagnostics to ship off by default
2026-10-19 17:41:50 -07:00
Matthew Stanley 038ed4a078 Require Playtest Diagnostics to ship off by default
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-19 17:42:01 -07:00
Matt Stanley 9fe89fd792 Merge pull request #647: guarded mod immediates fixed until restart
Guarded mod immediates fixed until restart
2026-10-19 16:47:57 -07:00
Matt Stanley 13b7f81d29 Add guarded instruction variants fixed during offline mod activation
Keep selector zero stock and seal all choices until the next session restart. Refuse nonzero online activation, scope non-stock save states by frozen choices, and preserve original instruction guards when combined with effective-address adapters. Use overlay ABI34 on current master without the old menu dependency stack.
2026-10-19 16:37:32 -07:00
Matt Stanley 61e18aeea7 Merge pull request #656: guarded mod address adapters and card extensions
Support guarded memory adapters and persistent card extensions for game mods
2026-10-19 16:01:24 -07:00
Matt Stanley c0ffd6d4c5 Support guarded mod address adapters and atomic extended memory cards
Extract the audited adapters and card transport onto master without the held selector/menu stack. Keep adapters and codecs tied to mod activation, use overlay ABI 33, retain rejected-load protection on codec registration, and refuse extended-card codecs in netplay before frame zero. Preserve default atomic save publication and guest-visible write failures.
2026-10-19 16:00:11 -07:00
Matt Stanley abf85e50a4 Merge pull request #696 from RetroPortingToolKit/review/649-runtime-publication
Prepare newly compiled overlays on the worker and record host stalls
2026-10-19 15:05:50 -07:00
Matt Stanley bc574c5700 Isolate runtime publication and wall-time diagnostics from held mod selector stack 2026-10-19 14:07:22 -07:00
Matt Stanley 7ce88a6d48 Merge pull request #642 from RetroPortingToolKit/fix/overlay-unit-irq-starvation
overlay: deliver IRQs inside call units (polling callee starvation; LoD memcard hang)
2026-10-19 14:01:03 -07:00
Matt Stanley 422238d0fa Merge current master and qualified review fixes into PR #642 2026-10-19 14:00:58 -07:00
Matt Stanley d9df461eff Merge pull request #651 from RetroPortingToolKit/fix/aot-dispatch-entry-coverage
AOT: preserve dispatch-only entries without splitting their hosts
2026-10-19 13:09:44 -07:00
Matt Stanley 0b1f1a70e6 Merge current master and qualified review fixes into PR #651 2026-10-19 13:09:36 -07:00
Matt Stanley a5637f1fc8 Merge pull request #408 from RetroPortingToolKit/fix/issue371-utf8-codepage
Windows: UTF-8 code-page manifest for all shipped exes; wide file picker for pre-1903 (#371)
2026-10-19 13:09:30 -07:00
Matt Stanley da9029a73a Merge current master and qualified review fixes into PR #408 2026-10-19 13:09:25 -07:00
Matt Stanley 62ae0c3605 Merge pull request #670 from RetroPortingToolKit/work/prepared-content-state
Qualify prepared content identity and isolate mod save slots
2026-10-19 13:09:17 -07:00
Matt Stanley cda860fe74 Merge current master and qualified review fixes into PR #670 2026-10-19 13:09:14 -07:00
Matt Stanley dda2fd21d6 Merge pull request #645 from RetroPortingToolKit/feat/aot-prepared-images
AOT: prepared images (packed executables/overlays), disc sets, file aliases
2026-10-19 13:08:34 -07:00
Matt Stanley e4ec3926f0 Merge current master and qualified review fixes into PR #645 2026-10-19 13:08:28 -07:00
Matt Stanley 0069fdcdb3 Merge pull request #403 from RetroPortingToolKit/feat/overlay-cross-image-jal-roots
compile_overlays: root cross-image jal targets the image itself proves
2026-10-19 13:08:21 -07:00
Matt Stanley 93c2c7c098 Merge current master and qualified review fixes into PR #403 2026-10-19 13:08:14 -07:00
Matt Stanley 26c3b41be3 Merge pull request #402 from RetroPortingToolKit/fix/overlay-guard-word-requests
compile_overlays: never request code in a capture's guard word (no-func-ids)
2026-10-19 13:08:07 -07:00
Matt Stanley aa36c8bfe4 Merge current master and qualified review fixes into PR #402 2026-10-19 13:08:01 -07:00
Matt Stanley 837a67c82f Merge pull request #392 from RetroPortingToolKit/feat/overlay-root-enrichment-followup
Overlay root enrichment: default-on with a no-split guard (follow-up to #386)
2026-10-19 13:07:54 -07:00
Matt Stanley b4be0aa0f7 Merge current master and qualified review fixes into PR #392 2026-10-19 13:07:47 -07:00
Matt Stanley f12f2638ee Merge pull request #646 from RetroPortingToolKit/fix/freeze-spin-whole-window
freeze_heartbeat: no spin_freeze false positives on statically compiled code
2026-10-19 13:07:39 -07:00
Matt Stanley 98f584b450 Merge current master and qualified review fixes into PR #646 2026-10-19 13:07:33 -07:00
Matt Stanley 82062711b3 Merge pull request #669 from RetroPortingToolKit/work/windows-file-identity-fallback
Use full verification for unqualified Windows file identities
2026-10-19 13:06:47 -07:00
Zap0xfce2 1b778616b7 feat(widescreen): continue framebuffer-feedback sprites into native-wide bands (#692)
* feat(widescreen): continue framebuffer-feedback sprites into native-wide bands

Titles tag a 15-bit sprite that copies a framebuffer 1:1 (gpu_ws_tag_feedback_rect / psx_mod_tag_feedback_rect). Where it touches the draw area's edge, gpu.c emits band spans and the new optional backend op wide_feedback_rect (GL incl. render thread, software) samples the source buffer's wide surface. Band texels count as bit 15 set, as the centre does once the trail blends.

The software rasterizer now writes the texel's bit 15 into the framebuffer, and wide_full can dump the surface alpha ("alpha":1).

* fix(widescreen): quantise band feedback like packed VRAM

The centre samples 5-bit packed VRAM each frame; the band copy read the 8-bit wide surface and modulated with /128, so the bands drifted ~3 grey levels brighter and left a step at the 4:3 edge. Truncate like PACK_FS and modulate like TEX_FS.

* Reject fully clipped sprites before extending feedback margins

* Complete isolated resident and PGXP fixture collaborators

* Preserve existing line endings in the review fixes

---------

Co-authored-by: Matthew Stanley <1379tech@gmail.com>
2026-10-19 11:44:13 -07:00
Matt Stanley 282a72e3bd Merge pull request #691 from maliquem/fix/mdec-busy-drain
mdec: keep status bit 29 set until decode output is down to one OutFIFO load
2026-10-19 11:44:07 -07:00
Matt Stanley ac71aec441 Merge pull request #685 from boburning/fix/portable-generated-texture-defaults
Keep runtime-generated texture-pack defaults portable across installs
2026-10-19 11:44:00 -07:00
Matt Stanley 01564fa71e Merge pull request #680 from Alexbeav/fix/ps1b526-same-thread-rfe-k0-20261017
interrupts: retain handler k0 on qualified same-thread RFE
2026-10-19 11:43:54 -07:00
Matt Stanley c159a94cc6 Merge pull request #679 from Alexbeav/fix/ps1b526-digital-pad-command-id-20261017
sio: preserve digital pad ID when rejecting a command
2026-10-19 11:43:48 -07:00
Matt Stanley a5db252c3f Merge pull request #676 from zap0xfce2/feat/ws-screen-x-sltu-band
feat(widescreen): screen_x_sites band form for sltu with the width in a register
2026-10-19 11:43:40 -07:00
Matt Stanley 16f0e60858 Merge pull request #695 from zap0xfce2/docs/kuseg-kula-validation
docs(segment): Kula World KUSEG validation
2026-10-19 11:10:39 -07:00
Matt Stanley 02173a5e24 Merge pull request #694 from zap0xfce2/fix/cli-musl-toolchain-bios-stamp
fix(cli): write the BIOS emitter stamp after generate --bios (#672, part 2)
2026-10-19 11:10:33 -07:00
Matt Stanley 036515495f Merge pull request #693 from zap0xfce2/fix/portability-musl-build
fix: musl and macOS build portability (#672, part 1)
2026-10-19 11:10:26 -07:00
Matt Stanley c24a236c4d Merge pull request #678 from Alexbeav/fix/ps1b526-cycle-fixture-link-20261017
tests: refresh isolated clock and optional-netplay fixtures
2026-10-19 11:10:17 -07:00
Zap0xfce2 63dd12b602 docs(segment): record the Kula World KUSEG validation 2026-10-19 19:44:13 +02:00
Zap0xfce2 9de74475b3 fix(cli): write the BIOS emitter stamp after generate --bios
regen_bios_profile now records generated/<out_stem>.emitter.sha via tools/bios_emitter_fingerprint.cmake, like tools/regen_bios.sh, so the next configure does not report the fresh BIOS as STALE.
2026-10-19 16:38:41 +02:00