[PATCH] WineD3D: Only set D3D caps when GL was loaded =

Stefan Doesinger stefan at codeweavers.com
Wed Jul 23 15:38:52 CDT 2008


successfully=0A=
=0A=
---=0A=
 dlls/wined3d/directx.c |   19 ++++++++++++-------=0A=
 1 files changed, 12 insertions(+), 7 deletions(-)=0A=
=0A=
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c=0A=
index 4b5a8c0..ddb7102 100644=0A=
--- a/dlls/wined3d/directx.c=0A=
+++ b/dlls/wined3d/directx.c=0A=
@@ -3457,8 +3457,7 @@ static HRESULT WINAPI =
IWineD3DImpl_GetDeviceCaps(IWineD3D *iface, UINT Adapter,=0A=
     /* Fill the ddraw caps structure */=0A=
     pCaps->DirectDrawCaps.Caps =3D        WINEDDCAPS_GDI                =
      |=0A=
                                         WINEDDCAPS_PALETTE              =
    |=0A=
-                                        blit_caps                       =
    |=0A=
-                                        WINEDDCAPS_3D; /* TODO: Make =
conditional */=0A=
+                                        blit_caps;=0A=
     pCaps->DirectDrawCaps.Caps2 =3D       WINEDDCAPS2_CERTIFIED         =
       |=0A=
                                         WINEDDCAPS2_NOPAGELOCKREQUIRED  =
     |=0A=
                                         WINEDDCAPS2_PRIMARYGAMMA        =
     |=0A=
@@ -3483,12 +3482,18 @@ static HRESULT WINAPI =
IWineD3DImpl_GetDeviceCaps(IWineD3D *iface, UINT Adapter,=0A=
                                         WINEDDSCAPS_PRIMARYSURFACE      =
    |=0A=
                                         WINEDDSCAPS_SYSTEMMEMORY        =
    |=0A=
                                         WINEDDSCAPS_VIDEOMEMORY         =
    |=0A=
-                                        WINEDDSCAPS_VISIBLE             =
    |=0A=
-                                        WINEDDSCAPS_3DDEVICE            =
    | /* TODO: Make conditional */=0A=
-                                        WINEDDSCAPS_MIPMAP              =
    | /* TODO: Make conditional */=0A=
-                                        WINEDDSCAPS_TEXTURE             =
    | /* TODO: Make conditional */=0A=
-                                        WINEDDSCAPS_ZBUFFER;            =
      /* TODO: Make conditional */=0A=
+                                        WINEDDSCAPS_VISIBLE;=0A=
     pCaps->DirectDrawCaps.StrideAlign =3D 0; /* TODO: SURFACE_ALIGNMENT =
*/=0A=
+=0A=
+    /* Set D3D caps if OpenGL is available. */=0A=
+    if(Adapters[Adapter].opengl) {=0A=
+        pCaps->DirectDrawCaps.ddsCaps |=3DWINEDDSCAPS_3DDEVICE          =
      |=0A=
+                                        WINEDDSCAPS_MIPMAP              =
    |=0A=
+                                        WINEDDSCAPS_TEXTURE             =
    |=0A=
+                                        WINEDDSCAPS_ZBUFFER;=0A=
+        pCaps->DirectDrawCaps.Caps |=3D   WINEDDCAPS_3D;=0A=
+    }=0A=
+=0A=
     return WINED3D_OK;=0A=
 }=0A=
 =0A=
-- =0A=
1.5.4.5=0A=
=0A=

------=_NextPart_000_001B_01C8F509.22E67AE0--




More information about the wine-patches mailing list