[PATCH 6/6] dxgi/tests: Test the fullscreen state after the swapchain window is destroyed.
Henri Verbeet
hverbeet at codeweavers.com
Fri Jan 24 10:02:08 CST 2020
From: Andrew Eikum <aeikum at codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
---
dlls/dxgi/tests/dxgi.c | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/dlls/dxgi/tests/dxgi.c b/dlls/dxgi/tests/dxgi.c
index b2b53f7a4ca..aaef8113640 100644
--- a/dlls/dxgi/tests/dxgi.c
+++ b/dlls/dxgi/tests/dxgi.c
@@ -2363,6 +2363,7 @@ static void test_set_fullscreen(IUnknown *device, BOOL is_d3d12)
IDXGISwapChain *swapchain;
IDXGIFactory *factory;
IDXGIOutput *output;
+ BOOL fullscreen;
ULONG refcount;
HRESULT hr;
@@ -2432,11 +2433,20 @@ static void test_set_fullscreen(IUnknown *device, BOOL is_d3d12)
ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
hr = IDXGISwapChain_SetFullscreenState(swapchain, FALSE, NULL);
ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ hr = IDXGISwapChain_GetFullscreenState(swapchain, &fullscreen, NULL);
+ ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(!fullscreen, "Got unexpected fullscreen %#x.\n", fullscreen);
DestroyWindow(swapchain_desc.OutputWindow);
hr = IDXGISwapChain_SetFullscreenState(swapchain, FALSE, NULL);
ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ hr = IDXGISwapChain_GetFullscreenState(swapchain, &fullscreen, NULL);
+ ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(!fullscreen, "Got unexpected fullscreen %#x.\n", fullscreen);
hr = IDXGISwapChain_SetFullscreenState(swapchain, TRUE, NULL);
ok(hr == DXGI_ERROR_NOT_CURRENTLY_AVAILABLE, "Got unexpected hr %#x.\n", hr);
+ hr = IDXGISwapChain_GetFullscreenState(swapchain, &fullscreen, NULL);
+ ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(!fullscreen, "Got unexpected fullscreen %#x.\n", fullscreen);
hr = IDXGISwapChain_SetFullscreenState(swapchain, FALSE, NULL);
ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
refcount = IDXGISwapChain_Release(swapchain);
@@ -2448,13 +2458,25 @@ static void test_set_fullscreen(IUnknown *device, BOOL is_d3d12)
ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
hr = IDXGISwapChain_SetFullscreenState(swapchain, TRUE, NULL);
ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ hr = IDXGISwapChain_GetFullscreenState(swapchain, &fullscreen, NULL);
+ ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(!!fullscreen, "Got unexpected fullscreen %#x.\n", fullscreen);
DestroyWindow(swapchain_desc.OutputWindow);
hr = IDXGISwapChain_SetFullscreenState(swapchain, TRUE, NULL);
ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ hr = IDXGISwapChain_GetFullscreenState(swapchain, &fullscreen, NULL);
+ ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(!!fullscreen, "Got unexpected fullscreen %#x.\n", fullscreen);
hr = IDXGISwapChain_SetFullscreenState(swapchain, FALSE, NULL);
ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ hr = IDXGISwapChain_GetFullscreenState(swapchain, &fullscreen, NULL);
+ ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(!fullscreen, "Got unexpected fullscreen %#x.\n", fullscreen);
hr = IDXGISwapChain_SetFullscreenState(swapchain, TRUE, NULL);
ok(hr == DXGI_ERROR_NOT_CURRENTLY_AVAILABLE, "Got unexpected hr %#x.\n", hr);
+ hr = IDXGISwapChain_GetFullscreenState(swapchain, &fullscreen, NULL);
+ ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(!fullscreen, "Got unexpected fullscreen %#x.\n", fullscreen);
hr = IDXGISwapChain_SetFullscreenState(swapchain, FALSE, NULL);
ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
refcount = IDXGISwapChain_Release(swapchain);
--
2.11.0
More information about the wine-devel
mailing list