Skip to content

OOT: share MetalFX checkpoint, 2K60 preset and upstream triage - #2591

Draft
MeNass89 wants to merge 23 commits into
seedds:mainfrom
MeNass89:release/oot-metalfx-20261113
Draft

MeNass89 wants to merge 23 commits into
seedds:mainfrom
MeNass89:release/oot-metalfx-20261113

Conversation

@MeNass89

@MeNass89 MeNass89 commented Nov 13, 2026 •

Copy link
Copy Markdown
Contributor

November 13 final Field check and resolution selector

  • Added the BAMA AppKit output picker: Switch 2 (2048×1152), 2K (2560×1440), and aspect-correct physical-panel native output. Mac build, installed self-test/config check, four inspected light/dark/FI/native window captures, code signature verification; existing host and user settings preserved. New pure-C panel-fit fixture is part of the host test command.
  • Added presets/2k60-interpolated.env: native30 + actual MetalFX-generated30, spatial output2K, HDRoff. The present implementation still requires a display detected as at least120Hz. 90FPS remains unimplemented.
  • Verified Hyrule Field, not CastleTown, from the loaded scene. At native60+FI60 the static window measured 111.44 physical FPS at2K and79.96 at4K, with uneven8.33/16.67ms spacing. Some angles hold120; no locked120 qualification.
  • Found the camera-turn stall: one new pipeline took144.4ms. Warm replay at native30+FI30 removed it. Each resolution's three windows total19s, with570native +570generated positive display callbacks: physical60FPS, max gap16.667626ms(2K) /16.667335ms(4K), zero gaps>25ms. Both bounded runs exit0 / no reported errors. Screenshots were before measurement in this replay;0newPSOs from60–91s. New compatible rows/archive retained privately; no game cache published.
  • Same M4Pro host, HDRoff, silent sink, existing gpukeep policy active.4K is rendered workload on the built-in panel, not a physical4K display certification. Whole-game FI quality, long-session worst cases, independent-object motion and clean upstream integration remain open. PR remains draft.

Detailed methods and limits: docs/oot-m4-pro-fork.md. This update supersedes earlier pending resolution-control / untested Field notes below; earlier entries remain historical evidence.

Actual 30-native + 30-generated gameplay check

Two matched 92-second runs from APFS-cloned player saves/archives, muted, same menu inputs, Link movement and camera turn. Both exited 0 with no RED. The inspected save loads Castle Town's entrance street, not Hyrule Field.

Across three selected gameplay windows totaling 19 seconds, the 30+30 arm produced 570 native frames, 570 actual GPU generations, 570 positive generated-image presentations and 570 positive native presentations. Each window measured 30.0 native FPS and approximately 59.9998 physical FPS; physical intervals p99 16.667 ms, maximum 16.676 ms, no gap over 25 ms. Host consumed-time ratio was 0.989 versus 0.990 for the native-60 control, not half speed. This is a bounded gameplay cadence/clock check, not proof of every physics consumer, whole-game FI quality, Hyrule Field or 120 FPS. The current user profile was left unchanged.

Capture limitation: the control file is append-only; later screenshot requests overwrote it, so only the initial gameplay screenshot exists per arm. No after-movement coordinate/image-equivalence claim is made. Timing and movement input records remain valid.

November 13 follow-up: selector and introduction speed

Commit 8e52e1ff adds an installed external-build AppKit settings selector (independent MetalFX upscale/FI and 60/120 output targets; 90 disabled), validated with BAMA's existing-app flow, functional/grid tests and actual light/dark window snapshots.

The player localized slow motion to the introduction. A matched same-host control confirms the 60-FPS AV1 movie was being consumed at the 30-FPS gameplay cap: 5.950 seconds of media in 12.905 seconds. Timestamp-based detection now temporarily holds OOT at 60 native while consuming that video: 5.950 seconds in 6.130 seconds, and later 14.950 in 15.130. Repeated property reads do not prolong the exception; it expires after 500 ms. Thermal limits remain authoritative. The new cadence test passes through the actual Makefile under GCC; the Mac host builds and was installed with signature verification and backups. In-game 30-native/FI speed and quality remain unqualified.

Shared preparation lists installed and reloaded

The current player list was merged with PR #2324 and #2466 using this branch's production key parser, with Clang/arm64 verification and shader-stage validation. Seed + user list: 20,068 unique entries; combined list: 22,042. The public lists contribute 1,974 additional entries (169 task/mesh, 255 render, 24 compute, 1,526 shader loads), after deduplication; no parser/stage-map rejection.

