Commit Graph

52 Commits

Author SHA1 Message Date
Luke Street 10308b0ccb Optimize RmlUi render passes 2026-06-14 20:15:45 -06:00
Luke Street 2a8471a953 Avoid holding SurfaceLock over gpu_synchronize 2026-06-14 00:14:27 -06:00
Luke Street 4943af53c7 Don't ignore Null backend 2026-06-14 00:14:27 -06:00
Luke Street ad55eedb31 GPU profiling & Dawn trace integration with Tracy 2026-06-13 10:39:24 -06:00
Luke Street 6fa2cbb961 Don't report errors/device lost on shutdown 2026-06-08 23:13:56 -06:00
Luke Street cc9aa81ce7 Make DeviceLost fatal 2026-06-08 22:44:59 -06:00
Luke Street b3afea435a Add ASTC DDS support to texture_replacements (#226) 2026-06-06 07:40:41 -06:00
Luke Street 71d8462557 Introduce render worker & revamp RmlUi backend 2026-06-04 23:43:13 -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
Luke Street f8e9b14fb0 Fix wgpu::DeviceDescriptor initialization 2026-05-23 15:49:53 -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 59240bf387 Guard create_render_texture (#184)
Getting a *lot* of crashes in Sentry that seem to be this function allocating invalid render textures? So let's add a guard so we maybe can catch it in the act.
2026-05-14 15:41:08 -06: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 ac165cf1a6 Hold SDL's Android activity lock around surface-critical areas 2026-05-09 15:02:38 -06:00
Luke Street 1eeff98783 Android/iOS backgrounding fixes; pause on focus lost 2026-05-08 16:55:12 -06:00
Luke Street 552be91d68 Fix SDL_Renderer scaling & surface format selection 2026-05-06 16:35:54 -06:00
Luke Street 4cd8d2f009 Refactor viewport fit handling; use game viewport for RmlUi 2026-05-05 23:13:31 -06:00
CraftyBoss eceac96bcb RmlUi integration (#142)
* 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>
2026-04-27 23:43:30 -06:00
Luke Street 9363a7470c Fix VSync disable on Metal 2026-04-23 16:40:18 -06:00
Luke Street 63cc5da669 Reduce bind group cache retention & clear on resize 2026-04-21 01:06:16 -06:00
Luke Street 5d420c9f73 Arbitrary mipmap detection & texture cleanup (#131) 2026-04-20 20:33:14 -06:00
Luke Street c05e7aace1 Viewport scaling rework & IR configuration (#127)
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.
2026-04-18 14:10:32 -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
Luke Street 79507b88b9 Add vsync configuration 2026-04-06 23:04:43 -06:00