Commit Graph

13 Commits

Author SHA1 Message Date
Geoffrey McRae
e08e03bec0 [idd] postprocess: normalize downsample layout 2026-08-17 00:59:20 +10:00
Geoffrey McRae
946e0f4945 [idd] capture: copy partial linear damage by byte range
Retained native candidates and framebuffer targets are both linear
buffers with the same pitched layout. Publish partial damage using
CopyBufferRegion with byte offsets instead of encoding the ranges as
texture-footprint copies.

Collapse full-width rectangles into one command. Fall back to a full
copy when the partial path would exceed 256 commands, copy at least a
full frame of data, or receive invalid damage coordinates.

This removes the native-only command path introduced by 650636cc that
can fault the D3D12 copy queue after RGB24 benchmarking selects native.
2026-08-15 20:19:54 +10:00
Geoffrey McRae
70bc66b3f1 [idd] capture: execute texture frame graphs 2026-08-14 02:30:31 +10:00
Geoffrey McRae
a8eb49fb17 [idd] postprocess: separate calibrated frame branches 2026-08-14 02:30:31 +10:00
Geoffrey McRae
43d918b5f3 [idd] capture: build frame processing graph 2026-08-14 02:30:31 +10:00
Geoffrey McRae
91c501d602 [idd] logging: suppress duplicate pipeline initialization 2026-08-14 02:30:30 +10:00
Geoffrey McRae
8c21f61e91 [idd] postprocess: centralize compute effect utilities 2026-08-13 21:48:37 +10:00
Geoffrey McRae
84bda112ac [idd] postprocess: centralize color transform state 2026-08-13 21:41:45 +10:00
Geoffrey McRae
3d7df86a01 [idd] postprocess: centralize frame format utilities 2026-08-13 21:40:53 +10:00
Geoffrey McRae
61a49ebaba [idd] common: use CSRWLock throughout the drivers
Make CSRWLock own the native lock and provide scoped guards for shared,
exclusive, early-unlock, and non-blocking use.

Replace direct SRW lock management throughout the IDD, input driver,
and helper while preserving the existing lock scopes.
2026-08-11 23:50:13 +10:00
Geoffrey McRae
1de52f6e8a [idd] project: organize source layout
Move cadence and pipeline declarations under capture, and move local
named-pipe handling under ipc.

Flatten display contexts and rename files after their contained classes.
Keep transport headers limited to transport contracts and capabilities.

Consolidate CSwapChainProcessor definitions so each source file matches
the class it implements.
2026-08-07 18:16:18 +10:00
Geoffrey McRae
6725133375 [idd] transport: abstract LGMP implementation
Introduce transport, frame, and control interfaces with an LGMP factory
backend.

Move LGMP and IVSHMEM implementation details under transport/lgmp and
expose direct frame-buffer memory through a neutral capability.
2026-08-07 17:53:00 +10:00
Geoffrey McRae
30a1383d5e [idd] project: organize driver sources by responsibility
Group the IDD sources and Visual Studio filters by subsystem.

Split the device and swap-chain implementations into focused units,
rename the context classes, and reduce header coupling.
2026-08-07 15:49:18 +10:00