Module: wine Branch: master Commit: 8ee4159e4f40112f26bd9aa747605316ea582684 URL: http://source.winehq.org/git/wine.git/?a=commit;h=8ee4159e4f40112f26bd9aa747...
Author: Stefan Dösinger stefan@codeweavers.com Date: Wed Jul 23 15:38:52 2008 -0500
wined3d: Only set D3D caps when GL was loaded successfully.
---
dlls/wined3d/directx.c | 19 ++++++++++++------- 1 files changed, 12 insertions(+), 7 deletions(-)
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c index 4b5a8c0..ddb7102 100644 --- a/dlls/wined3d/directx.c +++ b/dlls/wined3d/directx.c @@ -3457,8 +3457,7 @@ static HRESULT WINAPI IWineD3DImpl_GetDeviceCaps(IWineD3D *iface, UINT Adapter, /* Fill the ddraw caps structure */ pCaps->DirectDrawCaps.Caps = WINEDDCAPS_GDI | WINEDDCAPS_PALETTE | - blit_caps | - WINEDDCAPS_3D; /* TODO: Make conditional */ + blit_caps; pCaps->DirectDrawCaps.Caps2 = WINEDDCAPS2_CERTIFIED | WINEDDCAPS2_NOPAGELOCKREQUIRED | WINEDDCAPS2_PRIMARYGAMMA | @@ -3483,12 +3482,18 @@ static HRESULT WINAPI IWineD3DImpl_GetDeviceCaps(IWineD3D *iface, UINT Adapter, WINEDDSCAPS_PRIMARYSURFACE | WINEDDSCAPS_SYSTEMMEMORY | WINEDDSCAPS_VIDEOMEMORY | - WINEDDSCAPS_VISIBLE | - WINEDDSCAPS_3DDEVICE | /* TODO: Make conditional */ - WINEDDSCAPS_MIPMAP | /* TODO: Make conditional */ - WINEDDSCAPS_TEXTURE | /* TODO: Make conditional */ - WINEDDSCAPS_ZBUFFER; /* TODO: Make conditional */ + WINEDDSCAPS_VISIBLE; pCaps->DirectDrawCaps.StrideAlign = 0; /* TODO: SURFACE_ALIGNMENT */ + + /* Set D3D caps if OpenGL is available. */ + if(Adapters[Adapter].opengl) { + pCaps->DirectDrawCaps.ddsCaps |=WINEDDSCAPS_3DDEVICE | + WINEDDSCAPS_MIPMAP | + WINEDDSCAPS_TEXTURE | + WINEDDSCAPS_ZBUFFER; + pCaps->DirectDrawCaps.Caps |= WINEDDCAPS_3D; + } + return WINED3D_OK; }