implement NtGdiDdBlt and NtGdiDdAlphaBlt NtGdiDdAlphaBlt are not supportet by microsoft so we report unsupport directx function Modified: trunk/reactos/subsys/win32k/ntddraw/ddraw.c Modified: trunk/reactos/subsys/win32k/ntddraw/stubs.c _____
Modified: trunk/reactos/subsys/win32k/ntddraw/ddraw.c --- trunk/reactos/subsys/win32k/ntddraw/ddraw.c 2005-04-26 21:26:06 UTC (rev 14826) +++ trunk/reactos/subsys/win32k/ntddraw/ddraw.c 2005-04-26 22:02:32 UTC (rev 14827) @@ -187,6 +187,7 @@
pDirectDraw->DdLockD3DBuffer = puD3dBufferCallbacks->LockD3DBuffer; pDirectDraw->DdUnlockD3DBuffer = puD3dBufferCallbacks->UnlockD3DBuffer; } + GDIOBJ_UnlockObj(hDirectDrawLocal);
@@ -286,14 +287,14 @@ DWORD pdwNumFourCC; DWORD *pdwFourCC = NULL; DWORD ddRVal; - - + PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hDirectDrawLocal, GDI_OBJECT_TYPE_DIRECTDRAW);
- ddRVal = pDirectDraw->DrvGetDirectDrawInfo( + + ddRVal = pDirectDraw->DrvGetDirectDrawInfo( pDirectDraw->Global.dhpdev,(PDD_HALINFO) puGetDriverInfoData, &pdwNumHeaps, pvmList, &pdwNumFourCC, pdwFourCC); - + GDIOBJ_UnlockObj(hDirectDrawLocal); return ddRVal; @@ -328,6 +329,8 @@
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hDirectDrawLocal, GDI_OBJECT_TYPE_DIRECTDRAW);
+ puCanCreateSurfaceData->lpDD = pDirectDraw->Local.lpGbl; + ddRVal = pDirectDraw->DdCanCreateSurface(puCanCreateSurfaceData);
GDIOBJ_UnlockObj(hDirectDrawLocal); @@ -337,5 +340,34 @@
+DWORD STDCALL NtGdiDdBlt( + HANDLE hSurfaceDest, + HANDLE hSurfaceSrc, + PDD_BLTDATA puBltData +) +{ + DWORD ddRVal;
+ PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hSurfaceDest, GDI_OBJECT_TYPE_DIRECTDRAW); + + puBltData->lpDDDestSurface = hSurfaceDest; + puBltData->lpDDSrcSurface = hSurfaceSrc; + puBltData->lpDD = pDirectDraw->Local.lpGbl; + + ddRVal = pDirectDraw->DdBlt(puBltData); + + GDIOBJ_UnlockObj(hSurfaceDest); + + return ddRVal; +} + +DWORD STDCALL NtGdiDdAlphaBlt(VOID) +{ + // MSDN on all windows 95 to windows xp this call are unsuported + // see Graphics Low Level Client Support + + return DDERR_UNSUPPORTED; +} + + /* EOF */ _____
Modified: trunk/reactos/subsys/win32k/ntddraw/stubs.c --- trunk/reactos/subsys/win32k/ntddraw/stubs.c 2005-04-26 21:26:06 UTC (rev 14826) +++ trunk/reactos/subsys/win32k/ntddraw/stubs.c 2005-04-26 22:02:32 UTC (rev 14827) @@ -21,8 +21,7 @@
PDD_GETAVAILDRIVERMEMORYDATA puGetAvailDriverMemoryData ) { - UNIMPLEMENTED - + UNIMPLEMENTED
return 0; } @@ -91,12 +90,7 @@ return 0; }
-DWORD STDCALL NtGdiDdAlphaBlt(VOID) -{ - UNIMPLEMENTED
- return 0; -}
BOOL STDCALL NtGdiDdAttachSurface( HANDLE hSurfaceFrom, @@ -118,17 +112,7 @@ return 0; }
-DWORD STDCALL NtGdiDdBlt( - HANDLE hSurfaceDest, - HANDLE hSurfaceSrc, - PDD_BLTDATA puBltData -) -{ - UNIMPLEMENTED
- return 0; -} - DWORD STDCALL NtGdiDdCanCreateD3DBuffer( HANDLE hDirectDraw, PDD_CANCREATESURFACEDATA puCanCreateSurfaceData @@ -435,27 +419,7 @@ return 0; }
-/* -BOOL STDCALL NtGdiDdQueryDirectDrawObject( - HANDLE hDirectDrawLocal, - DD_HALINFO *pHalInfo, - DWORD *pCallBackFlags, - PD3DNTHAL_CALLBACKS puD3dCallbacks, - PD3DNTHAL_GLOBALDRIVERDATA puD3dDriverData, - PDD_D3DBUFCALLBACKS puD3dBufferCallbacks, - LPDDSURFACEDESC puD3dTextureFormats, - DWORD *puNumHeaps, - VIDEOMEMORY *puvmList, - DWORD *puNumFourCC, - DWORD *puFourCC -) -{ - UNIMPLEMENTED
- return 0; -} -*/ - DWORD STDCALL NtGdiDdQueryMoCompStatus( HANDLE hMoComp, PDD_QUERYMOCOMPSTATUSDATA puQueryMoCompStatusData