[PATCH v4 1/5] dxgi/tests: Add tests for IDXGIAdapter3::SetVideoMemoryReservation().

Conor McCarthy cmccarthy at codeweavers.com
Wed Dec 4 08:11:14 CST 2019


Signed-off-by: Conor McCarthy <cmccarthy at codeweavers.com>
---
 dlls/dxgi/tests/dxgi.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/dlls/dxgi/tests/dxgi.c b/dlls/dxgi/tests/dxgi.c
index 874c39b8..1b132f92 100644
--- a/dlls/dxgi/tests/dxgi.c
+++ b/dlls/dxgi/tests/dxgi.c
@@ -941,7 +941,9 @@ static void test_adapter_luid(void)
 static void test_query_video_memory_info(void)
 {
     DXGI_QUERY_VIDEO_MEMORY_INFO memory_info;
+    const UINT64 reservation = 0x100000;
     IDXGIAdapter3 *adapter3;
+    DXGI_ADAPTER_DESC desc;
     IDXGIAdapter *adapter;
     IDXGIDevice *device;
     ULONG refcount;
@@ -981,6 +983,29 @@ static void test_query_video_memory_info(void)
     hr = IDXGIAdapter3_QueryVideoMemoryInfo(adapter3, 0, DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL + 1, &memory_info);
     ok(hr == E_INVALIDARG, "Failed to query video memory info, hr %#x.\n", hr);
 
+    hr = IDXGIAdapter_GetDesc(adapter, &desc);
+    ok(SUCCEEDED(hr), "GetDesc failed, hr %#x.\n", hr);
+
+    hr = IDXGIAdapter3_SetVideoMemoryReservation(adapter3, 0, DXGI_MEMORY_SEGMENT_GROUP_LOCAL, reservation);
+    ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+    hr = IDXGIAdapter3_SetVideoMemoryReservation(adapter3, 0, DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL, 0);
+    ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+    hr = IDXGIAdapter3_SetVideoMemoryReservation(adapter3, 0, DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL, reservation);
+    todo_wine_if(!desc.DedicatedVideoMemory)
+    ok(hr == (desc.DedicatedVideoMemory ? S_OK : E_INVALIDARG), "Got unexpected hr %#x.\n", hr);
+
+    hr = IDXGIAdapter3_QueryVideoMemoryInfo(adapter3, 0, DXGI_MEMORY_SEGMENT_GROUP_LOCAL, &memory_info);
+    ok(hr == S_OK, "Failed to query video memory info, hr %#x.\n", hr);
+    todo_wine
+    ok(memory_info.CurrentReservation == reservation, "Got unexpected current reservation 0x%s.\n",
+            wine_dbgstr_longlong(memory_info.CurrentReservation));
+
+    hr = IDXGIAdapter3_QueryVideoMemoryInfo(adapter3, 0, DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL, &memory_info);
+    ok(hr == S_OK, "Failed to query video memory info, hr %#x.\n", hr);
+    todo_wine_if(desc.DedicatedVideoMemory)
+    ok(memory_info.CurrentReservation == reservation || !desc.DedicatedVideoMemory, "Got unexpected current reservation 0x%s.\n",
+            wine_dbgstr_longlong(memory_info.CurrentReservation));
+
     IDXGIAdapter3_Release(adapter3);
 
 done:
-- 
2.24.0




More information about the wine-devel mailing list