[Spice-devel] [win32/vd_agent 2/4] add to CCD object reference to parent WDDM object

Yuri Benditovich yuri.benditovich at daynix.com
Wed Mar 6 17:01:35 UTC 2019


Adding to CCD object reference to WDDM interface that includes it.
This allows to use WDDM methods from CCD methods.

Signed-off-by: Yuri Benditovich <yuri.benditovich at daynix.com>
---
 vdagent/display_configuration.cpp | 4 +++-
 vdagent/display_configuration.h   | 5 ++++-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/vdagent/display_configuration.cpp b/vdagent/display_configuration.cpp
index bb2fb80..f535a38 100644
--- a/vdagent/display_configuration.cpp
+++ b/vdagent/display_configuration.cpp
@@ -416,6 +416,7 @@ WDDMInterface::WDDMInterface()
     , _pfnEscape(NULL)
     , _pfnOpen_adapter_device_name(NULL)
     , _pfnOpen_adapter_gdi_name(NULL)
+    , _ccd(*this)
 {
     LONG error(0);
     //Can we find the D3D calls we need?
@@ -679,7 +680,7 @@ bool WDDMInterface::escape(LPCTSTR device_name, void* data, UINT size_data)
     return NT_SUCCESS(status);
 }
 
-CCD::CCD()
+CCD::CCD(WDDMInterface& wddm)
     :_numPathElements(0)
     ,_numModeElements(0)
     ,_pPathInfo(NULL)
@@ -690,6 +691,7 @@ CCD::CCD()
     ,_pfnSetDisplayConfig(NULL)
     ,_primary_detached(false)
     ,_path_state(PATH_UPDATED)
+    ,_wddm(wddm)
 {
     load_api();
     get_config_buffers();
diff --git a/vdagent/display_configuration.h b/vdagent/display_configuration.h
index 7b5578e..81fabfe 100644
--- a/vdagent/display_configuration.h
+++ b/vdagent/display_configuration.h
@@ -48,9 +48,11 @@ typedef LONG(APIENTRY* PQUERYDISPLAYCONFIG)(UINT32, UINT32*, DISPLAYCONFIG_PATH_
 typedef LONG(APIENTRY* PSETDISPLAYCONFIG)(UINT32, DISPLAYCONFIG_PATH_INFO*, UINT32,
                                           DISPLAYCONFIG_MODE_INFO*, UINT32);
 
+class WDDMInterface;
+
 class CCD {
 public:
-    CCD();
+    CCD(WDDMInterface& wddm);
     ~CCD();
 
     bool query_display_config();
@@ -87,6 +89,7 @@ private:
 
     bool  _primary_detached;
     PATH_STATE _path_state;
+    WDDMInterface& _wddm;
 };
 
 class DisplayMode;
-- 
2.16.1.windows.4



More information about the Spice-devel mailing list