Skip to content

Upstream Contribution Evidence

OpenAI Codex edited this page Nov 1, 2026 · 2 revisions

Upstream contribution evidence and caveats

Reviewed: 2026-11-01 · Fork source: b7140848 · Upstream master checked: dc10b4ce. Release availability is separate: most candidates are merged fork changes; historical code no longer retained and open qualification work are explicitly identified below. Fork merging does not imply upstream or stable-release inclusion. Stable/main guide.

← Compact shortlist and counters. This page retains the detailed review, qualification limits and upstream overlap behind each compact row.

The compact shortlist includes a Fix / benefit column with short game/symptom or resource/cadence bullets. Labels summarize the evidence below: a named title does not expand a bounded reproduction into an all-title fix, and proposed repairs retain HOLD.

Counter scope and exceptions

The compact page reuses observations from the owning fork PR descriptions. It does not benchmark current upstream or current fork main. CPU is summed process utilization; GPU is whole-device utilization, not emulator-exclusive GPU time. Source-labeled FPS in #76/#104 is kept separate from READ_3D guest rates; host presentation is not independently verified. GPU utilization growth or reduction alone is not a verdict.

  • #335/#336: Vulkan Deck PGR2 route measurements, original ABBA/BAAB boundaries. GPU 51.43→57.67% and 58.34→59.53%. #335 retains 2.40% worse texture-control tail and failed diagnostic orchestration; #336 retains the separate seeded-history black/stopped-flip failure. Neither proves equal simulation work or sustained 30 FPS.
  • #296/#191: Current owning-PR Deck PGR2 campaigns, different analysis windows. #296 uses whole-segment cadence, not its separate last-five-group rate; it retains 0.748% cadence loss, p99/max costs, isolated stalls and 20 shared context failures/ineligible leaves. #191 cadence directions disagree by order; its GL CPU-control cost is 2.475% worse.
  • #283 †: Historical game candidate 48132edc68bf versus 3ba880bb4ed1, not final upload head 4248253d. Host GPU 70.34→75.76%; p99 110.005→114.591 ms worsens 4.17%. The later focused 1x upload benefit does not qualify a whole-game gain. Windows used its unchanged scratch path and unmanaged driver cache.
  • #187 ‡: Overall medians from six runs per arm; do not pool them with blocked/alternating summaries. PGR2 p99/max costs worsen 1.716%/14.939%; Conker CPU changes reverse by phase. Absolute p99 was not reported in that summary, so the compact cell is a dash. No stable game gain is established.
  • #190 † / #275 ‡: Historical standalone versus stacked campaigns are separate. #190 Deck Morrowind p95/p99 worsen 8.52%/4.54%; Deck Conker CPU is reported only as 0.51% lower. #275 Deck Morrowind CPU 221.962→219.785%, cadence 13.010→12.676/s and p99 100.145→116.647 ms retain the regression. Its 20 retained attempts are not a complete 48-cell campaign; reused-reference limitations remain.
  • #158 †: Windows Vulkan single PGR2 pair and two-run Morrowind means, not repeatability proof. PGR2 p99 worsens 2.75%; Morrowind cadence −0.27% and p99 cost +0.04% are descriptive with content/order variation.
  • #76 †/§: The same-NVIDIA row compares prior main to candidate. The cross-GPU row instead compares NVIDIA shared output to AMD host-copy output: different GPUs/drivers and transport, not isolated patch attribution. Both adapter suites retain the inherited report-bound nonpass and 57 cross-driver hash differences; XISO timing was excluded.
  • #104 †: Two-run Windows snapshot means with materially drifting PGR2 controls. Full-start device loss remains; these favorable snapshot numbers are not a speedup or device-loss repair claim. Failed launches are not zero-FPS records.
  • #200: Six clean-upstream compiled cohorts, separate from the fork setting/current-head campaigns. The newly displayed device-GPU pairs come from the same six-row PR table as CPU/cadence/p99. Scene/progress equality and spike causes remain unresolved; retain the 9.30% worse Deck Conker p99. Original labels called the guest rate FPS, but the compact page correctly labels it guest/s.
  • #182: Only percentages are repeated: +3.530% CPU reduction and +1.968% display-write cadence from earlier head 03ab6ce5, DSP JIT off. Missing absolute counters are not reconstructed from percentages. The later lifecycle head and rejected screenshot set remain separate.

Prepare focused correctness contributions first