Actual Mac prewarm finished in 30.54 seconds with no RED errors, including 168 newly built/captured task/mesh pipelines. The profile/archive was activated reversibly without replacing the shader library or save. A new process reloaded the 22,042 entries in 0.88 seconds: 350 mesh pipelines came from the archive, two were built again; three bases were also built again. This is a substantial prepared-coverage improvement, not a zero-rebuild or complete-game cache claim. The evolving user list is still loaded on subsequent starts.

Summary

  • Share a player-confirmed OOT/M4 Pro checkpoint with a portable 2560×1440, 60-native-FPS cap, MetalFX spatial, FI off, HDR off preset and a public build recipe.
  • Make the underlying correctness, resource-lifetime, MetalFX interpolation and timing work available for review and community contributions, with focused fixtures and explicit validation boundaries.
  • Triage the work into general mechanisms, mechanisms needing engine/platform adaptation, and OOT-specific contracts; identify fixes already present in main instead of proposing duplicate implementations.

Why this is a draft integration PR

This preserves the engine checkpoint actually tested, rather than rebasing a large renderer change and applying old results to new bytes. It is a contribution map and a reproducible fork entry point, not a request to merge the whole old branch over current main. Current main has advanced substantially and already contains several mechanisms listed below. Selected extractions should be rebased, reviewed and tested independently.

The initial shared engine pin was 09a2572523bea861d0c7c7006826e57801d16de5; its common ancestor with upstream is f02d0474cf1ed1de32ccee1313e1448d4f7da401. Before the sharing documentation, the actual contribution range was 112 files, +6,613/−374 lines. An endpoint-tree comparison wrongly presents later upstream additions as removals; use the PR/merge-base diff.

Public entry points:

  • docs/oot-m4-pro-fork.md: build, settings, provenance, tests and remaining limits.
  • dm/games/0400486024DEC000/presets/2k60-native.env: portable settings only; no private paths or game assets.
  • docs/oot-upstream-triage.md: extraction map, prior art and contribution priorities.

What the player actually tested

The user reported normal speed and very smooth 2K play on an M4 Pro after we switched to 60 native FPS with interpolation disabled. Live config confirms this. The user later reported Hyrule Field still imperfect, so this is not a locked-60 claim for every area.

An attempted 30-native / 60-displayed profile produced user-observed slow motion. Returning to native-60/FI-off restored normal speed. This initial observation changed two variables; the follow-up above subsequently isolates and corrects the introduction movie cadence. Gameplay at native 30 remains a separate validation item. The host's game time … 1.000 of real time counter does not prove every simulation or animation consumer is correct.

The requested final product is 30→60, 45→90 and 60→120, with Switch 2, 2K and Mac-native output choices. Those nine combinations are not implemented/qualified, and this PR does not silently enable them. 45-native timing needs an actual fractional clock contract; the present integer 60-Hz stepper does not supply one. Evenly displayed 90 FPS also needs a suitable display mode or validated VRR behavior.

Triage: general mechanisms

These are semantically general; that does not mean the combined branch has passed other games.

  • Uniform re-recording and short-buffer correctness: preserve command-record byte spans and valid uniform content. Public-API/synthetic regressions in t_nvn.c and t_uniform_padding.m; checkpoint 7ca292f9.
  • Bounded CPU texture-upload batching: retain targets and respect the staging budget inside open submissions; 2d1003fc, CPU-texture/upload-budget/upload-slot/direct-upload fixtures.
  • Finalized texture/view lifetimes and dirty registration epochs: e9678f60, 09a2572, ghost/view-cache and dirty-reuse fixtures. Main already has corresponding owner/ghost-view and born-epoch mechanisms, with a newer owner layout; credit them as carried fixes rather than merging a duplicate.
  • In-flight visibility/ring ownership: 5b77e8da, exercised past the former 64/128 limits by t_wait_event.m. Main already contains SUB_FLIGHT_MAX and the corresponding rings.
  • Residency commit outside the hot mutex: a5863042, t_res_commit.m. Main already has its separate commit mutex and deferred changes.
  • Pipeline prediction on a genuine new miss: be568428, t_pso_pending.m. Main already has pso_predict_due and g_pp_admit.
  • Bounded deferred diagnostics: 189f313a, 92b0d024, exact TSV output/overflow/concurrent drains and flow traces. These remove intrusive timing writes; they are not a renderer-FPS claim.

