[idd] capture: execute texture frame graphs

This commit is contained in:
Geoffrey McRae
2026-08-13 21:56:41 +10:00
parent deb963774e
commit 70bc66b3f1
25 changed files with 1484 additions and 111 deletions

View File

@@ -55,6 +55,12 @@ private:
bool ParseRules(const std::wstring& value, bool report);
const Rule * MatchRule(unsigned width, unsigned height) const;
PostProcessStatus Set(const ComPtr<ID3D12Device3>& device,
const D12FrameFormat& src, D12FrameFormat& dst, bool own);
bool Draw(const ComPtr<ID3D12Device3>& device,
const ComPtr<ID3D12GraphicsCommandList>& commandList,
const ComPtr<ID3D12Resource>& src, ID3D12Resource * dst,
RECT dirtyRects[], unsigned * nbDirtyRects);
public:
CDownsampleEffect() = default;
@@ -67,6 +73,9 @@ public:
PostProcessStatus SetFormat(const ComPtr<ID3D12Device3>& device,
const D12FrameFormat& src, D12FrameFormat& dst) override;
// Configures shader state without allocating the legacy-owned output.
PostProcessStatus Cfg(const ComPtr<ID3D12Device3>& device,
const D12FrameFormat& src, D12FrameFormat& dst);
void AdjustDamage(RECT dirtyRects[], unsigned * nbDirtyRects) override;
@@ -74,4 +83,9 @@ public:
const ComPtr<ID3D12GraphicsCommandList>& commandList,
const ComPtr<ID3D12Resource>& src, RECT dirtyRects[],
unsigned * nbDirtyRects) override;
// dst must match Cfg's output and be in COMMON; Run restores COMMON.
bool Run(const ComPtr<ID3D12Device3>& device,
const ComPtr<ID3D12GraphicsCommandList>& commandList,
const ComPtr<ID3D12Resource>& src, ID3D12Resource * dst,
RECT dirtyRects[], unsigned * nbDirtyRects);
};