From 487f93e2d7d083404bbbd2bf399799bdaf062e36 Mon Sep 17 00:00:00 2001 From: Magnus Olsen Date: Sun, 17 Jun 2007 14:46:04 +0000 Subject: [PATCH] DD->GetCaps for hal are so complete we can do with current startup process we are missing setting This->lpLcl->lpGbl->lpddNLVCaps fixed a smaller bugs in caps data svn path=/trunk/; revision=27214 --- reactos/dll/directx/ddraw/Ddraw/ddraw_main.c | 42 ++++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/reactos/dll/directx/ddraw/Ddraw/ddraw_main.c b/reactos/dll/directx/ddraw/Ddraw/ddraw_main.c index 4704837fe4b..67bbee7c50b 100644 --- a/reactos/dll/directx/ddraw/Ddraw/ddraw_main.c +++ b/reactos/dll/directx/ddraw/Ddraw/ddraw_main.c @@ -519,19 +519,19 @@ Main_DirectDraw_GetCaps( LPDIRECTDRAW7 iface, LPDDCAPS pDriverCaps, { LPDDCAPS_DX5 myCaps = (LPDDCAPS_DX5) pDriverCaps; + /* FIXME This->lpLcl->lpGbl->lpddNLVCaps are not set in startup.c + if (This->lpLcl->lpGbl->lpddNLVCaps->dwSize == sizeof(DDNONLOCALVIDMEMCAPS)) + { + memcpy(&myCaps->dwNLVBCaps, This->lpLcl->lpGbl->lpddNLVCaps, sizeof(DDNONLOCALVIDMEMCAPS)); + } + */ + memset(myCaps->dwNLVBCaps,0,sizeof(DDNONLOCALVIDMEMCAPS)); + if (CoreCaps->dwSize == sizeof(DDCORECAPS)) { memcpy(&myCaps->dwCaps, &CoreCaps->dwCaps, sizeof(DDCORECAPS)); } - /* FIXME - DWORD dwNLVBCaps; - DWORD dwNLVBCaps2; - DWORD dwNLVBCKeyCaps; - DWORD dwNLVBFXCaps; - DWORD dwNLVBRops[DD_ROP_SPACE]; - */ - myCaps->dwVidMemFree = dwFree; myCaps->dwVidMemTotal = dwTotal; myCaps->dwSize = sizeof(DDCAPS_DX5); @@ -545,6 +545,14 @@ Main_DirectDraw_GetCaps( LPDIRECTDRAW7 iface, LPDDCAPS pDriverCaps, { LPDDCAPS_DX7 myCaps = (LPDDCAPS_DX7) pDriverCaps; + /* FIXME This->lpLcl->lpGbl->lpddNLVCaps are not set in startup.c + if (This->lpLcl->lpGbl->lpddNLVCaps->dwSize == sizeof(DDNONLOCALVIDMEMCAPS)) + { + memcpy(&myCaps->dwNLVBCaps, This->lpLcl->lpGbl->lpddNLVCaps, sizeof(DDNONLOCALVIDMEMCAPS)); + } + */ + memset(myCaps->dwNLVBCaps,0,sizeof(DDNONLOCALVIDMEMCAPS)); + if (CoreCaps->dwSize == sizeof(DDCORECAPS)) { memcpy(&myCaps->dwCaps, &CoreCaps->dwCaps, sizeof(DDCORECAPS)); @@ -553,18 +561,10 @@ Main_DirectDraw_GetCaps( LPDIRECTDRAW7 iface, LPDDCAPS pDriverCaps, myCaps->dwVidMemFree = dwFree; myCaps->dwVidMemTotal = dwTotal; - /* FIXME - DWORD dwNLVBCaps; - DWORD dwNLVBCaps2; - DWORD dwNLVBCKeyCaps; - DWORD dwNLVBFXCaps; - DWORD dwNLVBRops[DD_ROP_SPACE]; - */ - - myCaps->ddsCaps.dwCaps = ddscaps.dwCaps; - myCaps->ddsCaps.dwCaps2 = ddscaps.dwCaps2; - myCaps->ddsCaps.dwCaps3 = ddscaps.dwCaps3; - myCaps->ddsCaps.dwCaps4 = ddscaps.dwCaps4; + myCaps->ddsCaps.dwCaps = myCaps->ddsOldCaps.dwCaps; + myCaps->ddsCaps.dwCaps2 = 0; + myCaps->ddsCaps.dwCaps3 = 0; + myCaps->ddsCaps.dwCaps4 = 0; myCaps->dwSize = sizeof(DDCAPS_DX7); } @@ -699,7 +699,7 @@ IDirectDraw7Vtbl DirectDraw7_Vtable = Main_DirectDraw_EnumDisplayModes, /* (EnumDisplayModes testing / devloping) */ Main_DirectDraw_EnumSurfaces, Main_DirectDraw_FlipToGDISurface, - Main_DirectDraw_GetCaps, + Main_DirectDraw_GetCaps, /* (GetCaps testing / devloping) */ Main_DirectDraw_GetDisplayMode, /* (GetDisplayMode testing / devloping) */ Main_DirectDraw_GetFourCCCodes, /* (GetFourCCCodes done) */ Main_DirectDraw_GetGDISurface,