Triage: reusable after adaptation

  • Immutable FI snapshots and async resource ownership: source/history validation, generation and display reader timelines, retained interpolators, paired presentation. Another engine still needs correct color/depth/motion surfaces and reset boundaries.
  • Legal MetalFX spatial output: private outputs, conditional final copy/render, and checks for format, size, orientation, usage and storage mode (cd966bef, a3c568e3). Not every drawable is a legal scaler destination.
  • Profile-driven spatial replacement with native fallback: color encoding, grid and binding contract (149fa1ea, 7dda971c). A replacement must also preserve scene-discovery notifications; skipping those originally disabled FI silently.
  • Camera/depth reprojection: the geometric method and validation are reusable; observed agl offsets and object-motion limitations are not universal.
  • Native Mac panel sizing: distinguish physical pixels from logical desktop points (61411451). External screens, scaling and refresh changes need platform validation.
  • HDR/EDR transport research: present in history/fixtures, disabled in the delivered preset and outside the current release promise.

Triage: OOT-specific today

  • 0400486024DEC000 v131072, the observed camera layout and frame-ratio path.
  • The guarded fa3033d05c0a41d6_b square-root-linear recipe, 1536×864 scene, 2048×1152 intermediate and exact bindings/grid.
  • Pre-UI/final scene discovery, matching depth, history-reset boundaries, prewarm rows and routes.
  • Build-gated native-material-refresh research. It is not installed or enabled by the normal preset.

OOT's executed four-stage NDSR chain is spatial; it does not supply observed temporal motion/depth/history data to translate directly. FI currently reconstructs camera motion using depth. Independent Link/Navi motion, translucent ocarina tutorial overlap, dialogue sharpness transitions and scene cuts remain quality work.

Test plan and evidence

Run for this publication

  • python3 -m unittest dm.tools.tests.test_docs dm.tools.tests.test_game_profile dm.tools.tests.test_nsp_chain: 32 passed. Docs were rerun after the latest player-report update.
  • Actual pure-C fixtures compiled under Linux/GCC: t_agl_camera, t_pace (10 checks), t_fstep (78 checks), t_tsv_stream, t_flow_trace (20,000 concurrent intervals): pass. These are not described as Mac/Metal passes. The initial Makefile attempt found no Linux clang; the actual fixtures were subsequently compiled with GCC, not a disguised compiler shim.
  • Preset checked for unique keys, absence of local paths, correct 2K/native-60/MetalFX settings and FI-off state; git diff --check: clean.
  • Actual Mac impact command, with no game run: python3 scripts/regress.py impact f02d0474..09a2572. Completed successfully. Breath of the Wild, Pokémon Scarlet and Tears of the Kingdom are affected, one additional profile only through broad API rules, 152 profiles unknown. These are reachability results, not gameplay passes.
  • Live read-only verification: installed host hash, effective profile, shader map identical to the committed map, and formerly dirty hle_vi.c, nvn_temporal_async.inc, front_mac.m in the build mirror equal their committed 5b77e8d versions. The user's running installation was not rebuilt or restarted for publication.

Existing engine/runtime receipts

  • 09a2572's four code/test files exactly match the final candidate source hashes. Sixteen focused runtime fixtures passed across the final receipts on M4 Pro.
  • t_vc_ghost: 19 checks enabled / 17 disabled, zero failures. Old dirty implementation fails the three new recycled-registration checks; the candidate passes them.
  • t_tbuf_align: 80 checks, zero failures with its Makefile's normal environment. An earlier extra-validation harness abort was corrected; intermediate failures are not relabeled passes.
  • In-flight visibility fixture: 101 checks per encoding mode, including 160 retained submissions and old ring boundaries.
  • Pre-signature host SHA256: 44d7ac2ec80898c17ffec98013c37b3a12b9761f3648ff4a4ca43bf74ca2fc1d; installed ad-hoc-signed host: d6273954e9798d2e4c842f52e90950daf897cd8e0ee07eadd1a0310d05b3ba4e.

Still open before merge/release qualification

  • Clean public packing/reproduction with the new portable env file.
  • Complete current graphics suite, lint ratchets and repository regression on impact-selected games. Only OOT has actual player/targeted evidence for this combined branch; the other games are unchecked.
  • Integration conflict resolution onto current main, with fresh tests for the resulting code.
  • In-game 30→60 speed/quality validation and 45→90 clock/display contract (introduction cadence corrected in the follow-up above).
  • FI object/transparency quality, stable tail latency in heavy areas, latency and energy measurements.

