Files
mitch030504--Wiicompiled_VR…/aurora-main
iChris4andClaude Opus 5 fd42edf303 Merge kart draws again while the native steering wheel is animated
The animated copy is registered for the vehicle's whole position array, and a
race frame has 228 primitives that bind it. Suppressing draw merging for all of
them turned the kart's display list back into hundreds of separate draw calls,
each recorded once and replayed in the mono pass and both eyes: on a Quest 3 the
app frame went from 15.7 ms to 21.7 ms with the GPU pinned at 97 %, which past
the 72 Hz deadline reads as 56 FPS against 42.

Merging is unsafe only between draws that resolved the array differently, since
the merged whole renders through the binding of the draw it folds into. So
resolve the replacement once per draw, before the merge test, and merge into a
draw that reached the same decision. Draws of an opponent sharing the asset
merge with each other again too, and with no set registered the test is exactly
what it was before the feature.

Measured at the same place on a Quest 3: 60 FPS against 42, the app frame back
to 13.9 ms, 564 draw calls a frame with 11808 primitives merged away.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-23 01:04:06 +02:00
..
2026-08-23 17:10:50 +02:00
2026-09-21 00:31:46 +02:00
2026-08-23 17:10:50 +02:00
2026-08-23 17:10:50 +02:00
2026-08-23 17:10:50 +02:00
2026-08-23 17:10:50 +02:00
2026-08-23 17:10:50 +02:00
WUP
2026-08-30 11:21:10 +02:00
2026-08-23 17:10:50 +02:00
2026-08-23 17:10:50 +02:00

Logo

Aurora is a source-level GameCube & Wii compatibility layer intended for use with game decompilation projects.

Originally developed for use in Metaforce, a Metroid Prime reverse engineering project. It now powers several completed source ports, including Dusklight.

Features

  • Application layer using SDL3
    • Runs on Windows, Linux, macOS, iOS, tvOS, Android
  • GX compatibility layer
    • Graphics API support: D3D12, Vulkan, Metal
    • Highly accurate and performant GX implementation
    • Robust pipeline cache system with "transferable" cache support for releases
    • Dolphin-compatible texture pack support
    • Widescreen & resolution scaling support
    • Custom APIs for offscreen rendering
  • PAD compatibility layer
    • Utilizes SDL_Gamepad for wide controller support, including GameCube controller adapters
    • Automatically saves and loads controller bindings and port mappings
    • Gyro & mouse support
  • DVD compatibility layer
    • Utilizes nod to support all GameCube/Wii disc image types, including RVZ
  • CARD compatibility layer
    • Full compatibility with Dolphin .gci and .raw for game saves
  • Dear ImGui built-in for simple debug UIs

Graphics

The GX compatibility layer is built on top of WebGPU, a cross-platform graphics API abstraction layer. WebGPU allows targeting all major platforms simultaneously with minimal overhead. The WebGPU implementation used is Chromium's Dawn.

Screenshot

Building

See docs/building.md for build instructions, CMake integration, and configuration options.

License

Aurora is licensed under the MIT License.