* Search for system installs of sqlite3 and zstd
This appears to work to build Aurora against both cmake and autoconf installs of libzstd.
Signed-off-by: Reilly Brogan <reilly@reillybrogan.com>
* Fix sqlite3 compat with older cmake
Signed-off-by: Reilly Brogan <reilly@reillybrogan.com>
---------
Signed-off-by: Reilly Brogan <reilly@reillybrogan.com>
* Implement PNG & arb texture replacements
Fixes#119
For arb textures it's just making sure the file parsing can handle them. Idk if we need to do something special for it.
* Allow non-mipmapped textures to be replaced by mipmapped textures
Some of Henriko's textures (like the cuttable grass) rely on this.
The mipmap bool is no longer part of the runtime key.
* Make texture name the texture replacement key
Might as well? Helped me debug some stuff
* Oops that broke it bad
* libpng instead of spng
* I did it again
* Update libpng fetch
* Add zlib fetch
* Forgot to set the hash
* Add zlib redirect
* Add INCLUDE_DIR(S) to redirect
* Prefer shared for libpng
* Set CMAKE_FIND_PACKAGE_TARGETS_GLOBAL
---------
Co-authored-by: Luke Street <luke@street.dev>
* 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.