Author: greatlrd Date: Mon Apr 21 00:42:08 2008 New Revision: 33084
URL: http://svn.reactos.org/svn/reactos?rev=33084&view=rev Log: DxDdStartupDxGraphics Bugfix : the load order, it try loading vista dxkrnl.sys frist then it try loading dxg.System rember I have not tested vista dxkrnl.sys in reactos at all yet.
Bugfix : thx piggworth for notice the hDev was never resive to DxEngLockHdev, it still does not do in some case. we need more invigaste why
Modified: trunk/reactos/boot/bootdata/packages/reactos.dff trunk/reactos/subsystems/win32/win32k/ntddraw/ddraw.c trunk/reactos/subsystems/win32/win32k/ntddraw/dxeng.c
Modified: trunk/reactos/boot/bootdata/packages/reactos.dff URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/packages/reac... ============================================================================== --- trunk/reactos/boot/bootdata/packages/reactos.dff [iso-8859-1] (original) +++ trunk/reactos/boot/bootdata/packages/reactos.dff [iso-8859-1] Mon Apr 21 00:42:08 2008 @@ -125,7 +125,8 @@ dll\directx\dplayx\dplayx.dll 1 dll\directx\dsound\dsound.dll 1 dll\directx\dxdiagn\dxdiagn.dll 1 -dll\directx\ddraw\ddraw.dll 1 +windows\ddraw.dll 1 +windows\dciman32.dll 1 dll\directx\d3d8thk\d3d8thk.dll 1 dll\directx\devenum\devenum.dll 1 dll\directx\ksproxy\ksproxy.ax 1 @@ -307,9 +308,9 @@
drivers\bus\isapnp\isapnp.sys 2
-drivers\directx\dxapi\dxapi.sys 2 -drivers\directx\dxg\dxg.sys 2 -drivers\directx\dxgthk\dxgthk.sys 2 +windows\dxapi.sys 2 +windows\dxg.sys 2 +windows\dxgthk.sys 2
drivers\filesystems\fs_rec\fs_rec.sys 2 drivers\filesystems\msfs\msfs.sys 2 @@ -605,6 +606,17 @@ modules\rostests\winetests\uxtheme\uxtheme_winetest.exe 7 optional modules\rostests\winetests\version\version_winetest.exe 7 optional modules\rostests\winetests\wininet\wininet_winetest.exe 7 optional + +modules\rostests\dxtest\ddraw_test\ddraw_test.exe 7 optional +modules\rostests\dxtest\win32kdxtest\win32kdxtest.exe 7 optional + +modules\rostests\apitests\gdi32api\gdi32api.exe 7 optional + +modules\rostests\apitests\user32api\user32api.exe 7 optional +modules\rostests\apitests\w32knapi\w32knapi.exe 7 optional +modules\rostests\apitests\w32kdll\w32kdll_ros\w32kdll.dll 7 optional + + modules\wallpaper\lake.bmp 4 optional
; Native libraries
Modified: trunk/reactos/subsystems/win32/win32k/ntddraw/ddraw.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ntd... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntddraw/ddraw.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntddraw/ddraw.c [iso-8859-1] Mon Apr 21 00:42:08 2008 @@ -23,7 +23,7 @@ HANDLE ghDxGraphics = NULL; ULONG gdwDirectDrawContext; void dump_edd_directdraw_global(EDD_DIRECTDRAW_GLOBAL *pEddgbl); -EDD_DIRECTDRAW_GLOBAL eDdirectDraw_Global; +EDD_DIRECTDRAW_GLOBAL edd_DdirectDraw_Global;
/************************************************************************/ @@ -54,17 +54,14 @@
/* Loading the kernel interface of directx for win32k */
- - ghDxGraphics = EngLoadImage(L"\SystemRoot\System32\drivers\dxg.sys"); - + DPRINT1("Warning: trying loading vista dxkrnl.sys\n"); + ghDxGraphics = EngLoadImage(L"\SystemRoot\System32\drivers\dxkrnl.sys"); if ( ghDxGraphics == NULL) { - DPRINT1("Warning: dxg.sys not found\n"); - + DPRINT1("Warning: dxkrnl.sys not found\n"); /* try loading vista dx kernel */ - DPRINT1("Warning: trying loading vista dxkrnl.sys\n"); - - ghDxGraphics = EngLoadImage(L"\SystemRoot\System32\drivers\dxkrnl.sys"); + DPRINT1("Warning: trying loading xp/2003/reactos dxg.sys\n"); + ghDxGraphics = EngLoadImage(L"\SystemRoot\System32\drivers\dxg.sys"); }
if ( ghDxGraphics == NULL) @@ -117,7 +114,7 @@ for (t=0;t<=DXG_INDEX_DxDdIoctl;t++) { gpDxFuncs[lstDrvFN[t].iFunc].iFunc =lstDrvFN[t].iFunc; - gpDxFuncs[lstDrvFN[t].iFunc].pfn =lstDrvFN[t].pfn; + gpDxFuncs[lstDrvFN[t].iFunc].pfn =lstDrvFN[t].pfn; }
/* dump sort list for debuging */ @@ -129,7 +126,7 @@ for (t=0;t<=DXG_INDEX_DxDdIoctl;t++) { DPRINT1("gpDxFuncs[0x%08lx].iFunc = 0x%08lx\n",t,gpDxFuncs[t].iFunc); - DPRINT1("gpDxFuncs[0x%08lx].pfn = 0x%08lx\n",t,gpDxFuncs[t].pfn); + DPRINT1("gpDxFuncs[0x%08lx].pfn = 0x%08lx\n",t,gpDxFuncs[t].pfn); } #endif DPRINT1("DirectX interface is activated\n"); @@ -183,10 +180,13 @@ return 0; } /* FIXME This should be alloc for each drv and use it from each drv, not global for whole win32k */ - ((PGDIDEVICE)pDC->pPDev)->pEDDgpl = &eDdirectDraw_Global; - RtlZeroMemory(&eDdirectDraw_Global,sizeof(EDD_DIRECTDRAW_GLOBAL)); + ((PGDIDEVICE)pDC->pPDev)->pEDDgpl = &edd_DdirectDraw_Global; + RtlZeroMemory(&edd_DdirectDraw_Global,sizeof(EDD_DIRECTDRAW_GLOBAL)); + + /* setup hdev for edd_DdirectDraw_Global xp */ + edd_DdirectDraw_Global.hDev = (PVOID)pDC->pPDev; + edd_DdirectDraw_Global.hPDev = (PVOID)pDC->pPDev; DC_UnlockDc(pDC); -
/* get the pfnDdCreateDirectDrawObject after we load the drv */ pfnDdCreateDirectDrawObject = (PGD_DDCREATEDIRECTDRAWOBJECT)gpDxFuncs[DXG_INDEX_DxDdCreateDirectDrawObject].pfn; @@ -201,7 +201,7 @@ DxHandle = pfnDdCreateDirectDrawObject(hdc);
#if DXDDRAWDEBUG - dump_edd_directdraw_global(&eDdirectDraw_Global); + dump_edd_directdraw_global(&edd_DdirectDraw_Global); #endif
return DxHandle;
Modified: trunk/reactos/subsystems/win32/win32k/ntddraw/dxeng.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ntd... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntddraw/dxeng.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntddraw/dxeng.c [iso-8859-1] Mon Apr 21 00:42:08 2008 @@ -530,7 +530,11 @@ DxEngLockHdev(HDEV hDev) { PGDIDEVICE pPDev = (PGDIDEVICE)hDev; - PERESOURCE Resource = pPDev->hsemDevLock; + PERESOURCE Resource; + + DPRINT1("hDev : 0x%08lx\n",hDev); + + Resource = pPDev->hsemDevLock;
DPRINT1("ReactX Calling : DxEngLockHdev \n");