[PATCH v3 7/7] dxgi/tests: Add tests for IDXGIAdapter3::SetVideoMemoryReservation().

Conor McCarthy cmccarthy at codeweavers.com
Mon Nov 25 08:11:01 CST 2019


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

diff --git a/dlls/dxgi/tests/dxgi.c b/dlls/dxgi/tests/dxgi.c
index 874c39b8..ef221b52 100644
--- a/dlls/dxgi/tests/dxgi.c
+++ b/dlls/dxgi/tests/dxgi.c
@@ -941,11 +941,12 @@ 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;
+    HRESULT hr, non_local_hr;
     IDXGIAdapter3 *adapter3;
     IDXGIAdapter *adapter;
     IDXGIDevice *device;
     ULONG refcount;
-    HRESULT hr;
 
     if (!(device = create_device(0)))
     {
@@ -981,6 +982,23 @@ 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 = 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);
+    non_local_hr = IDXGIAdapter3_SetVideoMemoryReservation(adapter3, 0, DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL, reservation);
+    ok(non_local_hr == S_OK || non_local_hr == E_INVALIDARG, "Got unexpected hr %#x.\n", non_local_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);
+    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 || hr == E_INVALIDARG, "Failed to query video memory info, hr %#x.\n", hr);
+    ok(memory_info.CurrentReservation == reservation || non_local_hr == E_INVALIDARG, "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