Community work with the best immediate payoff

  1. Reproduce the native-60 preset and report chain, game update, hardware, scene and helper policy.
  2. Deduplicate compatible prewarm additions from Ocarina of Time's prewarm list gets 171 more task / mesh pipelines (data only) #2324, 0400486024DEC000's prewarm list: 84 task / mesh pipelines and 1,806 rows from 18 areas #2466 and game: Ocarina of Time prewarms 89 more task / mesh pipelines #2550 against the effective manifest plus user list. No complete shared Mac cache is certified here; preparation can reduce first-visit compilation stalls without changing rendering quality.
  3. Diagnose 30-native FI off/on in one matched moving-scene capture, separating simulation from presentation.
  4. Extract still-relevant generic mechanisms individually onto main; keep prior upstream implementations and their credits.
  5. Address heavy-scene GPU budget and independent-motion/transparency quality using real evidence rather than larger benchmark campaigns. Neutral experiments are not included as proven gains.

Front-ends: the new portable 2K60 preset is native-60/FI-off. No launcher claim that 30→60, 45→90 or sustained 60→120 is ready. Game files, caches, saves and machine-specific installers are excluded.

seedds and others added 21 commits November 11, 2026 16:21
Checkpoint validated command-buffer, uniform-padding, shader and allocator-wake fixes together with opt-in MetalFX interpolation and native-upscaler diagnostics.

Document the M4 Pro contributor setup, isolated research fixture, measured limits and experimental flags. Native motion fields are not validated; async interpolation still has major frame drops. This is a development checkpoint, not a stable player release.

Validation: host build; NVN 306 checks; queue-origin 398 checks; nine focused test targets; docs, Ampere memory and fetch tests; native material-refresh fixture; diff check. Broad graphics/multigame regression, sustained latency and installed-app validation remain open.

Front-ends: no new default interpolation preset; experimental controls and contributor instructions are documented in docs/oot-m4-pro-fork.md.
Avoid app-focus pauses contaminating automated timing. Add opt-in host-worker stacks to the existing hitch diagnostic. Default player focus behavior is unchanged.

Validation: host build, host-inclusive diagnostic run, focus-kept gameplay (host exit 0, no RED), Python compilation, docs and diff check. Interpolation remains below target at 44.7 native FPS under thermal limits.

Front-ends: none; DM_HITCH_HOST is an opt-in diagnostic.
Apply the existing upload submission boundaries to CPU staging, retain destinations and count shared buffers against the 128 MiB budget. Outside a rendering submission, keep immediate upload behavior.

Validation: real CPU burst regression fails before/passes after; upload budget, slots and direct upload pass with deferred encoding on/off; NVN 306 checks; host build; OOT head-turn run exits 0 with no RED lines; docs and diff checks. Broad multigame regression remains open. GPU thermals differed between game runs, so no isolated FPS gain is claimed.

Front-ends: none.
…scovery

Declare the vetted final NDSR stage in profile data, decode its square-root color, use MetalFX Linear and preserve native AA. Guard bindings, dimensions, full grid, formats and independent storage; keep native dispatch otherwise. The experimental recipe requires two explicit launch flags and remains disabled by default.

A replacement dispatch now runs its post-dispatch scene observer. Omitting that notification had silently stopped generated frames; the composed regression fails six assertions on the old early return and passes with this fix. Retain scaler scratch and objects through deferred execution and cache eviction.

Validation: host build; procedural GPU recipe/composition61checks in each encoding mode with Metal validation; 79 precompiled host-library checks; 9 profile tests, settings, docs and chain tests; actual OOT run with 600 replacements, 0 native-copy pixel error, 353 generated drawable callbacks in seven seconds, exit0 and no RED. GPU remained thermally capped; sustained60/120, broader scenes and multigame regression remain open.

Front-ends: no default behavior change; experimental profile recipe requires DM_UPSCALER=metalfx and DM_UPSCALER_EXPERIMENTAL=1 at launch.
…work

Retain compact same-aspect presentation content, keep native/generated crops separate, and let the final asynchronous spatial scaler read exact bounded inputs directly. Honor actual MetalFX texture usages and compose camera transforms once per image with the existing double-precision helper.