Fork PR Summary Improvement metrics / observed result Upstream route / overlap Readiness and remaining work
#2 Destroy the temporary probe's owned SDL GL context and hidden window before freeing its wrapper. Resource correctness: old path leaks on its first cycle; repaired 64/64 shared-context cycles, zero added windows, surviving anchor texture and OpenGL Morrowind smoke pass. FPS improvement not measured. Upstream glo_context_destroy() at dc10b4ce still detaches and frees the wrapper without either SDL destruction call. Strong small-patch candidate. Retain null handling, destruction order and the opt-in interactive lifecycle regression; verify supported SDL/platform builds on the upstream port.
#201 Unlock the voice-dispatch mutex before a worker exits after its condition wait. Reliability: reduced two-worker shutdown 3/3 timeouts → 3/3 successful joins. This is a reduced reproduction, not a full emulator lifecycle campaign or speedup. Upstream worker at dc10b4ce still returns after the wait with the mutex held. Keep distinct from dynamic-count #2280 and completion-predicate #305. Strong one-line extraction candidate with a real mutex contract. Run production one/two/multiworker teardown and supported builds; the original local full configure failed for missing GLib development files.
#121 Validate the complete RAMIN descriptor and 16-byte ZPASS report span before any stores. Correctness: 16/16 serializer boundaries + 2/2 production-wrapper cases; GL/Vulkan report.dma-range-guard PASS, matching framebuffer hash and zero Vulkan VUIDs. No game-speed result. Check upstream shared report serialization and inclusive DMA/exclusive VRAM bounds. Exact-fit acceptance and no partial write are the contribution. Strong focused bounds repair. Preserve subtraction-safe arithmetic, decoder-entry guard-page test and little-endian timestamp/result/done order.
#132 Remove PFIFO/PGRAPH inversion during renderer handoff while servicing admitted framebuffer work. Reliability: 3/3 production-linked concurrency cases; removing retry-time pending-work service times out as expected. Maintainer native Windows switching reported no deadlock or visible regression. No throughput percentage measured. Compare upstream renderer-switch locks, framebuffer leases and progress signaling before extracting this phase sequence. Useful deadlock repair with a larger lifetime contract. Retain late synchronization, lease draining, vCPU publication and repeated-switch tests; extend native lifecycle coverage.
#124 + #298 Revalidate resolved texture and palette DMA sources before Vulkan/OpenGL clean-stage reuse. Correctness: same-handle RAMIN remap stale red → required green. Vulkan fixture 3/3; later GL Windows/Deck remap cases PASS. GL Deck controls +0.03% / −0.81%; affected incorrect-parent timing is NOT COMPARABLE. Compare historical upstream #3019, closed unmerged, which checks writes to bound memory. Same-handle source relocation is a distinct invariant; review GL separately. Valuable matched backend invariant. Port each backend independently with texture/palette remaps, shared pages and irrelevant non-indexed palette controls; the GL campaign retained 11 separately fixed cubemap failures.
#127 + #256 Correct compressed cubemap face stride and OpenGL per-mip border cropping after format conversion. Correctness: #127 layout 6/6, subblock DXT1 leaf PASS on GL/Vulkan; #256 affected leaves 1/12 → 12/12, 96/96 candidate leaf-attempts, sanitizer-backed 564 uploads / 7,386 texel checks. No FPS gain inferred. Separate shared stored-layout/overflow repair from GL crop/cleanup. Review upstream border handling and #3010 upload changes for interaction. Strong correctness/test contributions, as separate patches. #256 affected timings are NOT COMPARABLE; Deck control changes −0.10% / −0.29%. Original-Xbox palette/R6G5B5 format oracles remain limited; Vulkan bordered cropping is separate open #363 below.
#76 Fall back to composed-image host copy when Vulkan and OpenGL device/driver identities cannot share external memory. Compatibility: reproduced AMD-Vulkan/NVIDIA-GL black screen → visible output, both adapter suites retain the inherited report-bound failure. PGR2 snapshot 25.390 FPS host copy vs 29.536 shared on different GPUs; this is not isolated transport cost. Compare current upstream interop/capability handling. Preserve the compatible shared path; pair with #101's generation tracking only as a separate optimization. Useful dual-GPU compatibility feature, with transfer/CPU cost. Keep UUID/extensions, GL unpack-state restoration, both-adapter validation and cross-driver hash differences visible; old XISO timing was excluded.
#10 + #123 Reject oversized array packets before any draw-state mutation, including scalar/trace/bulk-off routes. Correctness: shared atomic preflight; #123 fixture covers 24 accepted route modes + 12 oversized combinations. Game-speed improvement not established. Coordinate a focused preflight/test contribution with upstream #2930; retain its bulk implementation. Good small-patch candidate. Check current dispatcher and reproduce exact-capacity/one-word-overflow behavior in every route before porting.
#138 Initialize unused stage-zero bump-uniform entries in the shared producer. Correctness: different prior output storage produces deterministic consumed bytes; 7/7 pinned Win64/Wine tests pass. No independent FPS gain measured. Complements upstream #2998; producer initialization is distinct from copy dirtiness. Good small-patch candidate if still missing upstream. Send the initialization and sentinel regression, not an unrelated uniform-cache redesign.
#305 Recheck voice-worker completion predicates after condition-variable wakes. Reliability: forced spurious startup/dispatch wake changes assertion abort → PASS, with workers joined after tests. Historical game tables are mixed and do not establish a speedup. Compare current APU completion waits, independently of upstream #2280's dynamic worker-count work. Good narrow synchronization contribution. Keep the same mutex/predicate contract and port the production-path regressions.
#279 Avoid Input-tab null-provider dereference while a virtual controller remains configured. Reliability: providerless reproduction SIGSEGV → tab stays open through disconnect/reconnect. No performance percentage applies. Check the current upstream input-provider/UI lifetime path; coordinate with related input work if it already changed. Good small compatibility fix if the exact null path remains. Do not extend it into a claim that all snapshot controller topology is reconstructed.
#125 Reconcile dirty GPU-authored surfaces before OpenGL vertex decode/upload; preserve complete BEGIN/END submission state. Correctness: native Windows 5/5 lifecycle + 4/4 fetch-span tests, plus production guest surface-to-vertex leaf PASS. No isolated game-speed gain claimed. Contribute checked spans, readback/mirror invalidation and regressions to upstream #2984. Coordinate first. Native-scale history policy is a different addition; qualify zero stride, element/stride size, bounds and exact overlap.
#119 + #158 Preserve newer guest VRAM writes instead of stale cached-surface readback overwriting them. Correctness: PGR2 menu-atlas corruption reproduced; 15/15 coherence tests, and 5/5 + 1/1 short candidate reloads intact. Bug is intermittent. One game pair had 2.75% worse p99; no speedup established. Extract a guest-write notification/readback-veto series. Upstream #2965 concerns another reuse boundary; do not assume duplication. Valuable correctness direction with ownership risk. Preserve exact dirty-page fanout, veto retirement and ordered pre-write readback; review the newer upstream timestamps.
#50 Balance paused NV2A snapshot saves and failure cleanup. Reliability: repairs retained ownership/cleanup on paused or failed operations. Per-patch game-FPS benefit not measured. Compare actual hook and framebuffer ownership with upstream #819. Separate graphics patch; require paused save, failed save and cleanup regression. #819 is not automatically an equivalent fix.
#53 Quiesce the APU frame thread before snapshot restoration, releasing BQL before waiting. Reliability: baseline DSP assertion before readiness → repaired 20-second Morrowind snapshot cells pass on GL and Vulkan. No completed comparable baseline run, so no causal percentage. Separate audio lifecycle patch; coordinate save/load hooks with upstream #819 review. Preserve lock order, IRQ publication and thread quiescence. Use the retained snapshot evidence.
#104 Fix transfer-source usage and compressed-block staging alignment. Correctness: 4/4 BC-layout checks; observed copy VUIDs disappear. Device loss still occurred after 40 seconds on the original host. No qualified FPS gain. Upstream #2999 already overlaps transfer-source usage; offer only missing BC alignment and focused validation. Split the nonduplicate repair. Do not claim this alone fixes device loss; retain the original failure and staging follow-up boundary.
#264 Implement DOT_ZW fragment-depth replacement with four-stage consistency checks; replace the old suppression workaround. Correctness: owner confirmed Ghoulies rendering correction; 17/17 GL draw/readback + 7/7 Vulkan compile/reflection. The 160/160 guest leaf PASS record has 0/16 comparison-eligible attempts; no performance claim. Review current shared shader generator; submit the smallest semantic correction and independent stage-consistency tests. Promising compatibility contribution. Frame-exact transient evidence is still bounded; the fork's accepted oracle/cache limits do not automatically satisfy upstream.
#271 Decouple PGRAPH interrupt/control/flip observation from renderer work under BQL. Reliability: observed Def Jam path progresses beyond former freeze; 10,266 callbacks / 10,267 alarm writes, max lateness 2.406 ms, max BQL-held MMIO wait 2.826 ms in the final diagnostic. Review shared PTIMER/PGRAPH ownership beside upstream #2929; the lock/publication contracts differ. Valuable but larger synchronization review. Earlier IRQ-only candidate failed; final Windows Vulkan diagnostic lasted about 13.8 min, not the planned hour. GL/reset/save-load remain unqualified.

