dxgi: Forbid creating D3D12 swapchains on desktop window.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
29bc8075cc
commit
dd202c1175
|
@ -1404,12 +1404,12 @@ static void test_desktop_window(void)
|
|||
swapchain_desc.AlphaMode = DXGI_ALPHA_MODE_UNSPECIFIED;
|
||||
swapchain_desc.Flags = 0;
|
||||
hr = IDXGIFactory4_CreateSwapChainForHwnd(factory, (IUnknown *)queue, window, &swapchain_desc, NULL, NULL, &swapchain);
|
||||
todo_wine ok(hr == E_ACCESSDENIED, "Got unexpected hr %#x.\n", hr);
|
||||
ok(hr == E_ACCESSDENIED, "Got unexpected hr %#x.\n", hr);
|
||||
|
||||
swapchain_desc.Width = rect.right;
|
||||
swapchain_desc.Height = rect.bottom;
|
||||
hr = IDXGIFactory4_CreateSwapChainForHwnd(factory, (IUnknown *)queue, window, &swapchain_desc, NULL, NULL, &swapchain);
|
||||
todo_wine ok(hr == E_ACCESSDENIED, "Got unexpected hr %#x.\n", hr);
|
||||
ok(hr == E_ACCESSDENIED, "Got unexpected hr %#x.\n", hr);
|
||||
|
||||
IDXGIFactory4_Release(factory);
|
||||
destroy_test_context(&context);
|
||||
|
|
|
@ -2683,6 +2683,12 @@ static HRESULT d3d12_swapchain_init(struct d3d12_swapchain *swapchain, IWineDXGI
|
|||
VkResult vr;
|
||||
HRESULT hr;
|
||||
|
||||
if (window == GetDesktopWindow())
|
||||
{
|
||||
WARN("D3D12 swapchain cannot be created on desktop window.\n");
|
||||
return E_ACCESSDENIED;
|
||||
}
|
||||
|
||||
swapchain->IDXGISwapChain3_iface.lpVtbl = &d3d12_swapchain_vtbl;
|
||||
swapchain->refcount = 1;
|
||||
|
||||
|
|
Loading…
Reference in New Issue