[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.
This commit is contained in:
Geoffrey McRae
2026-08-07 16:39:07 +10:00
parent 30a1383d5e
commit 6725133375
46 changed files with 1026 additions and 480 deletions

View File

@@ -27,11 +27,10 @@
#include <atomic>
#include <stdint.h>
#include "capture/CFrameScheduler.h"
#include "transport/CFrameScheduler.h"
#include "d3d/CInteropResource.h"
struct CD3D12Device;
class CFrameTransport;
using namespace Microsoft::WRL;
@@ -70,8 +69,8 @@ class CFrameBufferResource
void * m_map = nullptr;
public:
bool Init(CFrameTransport * transport, CD3D12Device * dx12,
unsigned frameIndex, uint8_t * base, size_t size,
bool Init(CD3D12Device * dx12, unsigned frameIndex, uint8_t * base,
uint64_t heapOffset, size_t size, size_t maxFrameSize,
const D3D12_RESOURCE_DESC * textureDesc = nullptr);
void Reset();