Validation: host and focused Metal API GPU fixtures pass for direct/deferred and serial/asynchronous paths, offset/shape fallback, resize/readers, UI, final spatial midpoint, and old/new camera kernels. Docs checks pass. One copied-save moving run confirms native/generated MetalFX to a 1440p drawable and zero RGB LSB final-copy error, with no RED lines. This is not a clean-system performance comparison or sustained-120 certification; an isolated 233 ms hitch remains under investigation.

Regression scope: experimental interpolation modes only; native snapshot compaction requires mode 3, and the final direct-input path is confined to its asynchronous presenter. No other game's normal rendering path or default settings change. Focused cross-shape/crop/resource fixtures cover this narrow reach; no broad multi-game gameplay claim.

Front-ends: No action. Existing experimental interpolation flags remain; final screen enlargement is separately opt-in with DM_PRESENT_UPSCALE=metalfx. No installed application or save is changed.
Recognize the full floating-point scene copy with current matching depth and
a separate full-size source. Keep final window copies and incomplete views
out of the scene chain; preserve native rendering and continuity checks.

Validate the regression before/after, direct/deferred serial/async GPU paths,
composed replacement dispatch, and real moving gameplay with both presenters.
The five-game harness is unavailable: four local Mac builds are absent.
This change only reaches the explicitly enabled OOT temporal input adapter.

Front-ends: no new setting, shader rebuild or default preset change.
Skip the identity final quad when the writable drawable matches the scaler output, full viewport and upper-left origin. Retain the original path for incompatible usages, letterboxing and flips. Keep the feature opt-in; add an explicit drawable-size diagnostic without changing the default window-following behavior.

Validation: actual4K native/generated drawable comparisons are byte-exact. Three ABBA cycles show a small GPU-envelope reduction. The cleaned host runs real interpolation at119.96 actual presentations/s in the27-second chamber sample, with one16.67ms interval and no abandoned images. Full graphics suite and six docs tests pass. Clang-tidy findings match HEAD exactly; the pre-existing absolute ratchet is still non-green. Other games and the installed app are not validated by this checkpoint.

Front-ends: optional DM_PRESENT_UPSCALE_DIRECT=1 permits direct writable output on Mac. DM_DRAWABLE_SIZE=WIDTHxHEIGHT is an output-work diagnostic; leave it unset to follow the window and panel.
A forced drawable could be stretched into a differently shaped layer, while a scaled Retina desktop resampled the result again. Add an opt-in picture layer that follows the logical game shape, plus native-pixel fullscreen mode selection at the current Retina density. Restore the original mode on exit from fullscreen or a display change; the configuration remains app-only. Allow explicit launch-display selection for multi-monitor use.

Front-ends: Mac DM_PRESENT_PICTURE_LAYER=1 and DM_SCREEN_NATIVE=1 enable these paths; DM_WINDOW_SCREEN=builtin or a CoreGraphics display ID selects placement. DM_SCREEN_MATCH=0 keeps the screen mode. Existing defaults and explicit drawable overrides remain available.

Validated CPU mode-selection tests, actual AppKit fullscreen/reentry and 120-to-60-to-120 transitions, a real OOT MetalFX/interpolation pass with direct native/generated output and display restoration, docs and LLVM23 clang-tidy. Sustained120Hz and multizone temporal image quality remain open.
Keep the completed AppKit, gameplay, CPU, docs and lint checks separate from the incomplete repository regression attempt.
The fixed 512-entry ghost ring evicted active finalized serials once their working set exceeded its capacity. Keep a serial-keyed LRU stamped by frame and submission instead; trim only idle extras, two per insertion and 32 per commit, and remove stale-view records together with their ownership counts.

Adapted from upstream 034e91a without the owner refactor. Preserve existing pins, in-place upgrades and deferred GPU retirement.

Validation: the same 1024-object/800-submission fixture loses 409600 lookups on the baseline and zero after the fix (22 checks passed). Actual Metal texture residency: 98 checks passed. Documentation, symptom index and diff checks pass. An 83-second silent OOT run exercised MetalFX interpolation/direct output on a copied save, no new GPU error; long-session performance and unrelated display stalls remain open. Other games were not launched under the project constraint.
Keep the game’s pre-PQ linear colour in float snapshots and generated frames, with per-ticket EDR metadata and guarded cached observation independent of FI. Retain private MetalFX outputs and the active texture cache; default HDR and output alias remain off.

