Add libogg 1.3.6 and libvorbis 1.3.7 as submodules, built from source as
hidden static libraries, and implement the 31 libvorbisfile exports on top
of them. Decoder state lives in a host table keyed by the guest
OggVorbis_File, guest callbacks are trampolined, and vorbis_info is
returned in its LP64 layout.
Wrap test_web entrypoint in main(argv=None) with UTF-8 stream
reconfiguration using backslashreplace error handling.
Check existence of the archive module before reading, decode with
utf-8-sig to tolerate leading BOMs, validate the zip library URL match,
and catch subprocess and network errors cleanly via parser.error.
Wrap the package_release entrypoint in main(argv=None) with UTF-8
stream reconfiguration using backslashreplace error handling.
Catch RuntimeError, ValueError, and OSError in main and report them
via parser.error rather than propagating unhandled tracebacks. Guard
missing CMakeCache in windows_runtime and non-directory documentation
sources in collect_docs with descriptive errors.
tools/hw-oracle needed Linux with ROCm, so Windows measurements went
through private runners. oracle_hip.py assembles and links template.s
kernels with the driver's amd_comgr and dispatches them with its HIP
runtime, with the same rows, padding, dispatch splitting and report as
oracle.c. hw_oracle.py selects it with HW_ORACLE_RUNTIME, by default on
Windows, and loads it in-process so the DLLs are loaded once per run.
The driver's comgr 2.9 numbers its assemble and link actions 0x8 and
0x7, not 0xA and 0x9, so each step tries both and keeps the one that
returns exactly one output of the expected kind.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
shader_cache_runtime_sources configures a CMake fixture several times with a
15 s limit per configure and 180 s for the whole test. On a loaded machine a
configure takes longer than that: under a parallel build (load average ~12 on
WSL2 Ubuntu) the test timed out in 2 of 2 runs, and on an idle Windows machine
it needs about 115 s of the 180 s. Raise the limits to 120 s per configure,
60 s per version query and 600 s for the test.
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Some titles wait for a chord on their title screen: RollerCoaster Tycoon
Adventures Deluxe (PPSA17330) asks for L1 + R1. The command file already
carries a button bit field, but the helper accepted one name. Names joined
by '+' are now combined into one command; unknown names, duplicates and
release in a chord are rejected without touching the command file.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
The Windows crash report reads APS5_CRASH_STACK_BYTES through
EnvironmentNumber, which env_reference did not recognize, so the name had
no row in docs/dev/ENVIRONMENT.md and neither the reference check nor the
conventions check reported it. Recognize the reader as an integer reader
and add the row.
A mistyped --root (or running from another directory) was skipped silently,
so --check reported every documented name as stale.
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>