summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrediano Ziglio <fziglio@redhat.com>2016-08-17 08:05:11 +0100
committerFrediano Ziglio <freddy77@gmail.com>2022-11-09 21:49:49 +0000
commit5cd6559fefb9cd647be3e19b9c4a0bd15b155c27 (patch)
tree755845244de9958ce0e181194f858feee743d9a2
parent50175107091d5640cb0bb251807a9fcbae85f0f2 (diff)
Get D3DKMTOpenAdapterFromDeviceName and D3DKMTOpenAdapterFromDeviceName independently
There's no reason why we can't use one if the other is not present Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
-rw-r--r--vdagent/display_configuration.cpp17
1 files changed, 5 insertions, 12 deletions
diff --git a/vdagent/display_configuration.cpp b/vdagent/display_configuration.cpp
index fc308ce..1035dbc 100644
--- a/vdagent/display_configuration.cpp
+++ b/vdagent/display_configuration.cpp
@@ -406,6 +406,7 @@ bool WDDMInterface::init_d3d_api()
return false;
}
+ bool result = false;
do {
_pfnClose_adapter = (PFND3DKMT_CLOSEADAPTER)
GetProcAddress(hModule, "D3DKMTCloseAdapter");
@@ -424,26 +425,18 @@ bool WDDMInterface::init_d3d_api()
break;
}
+ // we found all needed function, following are optionals
+ result = true;
+
_pfnOpen_adapter_device_name = (PFND3DKMT_OPENADAPTERFROMDEVICENAME)
GetProcAddress(hModule, "D3DKMTOpenAdapterFromDeviceName");
- if (!_pfnOpen_adapter_device_name) {
- break;
- }
_pfnOpen_adapter_gdi_name = (PFND3DKMT_OPENADAPTERFROMGDIDISPLAYNAME)
GetProcAddress(hModule, "D3DKMTOpenAdapterFromGdiDisplayName");
- if (!_pfnOpen_adapter_gdi_name) {
- break;
- }
-
}
while(0);
- //Did we get them ?
- if (!_pfnClose_adapter || !_pfnOpen_adapter_hdc || !_pfnEscape) {
- return false;
- }
- return true;
+ return result;
}
D3D_HANDLE WDDMInterface::adapter_handle(LPCTSTR device_name)