16 Commits

Author SHA1 Message Date
Luke Street 9ef9144b57 WIP gpu_prof 2026-06-12 10:28:52 -06:00
Luke Street 9bc79d649c Prune dawn_cache.db entries after loading pipeline cache 2026-06-09 00:19:03 -06:00
Luke Street b3afea435a Add ASTC DDS support to texture_replacements (#226) 2026-06-06 07:40:41 -06:00
Luke Street 558ba0a987 Add RG8 and BC1 PC texture formats 2026-05-30 10:03:34 -06:00
Luke Street 8f1ea3e126 Disable CPU graphics adapters by default 2026-05-24 12:55:38 -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
Pieter-Jan Briers a41a0fb310 Don't crash loading unsupported texture replacements (#182)
So people stop getting crashes from BC textures on Android and iOS.
2026-05-14 15:40:45 -06:00
Luke Street 1eeff98783 Android/iOS backgrounding fixes; pause on focus lost 2026-05-08 16:55:12 -06:00
Luke Street 4cd8d2f009 Refactor viewport fit handling; use game viewport for RmlUi 2026-05-05 23:13:31 -06:00
Pieter-Jan Briers bec90f1b68 Set up dawn cache (#98)
* 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>
2026-04-08 13:46:51 -06:00
Pieter-Jan Briers f61c219ef2 Add functionality to lock GX framebuffer aspect ratio (#97)
* 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
2026-04-06 21:05:55 -06:00
Luke Street 6b9f614d32 Texture refactor (#78)
- Removes special sampling logic from the GX shader in favor of performing conversions using separate draw calls and swizzling
- Simplifies texture bindings
- Much more accurate EFB copy handling (still incomplete but better)
  - Handle copy clears appropriately (color, alpha, depth) + GXSetDstAlpha copies
- Re-enables code for buffered texture uploads
- Adds `lastTextureUploadSize` to AuroraStats
- Use RG8 + swizzle for IA4/IA8
2026-04-01 00:49:28 -06:00
Luke Street 7e98a8e140 Add Android surface support 2026-02-19 23:53:38 -07:00
Luke Street ca3e4f5273 Update to latest upstream dawn 2025-04-03 00:12:22 -06:00
Luke Street 893cabe55a Transition back to webgpu_cpp; initial emscripten support 2022-08-02 16:37:56 -04:00
Luke Street 9a725c89cf Initial commit 2022-07-27 11:25:25 -04:00