[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