* 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>
* Sprinkle Tracy all over the project
* Move Tracy FetchContent to extern file, disable Tracy by default
* Use older CMake syntax for setting cache variables
* Fix test compile
* Rename ALIGN macro to AURORA_ALIGN
Needed because it conflicts with a macro in Apple's SDK headers on my macbook, and Tracy is now pulling in that header.
* Set up dawn cache
Massively speeds up pipeline compilation on the second go around, especially for D3D12.
Currently, uses SQLite for the cache. SQLite is committed in as the "amalgam" blob, but I'm open for better ways to fetch it.
* Compress cache contents with zstd
More significantly for Vulkan, less so for D3D12.
* Store cache keys as XXH128 instead
This reduces the size of the D3D12 cache by a ridiculous amount
* Stop using exceptions for error handling
* FetchContent for sqlite; cleanup & make zstd optional
---------
Co-authored-by: Luke Street <luke@street.dev>
Dawn, SDL3 and nod are fetched as a prebuilt package when available
for the current platform. Otherwise, system libraries are attempted.
Finally, we fallback to building them from source.