mirror of
https://github.com/gnif/LookingGlass.git
synced 2025-10-11 01:48:09 +00:00
[idd] initial indirect driver with Looking Glass monitor
This commit is contained in:
34
idd/LGIdd/CIndirectMonitorContext.cpp
Normal file
34
idd/LGIdd/CIndirectMonitorContext.cpp
Normal file
@@ -0,0 +1,34 @@
|
||||
#include "CIndirectMonitorContext.h"
|
||||
#include "Direct3DDevice.h"
|
||||
|
||||
CIndirectMonitorContext::CIndirectMonitorContext(_In_ IDDCX_MONITOR monitor) :
|
||||
m_monitor(monitor)
|
||||
{
|
||||
OutputDebugStringA(__FUNCTION__);
|
||||
}
|
||||
|
||||
CIndirectMonitorContext::~CIndirectMonitorContext()
|
||||
{
|
||||
OutputDebugStringA(__FUNCTION__);
|
||||
m_thread.reset();
|
||||
}
|
||||
|
||||
void CIndirectMonitorContext::AssignSwapChain(IDDCX_SWAPCHAIN swapChain, LUID renderAdapter, HANDLE newFrameEvent)
|
||||
{
|
||||
OutputDebugStringA(__FUNCTION__);
|
||||
m_thread.reset();
|
||||
auto device = std::make_shared<Direct3DDevice>(renderAdapter);
|
||||
if (FAILED(device->Init()))
|
||||
{
|
||||
WdfObjectDelete(swapChain);
|
||||
return;
|
||||
}
|
||||
|
||||
m_thread.reset(new CSwapChainProcessor(swapChain, device, newFrameEvent));
|
||||
}
|
||||
|
||||
void CIndirectMonitorContext::UnassignSwapChain()
|
||||
{
|
||||
OutputDebugStringA(__FUNCTION__);
|
||||
m_thread.reset();
|
||||
}
|
Reference in New Issue
Block a user