Matteo Bruni : d3d9: Return failure in CheckDeviceFormat() for unsupported adapter formats.

Alexandre Julliard julliard at winehq.org
Wed Mar 6 15:29:41 CST 2019


Module: wine
Branch: master
Commit: bd7a48c25114983f53c2c05299444e982f5a5490
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=bd7a48c25114983f53c2c05299444e982f5a5490

Author: Matteo Bruni <mbruni at codeweavers.com>
Date:   Tue Mar  5 18:47:21 2019 +0100

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 <mbruni at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 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 eab114d..c507991 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);




More information about the wine-cvs mailing list