126 Commits

Author SHA1 Message Date
Luke Street 9d047136c2 Fix BUILD_SHARED_LIBS rebuild on Windows 2026-07-06 01:16:20 -06:00
Luke Street 00cd4a4567 Add GXSetProjectionFull & encoder tasks 2026-07-03 12:43:35 -06:00
Luke Street f5951233d1 Cleanup public gfx API 2026-07-02 21:09:56 -06:00
Luke Street f9fa4ea5e0 Add public aurora::gfx API: custom draws + pass primitives
Custom draw types (generational u64 ids with slot reuse; stale ids in
recorded frames become no-ops) let external code record inline draws into
the current render pass via push_custom_draw; the callback runs on the
render worker with the live RenderPassEncoder, and GX pipeline/bind
group/viewport/scissor state is restored afterward. Streaming buffer
push_* helpers are re-exposed publicly with no-frame guards.

Pass primitives mirror the GXCopyTex/GXCreateFrameBuffer/
GXRestoreFrameBuffer machinery: resolve_pass snapshots the current pass
targets (color copy + optional R32Float raw-depth conversion, MSAA-aware)
into per-frame-slot pooled textures, then continues on a fresh EFB pass
or ends an offscreen pass created by create_pass. The internal
resolve_pass was renamed resolve_pass_into to free the public name.
2026-07-02 17:37:13 -06:00
Luke Street 566cf1dc1a Add virtual source API to texture_replacement 2026-07-02 01:02:06 -06:00
Luke Street 1076784771 Update aurora_dvd_overlay_files comment 2026-07-02 00:55:34 -06:00
Irastris 9087a409da Add API for checking if textures have an available replacement (#236)
* Add API for checking if textures have an available replacement

* Add test stubs for arm64

* GXIsTexObjReplaced -> has_replacement
2026-06-27 21:10:07 -06:00
Ahmad Abdallah 27f3bdfd22 Fix Aurora default size + ARAM macros (#231) 2026-06-27 18:40:43 -06:00
Luke Street 05495810ba Migrate remaining GX functions to FIFO 2026-06-22 20:29:39 -07:00
Luke Street e3fd6b1900 Implement aurora_get_fps 2026-06-14 11:23:24 -06:00
Luke Street 55b993e08e Add aurora::gx::dl reader & optimizer 2026-06-13 10:15:47 -06:00
Luke Street 5143394381 Add GX_AUTO Aurora extension for GXBegin 2026-06-09 23:38:22 -06:00
Pieter-Jan Briers 04cd3b3ac7 Allow AURORA_GFX_DEBUG_GROUPS to be set from CMake individually (#221)
So that I can do target_compile_definitions(aurora_gx PRIVATE AURORA_GFX_DEBUG_GROUPS) instead of needing to enable DEBUG
2026-06-03 20:57:54 -06:00
Thomas Ryan fb156d78ca Fix GX indirect tile window rendering (#218)
Co-authored-by: Thomas Ryan <contact@thomasryan.ca>
2026-06-02 10:04:31 -06:00
Pieter-Jan Briers 7dd107e1a4 DVD file overlay support (#216)
* DVD file overlay support

Fixes #163

Basically allows games to "overlay" a set of file paths over the DVD. These are provided as a flat list of absolute paths, and when an overlayed file is read, the game gets the ability to provide its own read/seek callbacks.

The current implementation rebuilds the FST. This means EntryNums will not be consistent with the original disc, but it does avoid rewriting a significant chunk of the existing DVD code that relies on the FST.

* Comments and a guard

* EntryNum handling rewrite

Game now assigns entrynums for added files, and original disc entrynums are preserved.

* Split FST logic into another file in dvd lib

* Fix overlay userdata 0

Dusklight was using integer indexes for the userdata of overlay files. This meant file 0 was a null void*, and that meant the DVD code didn't treat it as an overlaid file.

Add an extra bool to avoid getting confused like this.

* Make entryNum only validated if not replacing file

* Make FST rebuilds thread safe with concurrent readers

Since I kinda would like to eventually allow mods to be loaded without game restart (where practical)

* Doc updates

* Remove debug logs

* Aurora-allocated entry nums & dir support

* Add warning for resetting cwd

---------

Co-authored-by: Luke Street <luke@street.dev>
2026-05-30 13:16:42 -06:00
SuperDude88 7ba0d010cc Implement GX2SetPolygonOffset
Co-authored-by: Lurs <2795933+Lurs@users.noreply.github.com>

Co-authored-by: Luke Street <luke@street.dev>
2026-05-30 10:25:07 -06:00
Luke Street 558ba0a987 Add RG8 and BC1 PC texture formats 2026-05-30 10:03:34 -06:00
Luke Street c214a67adf Runtime texture replacement API 2026-05-30 10:01:40 -06:00
Luke Street 9975a16f12 RmlUi: Add RuntimeTextureProvider 2026-05-27 22:56:27 -06:00
Luke Street d8720454bb RmlUi: Implement custom touch* events 2026-05-27 22:56:19 -06:00
Luke Street 498979df24 Add device haptics & gyro; virtual PADStatus API 2026-05-27 22:56:00 -06:00
Reilly Brogan e9db7ea7b2 Add resourcesPath to auroraConfig (#211)
Signed-off-by: Reilly Brogan <reilly@reillybrogan.com>
2026-05-27 18:27:57 -06:00
Luke Street 8f1ea3e126 Disable CPU graphics adapters by default 2026-05-24 12:55:38 -06:00
Ash 2b07d554d7 feat(input): add API for retrieving if a LED is present (#205) 2026-05-23 10:03:32 -06:00
Irastris 312514bd77 Implement Area sampling for scaling the internal resolution (#197)
* Implement Area sampler for scaling the internal resolution

* Move resampling to before RmlUi instead of inside it
Allows non-Bilinear resampling to work regardless of RmlUi being init
2026-05-17 20:57:23 -04:00