1. remove the static global value edd_directdraw_global I intrudues for dx.
it is now for each driver.
svn path=/trunk/; revision=33330
/* Dx internal tags rember I do not known if it right namees */
#define TAG_DXPVMLIST TAG('D', 'X', 'P', 'L') /* pmvlist for the driver */
#define TAG_DXFOURCC TAG('D', 'X', 'F', 'O') /* pdwFourCC for the driver */
-#define TAG_DDRAW TAG('D', 'h', ' ', '1')
+#define TAG_DDRAW TAG('D', 'h', ' ', '1')
#define TAG_DDSURF TAG('D', 'h', ' ', '2')
+#define TAG_EDDGBL TAG('E', 'D', 'D', 'G') /* ? edd_directdraw_global ??*/
#endif /* _WIN32K_TAGS_H */
DWORD *puNumFourCC,
DWORD *puFourCC)
{
-#if DXDBG
- BOOL status = FALSE;
-#endif
-
PGD_DXDDQUERYDIRECTDRAWOBJECT pfnDdQueryDirectDrawObject = (PGD_DXDDQUERYDIRECTDRAWOBJECT)gpDxFuncs[DXG_INDEX_DxDdQueryDirectDrawObject].pfn;
if (pfnDdQueryDirectDrawObject == NULL)
DPRINT1("Calling dxg.sys pfnDdQueryDirectDrawObject\n");
-#if DXDBG
- status = pfnDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData,
- puD3dBufferCallbacks, puD3dTextureFormats, puNumHeaps, puvmList, puNumFourCC, puFourCC);
-
- dump_edd_directdraw_global(&edd_DdirectDraw_Global);
- dump_edd_directdraw_local(edd_DdirectDraw_Global.peDirectDrawLocalList);
-
- return status;
-#else
return pfnDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData,
puD3dBufferCallbacks, puD3dTextureFormats, puNumHeaps, puvmList, puNumFourCC, puFourCC);
-#endif
-
}
static KEVENT VideoDriverNeedsPreparation;
static KEVENT VideoDriverPrepared;
static PDC defaultDCstate = NULL;
-EDD_DIRECTDRAW_GLOBAL edd_DdirectDraw_Global;
+
NTSTATUS FASTCALL
InitDcImpl(VOID)
PrimarySurface.ppdevNext = NULL; // Fixme! We need to support more than display drvs.
PrimarySurface.ppdevParent = NULL; // Always NULL if primary.
PrimarySurface.pGraphicsDev = NULL; // Fixme!
- PrimarySurface.pEDDgpl = (EDD_DIRECTDRAW_GLOBAL *)&edd_DdirectDraw_Global; // FIXME! We need to support more than display drvs.
- RtlZeroMemory( &edd_DdirectDraw_Global ,sizeof(EDD_DIRECTDRAW_GLOBAL));
+ PrimarySurface.pEDDgpl = ExAllocatePoolWithTag(PagedPool, sizeof(EDD_DIRECTDRAW_GLOBAL), TAG_EDDGBL);
+ if (PrimarySurface.pEDDgpl)
+ {
+ RtlZeroMemory( PrimarySurface.pEDDgpl ,sizeof(EDD_DIRECTDRAW_GLOBAL));
+ }
ret = TRUE;
goto cleanup;
}
return NT_SUCCESS(Status);
}
+
BOOL FASTCALL
IntCreatePrimarySurface()
{