Commit Graph

3404 Commits

Author SHA1 Message Date
Shokunin 4d76bedc4e HD preload: bounded contract, safe threads, explicit partial result
Both preload functions now take an aggregate decoded-byte cap and a thread
cap (runtime: 512 MiB, 4 threads). Each image is probed and its RGBA
reserved against the cap before decoding; per-image limits follow the
pack's decode budget, which is no longer grown to usage (pinned images sit
outside it, and outside the Duck 512-entry cap). The pool (texture_pack_
preload.hpp) joins every started thread on unwinding, survives thread
creation failure, and catches worker exceptions. Images not preloaded are
left to the asynchronous budgeted path instead of being marked failed, and
HdTexturePreloadResult reports loaded / over-cap / failed / worker errors
with a complete-or-partial status. The Beetle async worker no longer lets
allocation failures escape its thread entry.

Tests cover both formats: complete preload, over-cap skip with on-demand
fallback, malformed images, injected worker and thread-creation failures,
and budget reservation bounds.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 14:27:29 -07:00
Shokunin 292530569d HD textures: decode the whole pack into RAM before the game runs
Replacement images were decoded on demand by a single low-priority
worker, so a texture first seen mid-race appeared late and could be
evicted again. When replacements are on, configuring a pack now decodes
every unambiguous image (DuckStation and Beetle formats) across all
cores and pins it in RAM before the game draws; pinned images are never
evicted by the decode budget. Logs the count, size and time.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 10:37:53 -07:00
Matt Stanley 9caf4c22bf test: supply the screen-tag fixture DMA dependency (#730) 2026-10-21 14:47:02 -07:00
PeriBluGaming b285f08f16 Widescreen: honor screen_x_sites in the dirty-RAM interpreter (#728) 2026-10-21 14:45:40 -07:00
Shokunin f521768fd0 Reprojection: correct depth, two-frame warp, no un-warped fills (#724) 2026-10-21 14:45:33 -07:00
Shokunin 44a51191d9 [video] match_display_max_lines: opt-in cap on Match display height (#722) 2026-10-21 14:45:27 -07:00
yacineolivier-maker 0d1389e7d3 Overlay autocompile: compiler scratch files beside the overlay cache (#714) 2026-10-21 14:45:21 -07:00
yacineolivier-maker 5c07d42f6a Present cadence: re-probe vsync when the guest video standard changes (#713) 2026-10-21 14:45:14 -07:00
yacineolivier-maker 030a50415e Mods: named debug commands (psx_mod_register_command, TCP mod_cmd) (#711) 2026-10-21 14:45:08 -07:00
Zap0xfce2 da0c98b936 feat(runtime): MEMCARD_SLOTS for titles that only use port 1 (#704) 2026-10-21 14:45:02 -07:00
Matt Stanley e3ea739d7c Check BIOS stamps on PRs and clarify regeneration and commit guidance (#729) 2026-10-21 13:25:01 -07:00
Vulito dfe475cfd6 List both community Gran Turismo 2 projects in the refreshed games table (#725)
Co-authored-by: Matthew Stanley <1379tech@gmail.com>
2026-10-21 13:08:16 -07:00
Matt Stanley 416c9d14e8 Refresh beta README with X4 co-op and a human porting guide (#726)
* docs: refresh psxrecomp beta showcase and getting started

* docs: simplify project title and remove CI guidance
2026-10-21 12:21:21 -07:00
Matthew Stanley 958ae0e396 Document manual PSX mod authoring against the current package format 2026-10-20 15:43:47 -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