Performance candidates, with their actual metric scope

Fork PR Summary Improvement metrics / observed result Upstream route / dependencies Readiness and remaining work
#101 Upload each completed host-copy display generation once per GL texture lifetime/size. Avoided work: 2,991 unchanged-generation skips, 45 fresh uploads, 55,296,000 requested bytes in the focused dual-GPU run; 7/7 state transitions, framebuffer hash PASS, zero VUIDs. 3,037 sync requests are a separate counter, not an inferred upload denominator. Requires a host-copy presentation path such as #76. Compare upstream generation/publication and texture-recreation ownership. Good bounded work-removal candidate. Counters prove the skip path, not an FPS gain. Preserve fresh same-size generations, resize/recreation, completed-display keys and framebuffer leases.
#283 Upload Linux surfaces directly to the final image when no scratch-image blit is needed. Deck 1x component wall latency: RGB565 120.5→109.5 µs (+9.13%), RGBA8 119.5→108.5 (+9.21%), D16 130.0→116.0 (+10.77%), D32S8 147.5→125.5 (+14.92%); both orders improve. RGBA8 2x 133.0→149.5 µs (−12.41%) remains disclosed. Focused Linux pgraph_vk_upload_surface_data() extraction; scaled color/D16 and non-Linux retain existing scratch/blit workarounds. Worth a bounded upload proposal. Scaled order results disagree, historical Morrowind p99 worsened and driver cache was not reset. Component savings do not establish game-FPS or whole-stack benefit; retain all format/scale rows in PR evidence.
#182 Resample mono as one channel, duplicate output after interpolation; preserve sinc and reset lifecycle. Earlier head 03ab6ce5, without DSP JIT: +1.968% guest display-write cadence, 3.530% lower process CPU, eight-run report. These are historical-head/configuration results, not new proof for lifecycle head b89d369a or November main. Small audio-work-elimination proposal; check current upstream mono path and converter/reset ownership. Prepare source and output/lifecycle tests. Do not substitute held linear conversion #189; the rejected +8.17% screenshot-failing set is not acceptance evidence.
#200 Default Auto voice workers to four while keeping explicit 1–16 choices. 48-run clean-upstream compiled study: CPU lower in all six recorded cohorts, 2.33–12.14%. Deck Conker p99 158.12→172.83 ms (9.30% worse). Scene equality/spike causality unresolved. Fixed-work CPU savings trade against higher wall latency. Build on merged upstream #2280's dynamic setting; carry the smallest Auto-policy change, not fork settings infrastructure. Promising efficiency contribution; evidence and six-cohort tradeoffs below. The old closed fork handoff #316 is not an active upstream submission or a reversal of merged Auto-four.
#147 Persist device-compatible driver pipeline-cache bytes with bounded restore and orderly save. One matched Windows PGR2 pair: worker construction 44.941→4.740 ms, about 89.5% less component time; both retain roughly 3.4-second max intervals. No repeated game-FPS gain established. Coordinate with upstream #2993. Lead with key/size validation, GUI-exit save, worker quiescence and Vulkan recreation tests. Useful bounded persistence/lifecycle contribution; separate SPIR-V, learned recipes and driver bytes. Do not pitch 89.5% as FPS or loading-time gain.
#296 Generate hard-FPU FNSTSW AX without helper calls while preserving checkpoints, FIP and rounding state. Fixed-work status-time improvement +77.837% GL / +79.144% Vulkan; compare/status +21.074% / +22.463%. Deck PGR2 whole-window cadence −0.748%, p99 77.2801→78.2095 ms, max 182.3605→211.5880 ms. Review existing upstream x86 hard-FPU/checkpoint contracts and extract the bounded generated-code repair; xemu asks contributors to route general QEMU improvements toward QEMU where applicable. ARM #321 is not part of this contribution. Strong focused-work reduction with accepted fork game cost. Preserve 120 PASS + 20 shared captured-context FAIL/ineligible records and issue #236; no upstream qualification or universal game gain inferred.
#335 Replace immediate polling of pending fallback jobs with existing completion notifications and bounded retry. Deck Vulkan PGR2 ABBA/BAAB: cadence 7.388→9.001/s (+21.83%), CPU 380.947→363.672 core-% (4.53% lower), p99 346.647→221.125 ms (36.21% lower). Texture-control tail 2.40% worse remains disclosed. Requires an equivalent async/hybrid owner/service path upstream. Offer scheduling regression tests with any adoption of that infrastructure. Dependency-bound candidate, not a standalone generic timer tweak. Median interval slightly worsened; diagnostic captures failed orchestration; route/settings/source limits remain in PR.
#336 Learn fallback families for future launches and avoid optional live compilation after served draws. Deck Vulkan PGR2 ABBA/BAAB: cadence 9.505→14.974/s (+57.53%), CPU 364.131→276.695 core-% (24.01% lower), p99 199.448→102.395 ms (48.66% lower). Separate seeded-history black/stopped-flip failure remains unresolved. Depends on fork-style learned-history/hybrid machinery and #335-equivalent scheduling; coordinate design rather than porting the full fork stack blindly. Hold a broad upstream port until the seeded-history correctness/lifecycle case has an explicit disposition. Mixed/inconclusive synthetic findings and private raw-evidence access remain visible.

