Author: greatlrd
Date: Sun Jun 17 16:30:58 2007
New Revision: 27212
URL:
http://svn.reactos.org/svn/reactos?rev=27212&view=rev
Log:
GetCpas filling in how much memory we got now from HAL
Modified:
trunk/reactos/dll/directx/ddraw/Ddraw/ddraw_main.c
Modified: trunk/reactos/dll/directx/ddraw/Ddraw/ddraw_main.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/Ddraw/dd…
==============================================================================
--- trunk/reactos/dll/directx/ddraw/Ddraw/ddraw_main.c (original)
+++ trunk/reactos/dll/directx/ddraw/Ddraw/ddraw_main.c Sun Jun 17 16:30:58 2007
@@ -468,23 +468,53 @@
if ((IsBadWritePtr(pDriverCaps,sizeof(LPDDCAPS))))
{
+ DDSCAPS2 ddscaps = { 0 };
+ DWORD dwTotal = 0;
+ DWORD dwFree = 0;
/* Setup hardware caps */
+
+ Main_DirectDraw_GetAvailableVidMem4(iface, &ddscaps, &dwTotal,
&dwFree);
+
+
switch (pDriverCaps->dwSize)
{
case sizeof(DDCAPS_DX1):
- retVal = DDERR_INVALIDPARAMS;
- break;
+ {
+ LPDDCAPS_DX1 myCaps = (LPDDCAPS_DX1) pDriverCaps;
+
+ myCaps->dwVidMemFree = dwFree;
+ myCaps->dwVidMemTotal = dwTotal;
+ }
+ break;
+
case sizeof(DDCAPS_DX3):
- retVal = DDERR_INVALIDPARAMS;
- break;
+ {
+ LPDDCAPS_DX3 myCaps = (LPDDCAPS_DX3) pDriverCaps;
+
+ myCaps->dwVidMemFree = dwFree;
+ myCaps->dwVidMemTotal = dwTotal;
+ }
+ break;
+
case sizeof(DDCAPS_DX5):
- retVal = DDERR_INVALIDPARAMS;
+ {
+ LPDDCAPS_DX5 myCaps = (LPDDCAPS_DX5) pDriverCaps;
+
+ myCaps->dwVidMemFree = dwFree;
+ myCaps->dwVidMemTotal = dwTotal;
+ }
break;
/* DDCAPS_DX6 is same as DDCAPS_DX7 */
case sizeof(DDCAPS_DX7):
- retVal = DDERR_INVALIDPARAMS;
- break;
+ {
+ LPDDCAPS_DX7 myCaps = (LPDDCAPS_DX7) pDriverCaps;
+
+ myCaps->dwVidMemFree = dwFree;
+ myCaps->dwVidMemTotal = dwTotal;
+ }
+ break;
+
default:
retVal = DDERR_INVALIDPARAMS;
break;
@@ -515,6 +545,8 @@
break;
}
}
+
+ return retVal;
}