Skip to content

Current Change Register

OpenAI Codex edited this page Nov 1, 2026 · 1 revision

Current change register

Reviewed: 2026-11-01 · Source: b7140848 · Availability: current main; release differences are explicit below.

This register covers all 43 merged PRs after the September 26 snapshot through reviewed main. It includes tests, documentation, diagnostics, removals and runtime work:43 merges do not mean43 features or speedups.

Current source is139 commits beyond the September snapshot; the latest stable is103 commits and35 of these merges behind. Those are version-distance counts, not performance measurements. Full comparison.

Included in latest stable means its source contains the merge; the first earlier stable release was not independently determined. Main only means no latest-stable availability claim. Release guide. Earlier delivered mechanisms are in Implemented. The machine-readable owner record is .wiki/current-changes.json in the wiki Git repository.

PR / change Availability Mechanism and user problem Default / apply / platform Evidence / limits Read next
#182 — apu: Resample mono voices as one channel included in latest stable Mono processing duplicated input and resampler work. One resampling channel for mono, duplicate output afterwards; sinc retained. Automatic; no new toggle
Apply: Automatic at the next applicable operation; existing guards remain
Platform: Audio platforms
Historical workload evidence only; no November game speedup attributed.
Limits: No new November-main native performance measurement.
Technical page
#183 — audio: Enable the DSP JIT by default included in latest stable Users otherwise selected the existing JIT manually. DSP JIT is the fresh selection default; saved false remains false. audio.use_dsp_jit=true; saved false preserved
Apply: Engine preference applied at an audio frame boundary
Platform: Audio platforms
Default selection is delivered; all-title PCM/hardware parity remains bounded.
Limits: Default selection does not establish all-title PCM or hardware parity.
Technical page
#268 — xui: Remove experimental Shader Browser stages from main included in latest stable Experimental Shader Browser stages were unsuitable for current product. Remove menu, product files and SQLite/override integration. Feature absent
Apply: Removal already present in reviewed stable and main
Platform: All
Removal; historical prereleases are not current availability.
Limits: Old user databases/prereleases do not restore current-main UI.
Technical page
#269 — ci: Use tracked xemu version for untagged release builds included in latest stable Tagless builds lacked a reliable product identity. Use tracked xemu version in release builds. Tracked version used by eligible builds
Apply: At build/package generation
Platform: All supported builds
Build traceability; no runtime speedup.
Limits: Build identity does not improve emulator runtime.
Technical page
#267 — nv2a: reconcile PTIMER semantics and queue scheduling included in latest stable PTIMER semantics and scheduling needed reconciliation. Reconcile clock/deadline/queue behavior without claiming a faster guest clock. Automatic
Apply: Automatic at the next applicable operation; existing guards remain
Platform: NV2A, both renderers
Timer correctness, not a clock-speed optimization.
Limits: Timer semantics are not guest-clock speedup evidence.
Technical page
#265 — nv2a: Remove the prior issue #149 suppression workaround included in latest stable Old Ghoulies suppression workaround masked rendering. Remove the earlier issue149 suppression workaround. Automatic removal
Apply: Automatic at the next applicable operation; existing guards remain
Platform: Both renderers
Paired with semantic DOT_ZW correction; not independent speedup.
Limits: Workaround removal is separate from frame-exact transient validation.
Technical page
#271 — nv2a: decouple PGRAPH interrupt controls from renderer work included in latest stable PGRAPH control accesses could wait behind renderer work under BQL. Decouple interrupt/control work and preserve timely PTIMER responsiveness. Automatic
Apply: Automatic at the next applicable operation; existing guards remain
Platform: Shared NV2A interrupt/control implementation, both backends
Active Def Jam match; about13.8min, exit0; planned1h/OpenGL/save-load not completed.
Limits: Only the recorded Windows Vulkan path; planned hour, GL and save/load incomplete.
Technical page
#264 — nv2a: Implement DOT_ZW depth replacement for issue #149 included in latest stable Ghoulies DOT_ZW depth output was incorrect. Validate stages and implement depth replacement with normalized fragment modules. Automatic
Apply: Automatic at the next applicable operation; existing guards remain
Platform: Both renderers
Owner observed correction; issue149 closure does not supply missing frame-exact transient proof.
Limits: Owner correction observed; frame-exact transient comparison remains unproved by issue closure.
Technical page
#279 — xui: avoid Input-tab crash without a bound controller main only at this review Input tab could dereference an absent physical provider. Keep configuration usable without a bound controller. Automatic
Apply: Automatic at the next applicable operation; existing guards remain
Platform: Input UI
Null-provider crash repair; no snapshot topology guarantee.
Limits: Does not reconstruct all controller topology on snapshot restore.
Technical page
#295 — docs: update benchmark README with external evidence links main only at this review Product benchmark summary and evidence were hard to find. Publish October cumulative comparison in README with evidence links. Documentation only
Apply: Read the current record; no process setting
Platform: Windows and Deck recorded cohorts
48 attempts; includes Deck PGR2 regression; not November-main attribution.
Limits: October tested builds differ from November main; Deck regressions retained.
Technical page
#256 — nv2a: Crop bordered OpenGL cubemap mips by level main only at this review Bordered OpenGL cubemap mips used the wrong crop dimensions. Crop applicable levels by their actual border and mip size. Automatic
Apply: Automatic at the next applicable operation; existing guards remain
Platform: OpenGL
Applicable cubemap correction, not every compressed-border case.
Limits: Does not cover every compressed-border format.
Technical page
#298 — nv2a: revalidate OpenGL texture DMA sources main only at this review Unchanged handles hid texture/palette DMA source changes. Revalidate source identity before OpenGL binding reuse. Automatic
Apply: Automatic at the next applicable operation; existing guards remain
Platform: OpenGL
Correctness under remapping; no standalone game gain inferred.
Limits: No standalone game throughput attribution.
Technical page
#187 — apu: Reuse unchanged decoded ADPCM blocks main only at this review Identical ADPCM blocks were repeatedly decoded across callbacks. Owned per-voice decoded-block cache compares fresh encoded bytes/configuration. Automatic
Apply: Automatic at the next applicable operation; existing guards remain
Platform: APU voices
No repeatable final native game gain; retained PGR2 tail costs.
Limits: No repeatable final native gain; PGR2 tail costs remain.
Technical page
#190 — apu: Cache live SGE descriptor RAM mappings main only at this review Descriptor reads repeated RAM mapping work. Retain bounded live SGE descriptor mappings; read current values. Callback-local guarded reuse
Apply: Automatic at the next applicable operation; existing guards remain
Platform: APU RAM; fallback for other mappings
Component savings; accepted stack has adverse Morrowind evidence in issue310.
Limits: Issue310 retains Morrowind cadence/tail losses for the mapping stack.
Technical page
#275 — apu: bound ADPCM sample-memory reads to RAM cache spans main only at this review ADPCM payload reads repeated translations. Reuse bounded payload RAM spans while reading current bytes. Callback-local guarded reuse
Apply: Automatic at the next applicable operation; existing guards remain
Platform: APU RAM; non-RAM fallback
Partial span work only; issue310 native regression retained.
Limits: Full span engine/SIMD conversion is not implemented; issue310 remains.
Technical page
#303 — tests/apu: qualify production resampler state fixtures main only at this review Resampler-state coverage did not exercise production paths sufficiently. Production state/throughput fixtures characterize completion and source behavior. No runtime setting; fixture only
Apply: When the test is invoked; no product behavior change
Platform: Host fixtures
Test coverage; known finite-source behavior is not repaired by a passing fixture.
Limits: Fixtures characterize inherited finite-source behavior rather than repairing all of it.
Technical page
#305 — apu: Recheck voice worker completion after condition wakes main only at this review Condition wakes could be mistaken for completed voice jobs. Recheck worker completion predicates after wakes. Automatic
Apply: Automatic at the next applicable operation; existing guards remain
Platform: APU worker threads
Reliability repair; no invented FPS percentage.
Limits: No independent FPS percentage inferred.
Technical page
#302 — nv2a: validate offline Vulkan finish attribution main only at this review Vulkan finish reasons lacked qualified offline attribution. Validate read-only finish analysis and its measurement contract. Off unless explicitly invoked
Apply: Offline or paused-process workflow with declared inputs
Platform: Retained trace inputs
Attribution tooling; not a runtime speedup.
Limits: Offline trace attribution does not measure exclusive GPU/frame time.
Technical page
#274 — tests/nv2a: retain deterministic PGRAPH/PTIMER contention coverage main only at this review PGRAPH/PTIMER lock interaction lacked deterministic coverage. Production contention controls exercise completion/locking boundaries. No runtime setting; fixture only
Apply: When the test is invoked; no product behavior change
Platform: Xbox test workload
Detects regressions; not game performance evidence.
Limits: Test coverage is not evidence of game acceleration.
Technical page
#292 — audio: qualify read-only ownership inspector main only at this review Audio ownership diagnosis lacked bounded source-matched tooling. Read-only Linux GDB inspector for attached paused processes and matching DWARF. Off unless explicitly invoked
Apply: Offline or paused-process workflow with declared inputs
Platform: Linux GDB
Ownership snapshot; no PCM/audibility proof.
Limits: Requires already-attached paused process/matching DWARF; no audibility proof.
Technical page
#257 — ui: Add typed Advanced tweak policy resolver main only at this review Requested/effective settings and restart state could diverge silently. Typed policy resolver and owned status publication; existing toggles stay Boolean. Preserves saved Boolean requests
Apply: Live profile publication for live controls; process-start choices remain latched until restart
Platform: Applicable controls/backends
Infrastructure landed; #258/#314 CLI/evidence consumers remain unmerged.
Limits: Boolean UI remains Boolean; branch-only#314/#258 consumers absent.
Technical page
#200 — audio: Default Auto voice workers to four main only at this review Auto could create too many voice workers. Resolve Auto from logical CPUs with minimum1, cap4; explicit1–16 remains. Auto(0) resolves1–4; explicit1–16
Apply: Quit and restart xemu
Platform: Host voice workers; normal sinc
Independent of held linear converter#189; not multiple Xbox CPUs.
Limits: Restart required; not guest multi-CPU emulation or linear-resampler delivery.
Technical page
#282 — nv2a/vk: preserve read-only depth and stencil ownership main only at this review Read-only depth/stencil access could lose authoritative GPU ownership. Preserve read-only ownership before consumer work. Automatic foundation
Apply: Automatic at the next applicable operation; existing guards remain
Platform: Vulkan
Foundation delivered; runtime consumer#290 held.
Limits: Does not activate held end-to-end consumer#290.
Technical page
#283 — nv2a/vk: upload unscaled surfaces directly on Linux main only at this review Applicable Linux unscaled uploads used avoidable blits. Upload eligible unscaled surfaces directly. Automatic eligible route
Apply: Automatic at the next applicable operation; existing guards remain
Platform: Linux Vulkan
Bounded path, not general zero-copy or Windows qualification.
Limits: Linux unscaled eligibility only; not general zero-copy.
Technical page
#284 — nv2a/vk: retain byte-identical depth images across alias views main only at this review Byte-identical depth aliases could discard reusable storage. Retain compatible images with ownership/version checks. Automatic foundation
Apply: Automatic at the next applicable operation; existing guards remain
Platform: Vulkan
Retention foundation; no claim that full#290 consumer shipped.
Limits: Retention foundation does not ship the entire alias proposal.
Technical page
#286 — nv2a/vk: map packed depth aliases using guest Morton layout main only at this review Packed depth aliases require guest addressing, not host linear assumptions. Map guest Morton layout. Foundation present; held consumer not active
Apply: No consumer activation by a user switch
Platform: Vulkan
No runtime caller for held conversion consumer.
Limits: Mapping helper lacks runtime activation for held consumer.
Technical page
#287 — nv2a/vk: bound packed depth alias compute dispatch main only at this review Packed depth work needs bounded dispatch. Bound depth-alias compute dispatch. Foundation present; held consumer not active
Apply: No consumer activation by a user switch
Platform: Vulkan
Dispatch bounds do not prove game benefit.
Limits: Bounded dispatch is not a game speedup measurement.
Technical page
#288 — nv2a/vk: qualify read-only depth aliases and buffer extents main only at this review Depth alias buffers and extents need independent qualification. Add read-only alias/extent correctness coverage. Tests and foundation checks
Apply: Automatic at the next applicable operation; existing guards remain
Platform: Vulkan
Qualified boundaries; consumer#290 remains held.
Limits: Qualification is limited to declared extents/oracles.
Technical page
#289 — nv2a/vk: record bounded GPU depth alias conversion main only at this review Depth conversion needs an ordered recorder. Record bounded GPU depth-alias conversion. Foundation present; held consumer not active
Apply: No consumer activation by a user switch
Platform: Vulkan
Recorder present; end-to-end GPU-resident aliases not activated.
Limits: No runtime caller for the held conversion consumer path.
Technical page
#335 — nv2a/vk: stop polling pending pipeline jobs main only at this review Pending shader jobs caused zero-deadline polling. Wake on compiler completion; retain retries where required. Automatic
Apply: Automatic at the next applicable operation; existing guards remain
Platform: Vulkan compiler
Accepted2.40% texture-tail tradeoff in recorded cohort.
Limits: Accepted2.40% texture-tail tradeoff; recorded comparison/oracle limits retained.
Technical page
#337 — docs: judge performance PRs by overall game outcomes main only at this review Leaf thresholds obscured overall useful game outcomes. Document cadence/tail/CPU/correctness acceptance policy. Documentation only
Apply: Read the current record; no process setting
Platform: All evaluations
>1% disclosure, not arbitrary per-leaf veto; runtime performance N/A.
Limits: Policy is documentation, not new runtime evidence.
Technical page
#336 — nv2a/vk: defer live fallback-family compilation main only at this review Speculative live family work could compete with active play. Learn demand for future launches; optional admission uses launch-loaded history. Current hybrid policy
Apply: Automatic at the next applicable operation; existing guards remain
Platform: Vulkan
Seeded-history candidate black image/stopped flips retained; later pass does not erase it.
Limits: Seeded candidate black image/stopped flips remains unresolved; later pass does not erase it.
Technical page
#338 — tests: wait for async compiler result publication main only at this review Async compiler test checked results before publication. Wait for actual compiler-result publication. No runtime setting; fixture only
Apply: When the test is invoked; no product behavior change
Platform: Host shader tests
Synchronization coverage, no runtime speedup.
Limits: Test synchronization repair only.
Technical page
#360 — tests/nv2a: keep GL lifecycle fixtures within stack limits main only at this review Large GL fixture objects exceeded stack limits. Move bounded fixture state to owned heap storage. No runtime setting; fixture only
Apply: When the test is invoked; no product behavior change
Platform: GL lifecycle fixtures
Fixture robustness; no product behavior change.
Limits: Fixture heap allocation has no product runtime delta.
Technical page
#361 — tests/nv2a: scope Xbox build flags to production fixtures main only at this review Production Vulkan fixtures lacked scoped Xbox build flags. Apply Xbox flags only to intended fixture dependencies. No runtime setting; fixture only
Apply: When the test is invoked; no product behavior change
Platform: Host build
Build coverage; no new emulation functionality.
Limits: Scoped fixture flags do not alter product defaults.
Technical page
#364 — tests/apu: link KVM stubs into memory fixtures main only at this review APU memory fixtures lacked KVM stub linkage. Link required KVM stubs into relevant fixtures. No runtime setting; fixture only
Apply: When the test is invoked; no product behavior change
Platform: Host build
Build coverage only.
Limits: Linkage repair does not validate native KVM emulation.
Technical page
#369 — tests: Observe APU worker wakeups across LTO main only at this review LTO bypassed an ineffective worker-wake observation hook. Observe actual pthread wake boundaries. No runtime setting; fixture only
Apply: When the test is invoked; no product behavior change
Platform: APU host fixture
Measurement integrity; no scheduler change.
Limits: Observation integrity does not change the scheduler.
Technical page
#368 — tests: isolate Vulkan ownership GPU hooks under LTO main only at this review LTO made GPU-boundary fixture hooks unreliable. Isolate production ownership hooks under LTO. No runtime setting; fixture only
Apply: When the test is invoked; no product behavior change
Platform: Vulkan host fixture
Retains real ownership assertions; not native GPU qualification.
Limits: Host LTO fixture repair is not native GPU qualification.
Technical page
#371 — tests: iterate the attached AIO source context main only at this review AIO tests iterated the wrong GLib context. Iterate the context attached to the AIO source. No runtime setting; fixture only
Apply: When the test is invoked; no product behavior change
Platform: Xbox host test driver
Repairs a fixture hang; generic suite limits remain explicit.
Limits: Does not repair all generic character/WebSocket coverage.
Technical page
#374 — tests: give file-monitor worker its Xbox loop context main only at this review File-monitor worker lacked the Xbox context/lock it polled. Transfer context ownership and loop-lock lifecycle to the worker. No runtime setting; fixture only
Apply: When the test is invoked; no product behavior change
Platform: Xbox host test driver
Normal handoff covered; abnormal-stop/join limitations remain.
Limits: Existing abnormal-stop/join limitations remain.
Technical page
#375 — tests: drain retired views before SGE reference baseline main only at this review Deferred RCU retirements changed owner reference baseline. Drain earlier retired views before exact leak-check baseline. No runtime setting; fixture only
Apply: When the test is invoked; no product behavior change
Platform: APU SGE fixture
Deterministic false-failure repair; leak negative control retained.
Limits: Repairs a test baseline race, not emulated APU behavior.
Technical page
#191 — apu: Snapshot callback-local voice sample format main only at this review CFG_FMT fields repeated the same read within one callback. Decode an immutable callback-local voice format once. Automatic callback-local preparation
Apply: Fresh object at every voice_get_samples callback
Platform: APU voice callback
Narrow landing; no persistent envelope/control cache or universal game gain.
Limits: No persistent cache of envelopes, routing or guest control writes.
Technical page
#296 — tcg: Generate hard-FPU FNSTSW AX with preserved checkpoints main only at this review Hard-FPU FNSTSW AX used avoidable helper work and needed correct checkpoints. Generate status extraction within existing hard-FPU mode, retaining IP/checkpoint/rounding behavior. perf.hard_fpu=true on supported x86_64
Apply: Select existing hard-FPU policy, then restart xemu
Platform: Supported x86_64; ARM branch not landed
Focused77.837–79.144% status-time reductions; PGR2 whole-window cadence−0.748%; context failures retained.
Limits: 20 retained context FAIL/ineligible records; direct pre-resume state missing; modest game cost retained.
Technical page

Review contract

Presence, release availability, default/apply behavior, validation and measured benefit are separate fields. Unknown gains remain unknown. The record retains source/PR, owner, reviewed date, source paths and limitations; publication checks compare this table with the records. Use Measured results, Controls and Maintenance for interpretation.

Clone this wiki locally