Lower-priority or qualification-dependent follow-ups

Fork PR Summary Improvement metrics / limitation Upstream route / readiness
#47 — historical implementation Skip the guaranteed-to-fail free-node scan when an LRU cache has no free nodes. Historical 4,096-entry / 1,024-miss fixture: failed free visits 4,194,304→0, eviction visits 1,024→1,024, callback/replacement invariants preserved. No full emulator build, XISO or FPS campaign in that record. This optimization is not retained in the fork's current lru_try_get_one_free(), which still scans unconditionally. Re-derive against current LRU contracts before proposing it. Distinct from upstream #2994's active traversal; do not label historical counts as current-main behavior or an upstream speedup.
#11 Propagate failed Vulkan surface/texture preparation, preserve GPU authority and retry state, and suppress consuming draws. Correctness: 17/17 focused units, five production-path failure injections, retained ordinary renderer checks and zero VUIDs. Final suppression isolation 30,250.5→30,369.0 µs (−0.392%); no speedup. Useful failure-contract/test material, but broad consumer/ownership dependencies require a fresh upstream audit. Extract coherent failure handling with its retry/cleanup regressions; old percentage gates do not replace current overall-game policy.
#191 Decode callback-local CFG_FMT once, keeping updates between callbacks visible. Reads 9→1 per callback, not an FPS metric. Final fork PGR2 CPU 252.845→250.937 core-% (0.755% lower); cadence order signs disagree. GL CPU control 2.475% slower, and timer-paced audio timings are NOT COMPARABLE for throughput. Potential small work-removal patch after comparing upstream control-write/lifetime contracts. Keep it local to one callback; no broader persistent control cache.
#187 Owned ADPCM block reuse with fresh full encoded-byte identity. Final native repeatability study does not establish a game gain; overall PGR2 CPU/cadence move under 0.6%, with p99/max worse. Reconsider for a proven decode-heavy upstream workload; do not rank it as a demonstrated game optimization from component intuition alone.
#190 / #275 Reuse bounded live descriptor/payload RAM mappings while reading current bytes. Isolated component savings; the accepted stack retains Deck Morrowind cadence/tail regressions in #310, including the recorded 2.57% cadence loss. Dependency/ownership-heavy. Resolve or explicitly bound the game tradeoff and compare upstream mappings before recommending a port. These are distinct patches, not one bundled change.

