* begin work on integration
* draw null tex when tex handle is null, switch to immediates for geometry translation
* fix window resizing and texture loads, switch to dynamic ubo
* remove immediate usage
* Add initial rmlui public API
* Use proper dimensions; fix texture resolution
* Remove unnecessary SetDimensions
* Cleanup & add clip mask support
* Implement blur and shadow filters
---------
Co-authored-by: Luke Street <luke@street.dev>
This is a breaking change: `GXSetViewport`, `GXSetScissor`, `GXSetTexCopySrc`, `GXSetTexCopyDst` now accept logical coords relative to the `VIConfigure` EFB size.
`GXSetViewportRender` and `GXSetScissorRender` are used to override the scaled viewport/scissor from the logical coords.
* Add experimental mouse API
* Add aurora::core library for aurora::ms
* Add absl::flat_hash_map library for aurora::ms
* Add comment clarifying MS is an aurora extension
* Clear MSStatus::buttons to prevent spurious values
* Minor cleanup for MSRead and MS_BUTTON_* bits
* Switch to Poll -> Read paradigm
* Clear mouse scroll state before polling for events
* Add functionality to lock GX framebuffer aspect ratio
This leaves the imgui (so including OS) framebuffer alone.
AuroraWindowSize now has new fields for the native framebuffer, the aspect ratio controls modify the existing fields.
* Fix from merge
* fix gx_test_stubs.cpp
If we try and initialize anything controller related before the event
subsystem is initialized we lose all controllers detected on startup.
To solve this we simply wait until the first frame is about to be rendered
*then* initialize the controller subsystems