Procedural HDR/SDR and VI tests pass, including delayed readers, resize, cache/view refusals and exact copies. Real HDR+FI and native-only OOT passes validate the route; physical colour, all-zone pacing and long sessions remain open.

Front-ends: DM_OOT_HDR=1 opts the Mac layer into linear-float EDR and advertises HDR to the game. Metadata must be set before drawable acquisition. Rebuild the host; existing packed applications are unchanged.
Port upstream 0c07813 while preserving the local HDR/FI snapshot waits and feedback. Retain queued allocations until the detached batch is committed; use a separate commit lock.

Validation: real-Metal contention fixture (200 operations: 112.41 ms before, 0.74 ms after), retained-removal and racing commits, ghost LRU, CPU texture residency, upload budget, pool retirement, RT recycling, and four HDR async/alias modes. A 105-second copied-save OOT HDR/FI run passes. No sustained-120, isolated gameplay speedup or cross-game claim.
Port the demand-first prediction fix from upstream 53cbb99. Predict once at a new miss and skip keys already served by a hybrid. Keep shader prefetch and demand compilation.

Validation: 57 pending-pipeline checks pass; private host built and ran the current Hyrule Castle save for 130 seconds, SDR MetalFX and interpolation, no RED/GPU errors. No steady-FPS gain claimed.
…buffers

Port upstream fd8188c, 6e1f506 and b515089 together. A frame shares an allocator without resetting in-flight storage; visibility buffers are taken lazily and retained in a ring sized to the maximum in-flight submissions. Size post-completion records from that same bound. Keep the fork's pixel capture on private visibility storage.

Strengthen the held-GPU test to 160 submissions so it crosses both the allocator sharing boundary and the former 128-entry post ring. Release the GPU gate before reporting a failed submission.

Validation: 101 GPU checks pass in each encoder mode with Metal validation. A silent 173-second SDR Hyrule Castle Town run exits cleanly, with no GPU errors, intact saves and zero allocator waits. Its settled output remains about 98-100 physical fps; no sustained FPS gain is claimed.
Backport b65b9b0 and 9339e55 onto the current fork without the upstream owner-table refactor. Keep cached views bounded by ghost ownership and treat stamps predating a reused pool as dirty.

Validation: sixteen targeted Metal/dirty fixtures, negative original-source control, and bounded OOT Castle Town SDR MetalFX/FI run. Documentation tests pass. Other games and long sessions remain unchecked.

Front-ends: no changes required; DM_NVN_VC_KEEP=0 disables ghost-view retention for diagnostics.
Preserve the tested engine checkpoint and publish portable settings without game files or machine paths. Distinguish the player-confirmed native mode from experimental interpolation, document validation limits, and map general fixes against current upstream.

Front-ends: document the 2K60 native MetalFX env preset; no new interpolation default or 30/45-native settings are enabled.
@github-actions github-actions Bot added host The Horizon host: SVCs, services, threads, memory (dm/host) nvn NVN on Metal and its tests (dm/gfx/nvn, dm/gfx/tests) mac The Mac front end and app (dm/mac, front_mac.m) tools Tools and scripts (dm/tools, scripts) docs Documentation shader chain The shader translation chain (DMSH_CHAIN): a change rebuilds every game's shaders game: 0400486024DEC000 A game labels Nov 13, 2026
seedds and others added 2 commits November 13, 2026 20:14
Keep 60 native frames for consumed OOT AV1 frames with observed 60-fps timestamps, even under a 30-fps gameplay cap. Expire the exception when pictures stop and retain thermal limits. Add a portable cadence fixture and an external-build AppKit selector with independent MetalFX spatial/FI controls and target mapping.

Validation: isolated Mac host build; matched movie-cap control 5.950s media/12.905s wall versus corrected 5.950s/6.130s; 32 Python tests; production cadence test through Makefile; selector parse/mapping/grid tests and light/dark FI-off/on snapshots. In-game 30fps/FI quality remains unchecked.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Documentation game: 0400486024DEC000 A game host The Horizon host: SVCs, services, threads, memory (dm/host) mac The Mac front end and app (dm/mac, front_mac.m) nvn NVN on Metal and its tests (dm/gfx/nvn, dm/gfx/tests) shader chain The shader translation chain (DMSH_CHAIN): a change rebuilds every game's shaders tools Tools and scripts (dm/tools, scripts)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants