The original title said a packed-RGBA fallback was missing. It is not: the particle position textures are Rgba8Unorm (crates/hookecho/src/wind_gpu.rs), which is exactly that encoding, so a device without float render targets already stays on the GPU path.
What is genuinely unknown is whether anything still lands on the CPU mesh fallback, and whether it is slow enough to matter there.
What would help: run the animated wind layer with HOOKECHO_CPU_WIND unset. If it is slow, or you can tell from the frame-time overlay that you are on the mesh path, comment with the GPU, the OS and the driver. That report is the whole issue — there is no patch to write until one exists.
The original title said a packed-RGBA fallback was missing. It is not: the particle position textures are
Rgba8Unorm(crates/hookecho/src/wind_gpu.rs), which is exactly that encoding, so a device without float render targets already stays on the GPU path.What is genuinely unknown is whether anything still lands on the CPU mesh fallback, and whether it is slow enough to matter there.
What would help: run the animated wind layer with
HOOKECHO_CPU_WINDunset. If it is slow, or you can tell from the frame-time overlay that you are on the mesh path, comment with the GPU, the OS and the driver. That report is the whole issue — there is no patch to write until one exists.