Commit Graph

8 Commits

Author SHA1 Message Date
Geoffrey McRae
5eca9a687f [client/idd] network: process only damaged PyroWave blocks
Limit GPU encoding and client decoding to damage-derived regions.
Preserve per-level sparse transform state and cover mirrored inverse
edges.

Keep cumulative canonical packets so dropped frames remain recoverable.
2026-11-06 14:40:30 +11:00
Geoffrey McRae
ccdcad14ca [client/idd] network: send cumulative PyroWave updates 2026-11-06 14:40:26 +11:00
Geoffrey McRae
7f63dc986e [client] network: fix ANGLE decoder synchronization
The dequant shader returned before workgroup barriers for missing
blocks. Mask those blocks to zero so ANGLE's D3D compiler accepts the
shader while every invocation reaches each barrier.

The vcpkg ANGLE build also omitted upstream shared-context locking.
Enable both locking definitions so decode dispatches cannot race the
render thread through ANGLE's shared D3D11 state manager.
2026-11-06 14:40:26 +11:00
Geoffrey McRae
f6c32c2c1e [client] network: request ES 3.1 decoder context 2026-11-06 14:40:26 +11:00
Geoffrey McRae
ead2b8adf0 [client] network: crop aligned video planes 2026-11-06 14:37:38 +11:00
Geoffrey McRae
bdf5fed38d [client/idd] network: implement tiled video transport 2026-11-06 14:37:38 +11:00
Geoffrey McRae
2f981a9a60 [client] network: fix wavelet reconstruction
Decode each subblock from its proper bitplane offset.

Keep reconstructed wavelet levels in separate textures.

This lets inverse transforms safely write the next level.
2026-11-06 14:37:38 +11:00
Geoffrey McRae
53c25dd5a9 [client/idd] network: add GPU video transport 2026-11-06 14:37:38 +11:00