[idd] recovery: restore fallback display

Add a protocol-independent recovery channel outside LGMP so clients can
request a usable guest display even when transport versions differ.

Synchronize recovery state with the helper across driver restarts and
restore the configured topology without persisting temporary changes.
This commit is contained in:
Geoffrey McRae
2026-08-11 23:31:11 +10:00
parent 9898e9bcec
commit bacf376305
18 changed files with 1290 additions and 57 deletions

View File

@@ -51,7 +51,8 @@ private:
CDisplayConfiguration m_displayConfiguration;
CMonitorManager m_monitorManager;
WDFTIMER m_transportTimer = nullptr;
WDFTIMER m_transportTimer = nullptr;
bool m_recoveryHandlerSet = false;
UINT m_iddCxVersion = 0;
bool m_hasIddCx110DDIs = false;
@@ -67,6 +68,8 @@ private:
void TransportTimer();
void OnSetCursorPos(int32_t x, int32_t y) override;
void OnSetResolution(uint32_t width, uint32_t height) override;
void OnRecoveryRequest(
uint64_t session, uint32_t serial, bool active) override;
void SetResolution(uint32_t width, uint32_t height);
public: