[idd] capture: split software and hardware frame processors

Move cadence-aware hardware capture and immediate software capture
behind a common frame processor interface.

Keep shared damage tracking and frame-buffer ownership in the base
processor, and move stateless format, resource, and rectangle helpers
into CFrameProcessorUtil.

Decouple frame-buffer resources from CSwapChainProcessor by passing the
device dependencies they use directly.
This commit is contained in:
Geoffrey McRae
2026-08-07 13:23:19 +10:00
parent d7c90e4693
commit 3ddc199bec
18 changed files with 2051 additions and 1662 deletions

View File

@@ -29,7 +29,10 @@
<ClCompile Include="CEdid.cpp" />
<ClCompile Include="CFrameBufferPool.cpp" />
<ClCompile Include="CFrameBufferResource.cpp" />
<ClCompile Include="CFrameProcessor.cpp" />
<ClCompile Include="CFrameProcessorUtil.cpp" />
<ClCompile Include="CFrameScheduler.cpp" />
<ClCompile Include="CHardwareFrameProcessor.cpp" />
<ClCompile Include="CIndirectDeviceContext.cpp" />
<ClCompile Include="CIndirectMonitorContext.cpp" />
<ClCompile Include="CInteropResourcePool.cpp" />
@@ -44,6 +47,7 @@
<ClCompile Include="effect\CHDR16to10Effect.cpp" />
<ClCompile Include="effect\CRGB24Effect.cpp" />
<ClCompile Include="CSettings.cpp" />
<ClCompile Include="CSoftwareFrameProcessor.cpp" />
<ClCompile Include="CSwapChainProcessor.cpp" />
<ClCompile Include="CD3D12Device.cpp" />
<ClCompile Include="Device.cpp" />
@@ -56,7 +60,10 @@
<ClInclude Include="CEdid.h" />
<ClInclude Include="CFrameBufferPool.h" />
<ClInclude Include="CFrameBufferResource.h" />
<ClInclude Include="CFrameProcessor.h" />
<ClInclude Include="CFrameProcessorUtil.h" />
<ClInclude Include="CFrameScheduler.h" />
<ClInclude Include="CHardwareFrameProcessor.h" />
<ClInclude Include="CIndirectMonitorContext.h" />
<ClInclude Include="CInteropResourcePool.h" />
<ClInclude Include="CInteropResource.h" />
@@ -70,6 +77,7 @@
<ClInclude Include="effect\CHDR16to10Effect.h" />
<ClInclude Include="effect\CRGB24Effect.h" />
<ClInclude Include="CSettings.h" />
<ClInclude Include="CSoftwareFrameProcessor.h" />
<ClInclude Include="CSwapChainProcessor.h" />
<ClInclude Include="CD3D12Device.h" />
<ClInclude Include="Device.h" />