[ros-diffs] [greatlrd] 33084: 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

greatlrd at svn.reactos.org greatlrd at svn.reactos.org
Mon Apr 21 07:42:09 CEST 2008


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/reactos.dff?rev=33084&r1=33083&r2=33084&view=diff
==============================================================================
--- 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/ntddraw/ddraw.c?rev=33084&r1=33083&r2=33084&view=diff
==============================================================================
--- 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/ntddraw/dxeng.c?rev=33084&r1=33083&r2=33084&view=diff
==============================================================================
--- 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");
 



More information about the Ros-diffs mailing list