Open work worth revisiting after qualification

These branches are not merged and remain HOLD. They are promising correctness leads, not ready upstream submissions; their current PR bodies own the exact remaining gates.

Fork PR Summary Improvement metrics / observed result Upstream route / overlap Readiness and remaining work
#362 → #363 Fork's unsigned RGBA R6G5B5 repair, then tightly cropped Vulkan bordered cubemap mips. Isolated builds and focused checks 11/11 + 19/19. Historical dependent-stack diagnostics change 12 Vulkan failures → passes; those runtime trees are not current isolated-stack qualification. Incorrect-parent timings are NOT COMPARABLE. Basic unsigned RGBA conversion is already upstream: merged #3125, closed issue #3126, verified in dc10b4ce; older #3081 is closed unmerged. Only missing alias guards/tests and #363's crop deserve extraction review. Avoid resubmitting the existing conversion. Finish declared GL/Vulkan, 1x/4x XISO and game/resource campaigns for the necessary fork stack, then review the genuinely missing upstream delta. No current-stack speedup is established.
#377 Export DSP JIT state without consuming guest DMA completion polls; preserve the 24-bit bus mask. Real-backend regression catches destructive export and the masking case; one Deck smoke completes two pause/resume cycles with later frame progress. Before/after runtime timings not measured; no audio-quality claim. Compare current DSP/JIT state synchronization and upstream #3047. Extract snapshot purity from the #376 tracing ancestry; HLE is not implemented by this patch. Promising small correctness contribution after snapshot/engine/lifecycle, PCM and applicable timing qualification at the justified stack boundary.
#367 Complete pending GPU work and retry once when no Vulkan texture entry can safely be evicted. Current production-source pressure fixture 3/3 with parent pending/partial-stage SIGABRT controls. Historical native recipe fixes the 1,088-identity crash; current isolated candidate native timings not measured. Review upstream cache exhaustion and bound-stage ownership. Independent of held #334 late descriptor pinning and retired #366. Finish prepared balanced pressure/control and PGR2 campaigns; prove actual queue lifetime and retain normal-path costs. Substituted finish in a unit fixture is not GPU lifetime proof.

