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/rea…
==============================================================================
--- 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/nt…
==============================================================================
--- 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/nt…
==============================================================================
--- 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");