From bd7a48c25114983f53c2c05299444e982f5a5490 Mon Sep 17 00:00:00 2001 From: Matteo Bruni Date: Tue, 5 Mar 2019 18:47:21 +0100 Subject: [PATCH] d3d9: Return failure in CheckDeviceFormat() for unsupported adapter formats. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46579 Signed-off-by: Matteo Bruni Signed-off-by: Henri Verbeet Signed-off-by: Alexandre Julliard --- dlls/d3d9/directx.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dlls/d3d9/directx.c b/dlls/d3d9/directx.c index eab114d19c6..c507991aaa4 100644 --- a/dlls/d3d9/directx.c +++ b/dlls/d3d9/directx.c @@ -255,10 +255,11 @@ static HRESULT WINAPI d3d9_CheckDeviceFormat(IDirect3D9Ex *iface, UINT adapter, TRACE("iface %p, adapter %u, device_type %#x, adapter_format %#x, usage %#x, resource_type %#x, format %#x.\n", iface, adapter, device_type, adapter_format, usage, resource_type, format); - if (!adapter_format) + if (adapter_format != D3DFMT_X8R8G8B8 && adapter_format != D3DFMT_R5G6B5 + && adapter_format != D3DFMT_X1R5G5B5) { WARN("Invalid adapter format.\n"); - return D3DERR_INVALIDCALL; + return adapter_format ? D3DERR_NOTAVAILABLE : D3DERR_INVALIDCALL; } bind_flags = wined3d_bind_flags_from_d3d9_usage(usage);