From: Bernhard Übelacker <bernhardu@mailbox.org> --- dlls/dxgi/tests/dxgi.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/dlls/dxgi/tests/dxgi.c b/dlls/dxgi/tests/dxgi.c index ecd0661ab25..f0807f11827 100644 --- a/dlls/dxgi/tests/dxgi.c +++ b/dlls/dxgi/tests/dxgi.c @@ -915,7 +915,7 @@ static IDXGISwapChain *create_swapchain_(unsigned int line, IUnknown *device, BO HWND window, UINT flags, DXGI_SWAP_EFFECT swap_effect) { DXGI_SWAP_CHAIN_DESC desc; - IDXGISwapChain *swapchain; + IDXGISwapChain *swapchain = NULL; IDXGIFactory *factory; HRESULT hr; @@ -937,7 +937,7 @@ static IDXGISwapChain *create_swapchain_(unsigned int line, IUnknown *device, BO get_factory(device, is_d3d12, &factory); hr = IDXGIFactory_CreateSwapChain(factory, device, &desc, &swapchain); - ok_(__FILE__, line)(hr == S_OK, "Failed to create swapchain, hr %#lx.\n", hr); + ok_(__FILE__, line)(hr == S_OK || broken(hr == DXGI_ERROR_INVALID_CALL) /* Win8.1 */, "Failed to create swapchain, hr %#lx.\n", hr); IDXGIFactory_Release(factory); return swapchain; @@ -7278,7 +7278,14 @@ static void test_frame_latency_event(IUnknown *device, BOOL is_d3d12) hr = IDXGIFactory2_CreateSwapChainForHwnd(factory2, device, window, &swapchain_desc, NULL, NULL, &swapchain1); - ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr); + ok(hr == S_OK || broken(hr == DXGI_ERROR_INVALID_CALL) /* Win8.1 */, "Got unexpected hr %#lx.\n", hr); + if (FAILED(hr)) + { + win_skip("CreateSwapChainForHwnd failed.\n"); + IDXGIFactory2_Release(factory2); + DestroyWindow(window); + return; + } hr = IDXGISwapChain1_QueryInterface(swapchain1, &IID_IDXGISwapChain2, (void**)&swapchain2); IDXGISwapChain1_Release(swapchain1); @@ -8001,6 +8008,12 @@ static void test_swapchain_present_count(IUnknown *device, BOOL is_d3d12) winetest_push_context("test %u", i); swapchain = create_swapchain(device, is_d3d12, window, flags, swap_effect); + if (!swapchain) + { + win_skip("create_swapchain failed.\n"); + winetest_pop_context(); + continue; + } present_count = ~0u; hr = IDXGISwapChain_GetLastPresentCount(swapchain, &present_count); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/11110