=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: tests: Print adapter info on Windows.
Alexandre Julliard
julliard at winehq.org
Mon Dec 3 15:23:59 CST 2018
Module: vkd3d
Branch: master
Commit: b4d2306b9ba726a678b2d08c3585f56da3cdb0b3
URL: https://source.winehq.org/git/vkd3d.git/?a=commit;h=b4d2306b9ba726a678b2d08c3585f56da3cdb0b3
Author: Józef Kucia <jkucia at codeweavers.com>
Date: Mon Dec 3 11:31:26 2018 +0100
tests: Print adapter info on Windows.
Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
include/vkd3d_dxgi.idl | 26 +++++++++++++++++++++++++-
tests/d3d12.c | 29 +++++++++++++++++++++++++++--
2 files changed, 52 insertions(+), 3 deletions(-)
diff --git a/include/vkd3d_dxgi.idl b/include/vkd3d_dxgi.idl
index 5b80e1f..7e07a78 100644
--- a/include/vkd3d_dxgi.idl
+++ b/include/vkd3d_dxgi.idl
@@ -38,7 +38,6 @@ typedef enum DXGI_MODE_ROTATION
DXGI_MODE_ROTATION_ROTATE270 = 0x4,
} DXGI_MODE_ROTATION;
-interface IDXGIAdapter;
interface IDXGIAdapter1;
interface IDXGIOutput;
typedef struct DXGI_SWAP_CHAIN_DESC DXGI_SWAP_CHAIN_DESC;
@@ -54,6 +53,19 @@ const DXGI_USAGE DXGI_USAGE_READ_ONLY = 0x00000100ul;
const DXGI_USAGE DXGI_USAGE_DISCARD_ON_PRESENT = 0x00000200ul;
const DXGI_USAGE DXGI_USAGE_UNORDERED_ACCESS = 0x00000400ul;
+typedef struct DXGI_ADAPTER_DESC
+{
+ WCHAR Description[128];
+ UINT VendorId;
+ UINT DeviceId;
+ UINT SubSysId;
+ UINT Revision;
+ SIZE_T DedicatedVideoMemory;
+ SIZE_T DedicatedSystemMemory;
+ SIZE_T SharedSystemMemory;
+ LUID AdapterLuid;
+} DXGI_ADAPTER_DESC;
+
[
local,
object,
@@ -80,6 +92,18 @@ interface IDXGIDeviceSubObject : IDXGIObject
}
[
+ object,
+ local,
+ uuid(2411e7e1-12ac-4ccf-bd14-9798e8534dc0)
+]
+interface IDXGIAdapter : IDXGIObject
+{
+ HRESULT EnumOutputs(UINT output_idx, IDXGIOutput **output);
+ HRESULT GetDesc(DXGI_ADAPTER_DESC *desc);
+ HRESULT CheckInterfaceSupport(REFGUID guid, void *umd_version);
+}
+
+[
local,
object,
uuid(310d36a0-d2e7-4c0a-aa04-6a9d23b8886a),
diff --git a/tests/d3d12.c b/tests/d3d12.c
index e5a6249..3956fba 100644
--- a/tests/d3d12.c
+++ b/tests/d3d12.c
@@ -890,18 +890,41 @@ static IUnknown *create_adapter(void)
return adapter;
}
- if (use_adapter_idx)
- hr = IDXGIFactory4_EnumAdapters(factory, use_adapter_idx, (IDXGIAdapter **)&adapter);
+ hr = IDXGIFactory4_EnumAdapters(factory, use_adapter_idx, (IDXGIAdapter **)&adapter);
IDXGIFactory4_Release(factory);
if (FAILED(hr))
trace("Failed to get adapter, hr %#x.\n", hr);
return adapter;
}
+
+static void print_adapter_info(void)
+{
+ IDXGIAdapter *dxgi_adapter;
+ DXGI_ADAPTER_DESC desc;
+ IUnknown *adapter;
+ HRESULT hr;
+
+ if (!(adapter = create_adapter()))
+ return;
+
+ hr = IUnknown_QueryInterface(adapter, &IID_IDXGIAdapter, (void **)&dxgi_adapter);
+ ok(hr == S_OK, "Failed to query IDXGIAdapter, hr %#x.\n", hr);
+ IUnknown_Release(adapter);
+
+ hr = IDXGIAdapter_GetDesc(dxgi_adapter, &desc);
+ ok(hr == S_OK, "Failed to get adapter desc, hr %#x.\n", hr);
+
+ trace("Adapter: %04x:%04x.\n", desc.VendorId, desc.DeviceId);
+
+ IDXGIAdapter_Release(dxgi_adapter);
+}
#else
static IUnknown *create_adapter(void)
{
return NULL;
}
+
+static void print_adapter_info(void) {}
#endif
static ID3D12Device *create_device(void)
@@ -21923,6 +21946,8 @@ START_TEST(d3d12)
ID3D12Debug_Release(debug);
}
+ print_adapter_info();
+
run_test(test_create_device);
run_test(test_node_count);
run_test(test_check_feature_support);
More information about the wine-cvs
mailing list