Other open leads stay in research actions. In particular, #356's BQL download-wait repair still has a callback/renderer retirement ownership blocker; #359 overlaps upstream #3096 and lacks completed native/game qualification. Neither is a first-batch upstream recommendation.

How to read the numbers

The fork PR and linked measured-results guide retain exact candidate/reference identities, settings, scenes, run orders, regressions and evidence access. Above numbers are retained observations, not new campaigns or measurements on current upstream master. The upstream base was recorded and overlap searches refreshed; this page does not claim a complete source-level port/duplication audit of every row.

Positive improvement means better: time/cost 100*(before-after)/before, throughput 100*(after-before)/before. “CPU lower” refers to summed process utilization, where 100%=one logical core. Guest cadence is not host-presented FPS or guaranteed identical simulation work. Component-time savings do not become game-FPS percentages. Not measured, NOT COMPARABLE, failed and inconclusive remain valid cells.

Auto-four study: all six clean-upstream cohorts

These are medians of four per-run summaries per arm, ABBA then BAAB, Vulkan on Deck AMD Custom APU 0405/RADV and Windows Ryzen 9 6900HX/RTX 3070 Ti Laptop. See #200 for exact upstream/candidate build hashes and the separate fork-setting study; the studies are not pooled. Scene/progress equality is not established, so changes are descriptive rather than isolated worker-count effects.

Host / title CPU core-% before→after CPU reduction p99 ms before→after Guest rate before→after (inverse mean READ_3D interval)
Deck / Morrowind 180.33→163.48 +9.35% 226.03→217.00 6.79→7.19/s
Deck / Conker 217.85→199.26 +8.53% 158.12→172.83 7.86→7.90/s
Deck / PGR2 293.12→268.97 +8.24% 210.24→208.08 8.32→8.39/s
Windows / Morrowind 250.49→244.66 +2.33% 50.41→50.23 24.98→25.62/s
Windows / Conker 254.38→247.21 +2.82% 50.09→50.04 29.17→29.56/s
Windows / PGR2 292.12→256.65 +12.14% 52.05→51.87 24.17→24.65/s

Fixed-work 45-voice checks show four workers use 15.8–24.5% less CPU than eight and 46.1–49.0% less than sixteen, with identical output/cursors. Wall latency rises 9.0–27.9% and 3.5–14.4%, respectively. Keep that efficiency/latency tradeoff beside the CPU benefit.

Contribution handoff

Follow upstream's pinned contribution guide: discuss large architectural work first, collaborate on overlapping PRs, keep one fix per patch, and supply hardware test XBEs where applicable. AI-assisted work requires an accountable contributor who understands and tests the code, can participate technically in review, and declares the models used. This list is preparation material for that process.

For each chosen row, pin the current upstream head, check whether the defect/mechanism still exists, identify dependent code, coordinate with an existing PR author, then prepare the smallest independently useful patch and regression. Bind new upstream measurements to that candidate; do not reuse fork numbers as upstream proof. Source/PR links are evidence inputs, not automatic endorsement of every historical title or body statement.

This page records recommendations and evidence; it does not create upstream PRs, post review comments or promise maintainer acceptance. Removed Shader Browser/Workbench work, incomplete neural/HLE scaffolds, failed ARM semantics and stopped performance experiments are not promoted as ready contributions. Research dispositions.

Clone this wiki locally