100 Commits

Author SHA1 Message Date
Luke Street 134a081f7c Reimplement draw call merging & refactor aurora::gx 2026-03-05 20:18:41 -07:00
Luke Street e266245923 Middle click paste strikes again 2026-03-05 12:57:28 -07:00
Luke Street b5cc2d9f9b Actually decode TCG mtx values 2026-03-05 12:55:48 -07:00
Luke Street a8f80ac166 Merge remote-tracking branch 'magcius/ssmask' 2026-03-05 11:44:48 -07:00
Jasper St. Pierre 894afb4513 gfx fix 2026-03-05 09:44:33 -08:00
Jasper St. Pierre 7f3bdd902d gx: SS_MASK 2026-03-05 09:44:29 -08:00
Luke Street 6e96710482 Add pull_request event to CI; rename SetViewportCommand->Viewport 2026-03-05 10:17:03 -07:00
Dávid Balatoni 604232c4ff Implement GXGetViewportv (#33) 2026-03-05 10:09:26 -07:00
Pieter-Jan Briers f8b9fd0984 Implement GD API (#29)
* Implement GD API

Code taken from TP decomp. Works as-is, mostly.

* cmath
2026-03-04 22:48:37 -07:00
Jasper St. Pierre 8fd296bad9 gx: Add support for PNMTXIDX
* Always upload all texmtx/pttexmtx if someone uses one.
* Always use Mat3x4 for all texture matrices.
2026-03-04 09:32:51 -08:00
Jasper St. Pierre 1d09ea5b3f gx: Start on PNMTXIDX/TEXMTXIDX support by marking it as an indexed attribute
We're going to reuse the INDEX8 logic for it.
2026-03-04 09:32:51 -08:00
Jasper St. Pierre 5888235ec2 gx: XY/S8 2026-03-04 09:32:51 -08:00
Jasper St. Pierre d8c5d416a4 gx: Fix i/s naming difference in shader 2026-03-04 09:32:51 -08:00
Luke Street 94155429d9 Fixes 2026-03-03 12:05:09 -07:00
Pieter-Jan Briers afaa864642 gx: u32 arrays, le parsing (not hooked up anywhere) (#27)
Co-authored-by: Jasper St. Pierre <jstpierre@mecheye.net>
2026-03-03 10:46:06 -07:00
Jeffrey Crowell 676fdd4973 move assert in TryGuardRegion to in w32 only code (#30)
this will always fire on posix platforms unless the rest other calls to this part of the code are implemented (which they probably won't be)
2026-03-03 10:45:46 -07:00
Pieter-Jan Briers e4afaeeeb7 OS functions start (#16)
* OS memory start

OSInit()
MEM1 size configurable via AuroraConfiguration
Fancy guard pages (who knows if it'll be useful)

* OSGetTime() and OSGetTick()

* Fix OSPhysicalToCached etc for 64-bit pointers

* Specify memory size in OS boot info

Used by TP at least

* Fix MEM1Start/MEM1End definition

oops

* Implement some OS arena functions

* DEBUG -> NDEBUG

* Implement memory translation functions

I decided to remove the macros from the header given they're very unlikely to matter perf wise and it reduces code duplication.

There's no distinction between cached and uncached. Physical is relative to MEM1.

* Fix symbol mismatches from forgetting to include the header

* Implement OSReport and similar logging functions

* Fix OSBaseAddress

Ugh

* Implement OSGetPhysicalMemSize

* Fix usage of static for global variables

* Remove ../ prefixes from OS CMake file

CLion did this

* Remaining headers needed for TP to build

* Rider's "Unversioned Files" will keep trolling me

* Remove TP-specific OSReport functions

* Hardcode OS_BUS_CLOCK in os.h

TP has it referenced in an initializer, so relying on MEM1 being initialized is impossible.

* Import TP ARAM emulation code

* Guard against double OSInit() calls.

---------

Co-authored-by: Luke Street <luke@street.dev>
2026-03-02 08:33:42 -07:00
Pieter-Jan Briers a782167fd5 Fix GX_U16 (#24) 2026-03-01 23:19:48 -07:00
Pieter-Jan Briers c6d67d2e40 Add extra stuff to GX & VI headers (#23)
* Add extra stuff to GX & VI headers

Everything needed for TP to compile against Aurora here.

* Missed one

* GXVert impls

* GXProject
2026-03-01 23:19:39 -07:00
Pieter-Jan Briers 3b582550fc GX_VA_POS, GX_POS_XY, GX_S16 vertex format handling (#20)
* GX_VA_POS, GX_POS_XY, GX_S16 vertex format handling

Used by TP

* Uhhh
2026-03-01 11:08:57 -07:00
Dávid Balatoni d2380a7e39 Fix GX_POS_XY GX_U16 count and type (#19) 2026-03-01 07:54:24 -07:00
Jeffrey Crowell c30514ef04 Add stdint.h include for fixed-width integer types (#17)
was failing to build on mac, missing intptr_t
2026-02-24 19:30:31 -07:00
Roman Sandu 08e965bbe8 Added AURORA_NO_GX build option (#15) 2026-02-23 12:59:05 -07:00
Roman Sandu e2390a3ccf SDK headers/cpp additions (#14) 2026-02-23 12:40:06 -07:00
Pieter-Jan Briers 505f922a91 Mtx functions improvement (#12)
* Alias PS* math functions to C_* when not on GEKKO

TP has some call sites that directly reference the PS functions, so we need to redirect these to the C implementations

* Implement remaining mtx math functions

Taken from TP decomp

* Replace mtx assert function stubs with the C assert macro

We presumably do not care about preserving the original line numbers from decomp.

* Fix mtxstack asserts truncating pointers

* Make Vec have "struct Vec" name too

Fixes compile in TP
2026-02-23 08:16:51 -07:00