Signed-off-by: Andrew Eikum aeikum@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..3fbb50ca3f9 100644 --- a/dlls/dxgi/tests/dxgi.c +++ b/dlls/dxgi/tests/dxgi.c @@ -2365,6 +2365,7 @@ static void test_set_fullscreen(IUnknown *device, BOOL is_d3d12) IDXGIOutput *output; ULONG refcount; HRESULT hr; + BOOL fs_state;
get_factory(device, is_d3d12, &factory);
@@ -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, &fs_state, NULL); + ok(hr == S_OK, "Got unexpected hr %#x.\n", hr); + ok(fs_state == FALSE, "Got wrong fullscreen state %u\n", fs_state); DestroyWindow(swapchain_desc.OutputWindow); hr = IDXGISwapChain_SetFullscreenState(swapchain, FALSE, NULL); ok(hr == S_OK, "Got unexpected hr %#x.\n", hr); + hr = IDXGISwapChain_GetFullscreenState(swapchain, &fs_state, NULL); + ok(hr == S_OK, "Got unexpected hr %#x.\n", hr); + ok(fs_state == FALSE, "Got wrong fullscreen state %u\n", fs_state); hr = IDXGISwapChain_SetFullscreenState(swapchain, TRUE, NULL); ok(hr == DXGI_ERROR_NOT_CURRENTLY_AVAILABLE, "Got unexpected hr %#x.\n", hr); + hr = IDXGISwapChain_GetFullscreenState(swapchain, &fs_state, NULL); + ok(hr == S_OK, "Got unexpected hr %#x.\n", hr); + ok(fs_state == FALSE, "Got wrong fullscreen state %u\n", fs_state); 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, &fs_state, NULL); + ok(hr == S_OK, "Got unexpected hr %#x.\n", hr); + ok(fs_state == TRUE, "Got wrong fullscreen state %u\n", fs_state); DestroyWindow(swapchain_desc.OutputWindow); hr = IDXGISwapChain_SetFullscreenState(swapchain, TRUE, NULL); ok(hr == S_OK, "Got unexpected hr %#x.\n", hr); + hr = IDXGISwapChain_GetFullscreenState(swapchain, &fs_state, NULL); + ok(hr == S_OK, "Got unexpected hr %#x.\n", hr); + ok(fs_state == TRUE, "Got wrong fullscreen state %u\n", fs_state); hr = IDXGISwapChain_SetFullscreenState(swapchain, FALSE, NULL); ok(hr == S_OK, "Got unexpected hr %#x.\n", hr); + hr = IDXGISwapChain_GetFullscreenState(swapchain, &fs_state, NULL); + ok(hr == S_OK, "Got unexpected hr %#x.\n", hr); + ok(fs_state == FALSE, "Got wrong fullscreen state %u\n", fs_state); hr = IDXGISwapChain_SetFullscreenState(swapchain, TRUE, NULL); ok(hr == DXGI_ERROR_NOT_CURRENTLY_AVAILABLE, "Got unexpected hr %#x.\n", hr); + hr = IDXGISwapChain_GetFullscreenState(swapchain, &fs_state, NULL); + ok(hr == S_OK, "Got unexpected hr %#x.\n", hr); + ok(fs_state == FALSE, "Got wrong fullscreen state %u\n", fs_state); hr = IDXGISwapChain_SetFullscreenState(swapchain, FALSE, NULL); ok(hr == S_OK, "Got unexpected hr %#x.\n", hr); refcount = IDXGISwapChain_Release(swapchain);
Hi,
While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=63492
Your paranoid android.
=== w1064v1809_he (32 bit report) ===
dxgi: dxgi.c:4931: Test failed: Got unexpected message 0x31f, hwnd 00080044, wparam 0x1, lparam 0.