mirror of
https://github.com/gnif/LookingGlass.git
synced 2026-08-09 16:51:31 +00:00
[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:
@@ -24,19 +24,20 @@
|
||||
#include "CIndirectDeviceContext.h"
|
||||
#include "common/KVMFR.h"
|
||||
|
||||
//class CSwapChainProcessor;
|
||||
struct CD3D12Device;
|
||||
|
||||
class CFrameBufferPool
|
||||
{
|
||||
CSwapChainProcessor * m_swapChain;
|
||||
CIndirectDeviceContext * m_device = nullptr;
|
||||
CD3D12Device * m_dx12 = nullptr;
|
||||
|
||||
CFrameBufferResource m_buffers[LGMP_Q_FRAME_BUFFER_LEN];
|
||||
|
||||
public:
|
||||
void Init(CSwapChainProcessor * swapChain);
|
||||
void Init(CIndirectDeviceContext * device, CD3D12Device * dx12);
|
||||
void Reset();
|
||||
|
||||
CFrameBufferResource* CFrameBufferPool::Get(
|
||||
CFrameBufferResource * Get(
|
||||
const CIndirectDeviceContext::PreparedFrameBuffer& buffer,
|
||||
size_t minSize,
|
||||
const D3D12_RESOURCE_DESC * textureDesc = nullptr);
|
||||
|
||||
Reference in New Issue
Block a user