Fixed DRIVER_FUNCTIONS this struct are being passdown to ms dxg.sys and it access it direcly so we need it match eacly windows xp/2003 layout

Fixed DRIVER_BuildDDIFunctions it now setup all api from the drv to DRIVER_FUNCTIONS struct. it is update to windows 2003, we can now use all hw acc api that exists in the drv.
we do not doing that yet. 



svn path=/trunk/; revision=33217
This commit is contained in:
Magnus Olsen 2008-05-01 16:36:42 +00:00
parent 99eaa62157
commit fdc64df76a
5 changed files with 162 additions and 127 deletions

View file

@ -337,6 +337,7 @@ typedef struct _DRIVEROBJ {
#define INDEX_DrvOffset 6L
#define INDEX_DrvResetPDEV 7L
#define INDEX_DrvDisableDriver 8L
#define INDEX_DrvUnknown1 9L
#define INDEX_DrvCreateDeviceBitmap 10L
#define INDEX_DrvDeleteDeviceBitmap 11L
#define INDEX_DrvRealizeBrush 12L
@ -348,6 +349,7 @@ typedef struct _DRIVEROBJ {
#define INDEX_DrvBitBlt 18L
#define INDEX_DrvCopyBits 19L
#define INDEX_DrvStretchBlt 20L
#define INDEX_DrvUnknown2 21L
#define INDEX_DrvSetPalette 22L
#define INDEX_DrvTextOut 23L
#define INDEX_DrvEscape 24L
@ -362,8 +364,10 @@ typedef struct _DRIVEROBJ {
#define INDEX_DrvStartPage 33L
#define INDEX_DrvEndDoc 34L
#define INDEX_DrvStartDoc 35L
#define INDEX_DrvUnknown3 36L
#define INDEX_DrvGetGlyphMode 37L
#define INDEX_DrvSynchronize 38L
#define INDEX_DrvUnknown4 39L
#define INDEX_DrvSaveScreenBits 40L
#define INDEX_DrvGetModes 41L
#define INDEX_DrvFree 42L
@ -387,6 +391,7 @@ typedef struct _DRIVEROBJ {
#define INDEX_DrvEnableDirectDraw 60L
#define INDEX_DrvDisableDirectDraw 61L
#define INDEX_DrvQuerySpoolType 62L
#define INDEX_DrvUnknown5 63L
#define INDEX_DrvIcmCreateColorTransform 64L
#define INDEX_DrvIcmDeleteColorTransform 65L
#define INDEX_DrvIcmCheckBitmapBits 66L
@ -3622,6 +3627,7 @@ typedef DHPDEV
IN LPWSTR pwszDeviceName,
IN HANDLE hDriver);
#endif
typedef HSURF
(APIENTRY *PFN_DrvEnableSurface)(
IN DHPDEV dhpdev);

View file

@ -140,7 +140,7 @@ typedef struct _EDD_DIRECTDRAW_GLOBAL
/* 0x034 */ VIDEOMEMORY *pvmList; // 0x034 <-- verified to match Windows XP, pvmList
/* 0x038 */ DWORD dwNumFourCC;
/* 0x03C */ PDWORD pdwFourCC;
/* 0x040 */ DD_HALINFO ddHalInfo;
/* 0x040 */ DD_HALINFO ddHalInfo; // 0x040 <-- verified to match Windows XP, ddHalInfo
/* 0x1E0 */ ULONG unk_1e0[46];
/* 0x298 */ DD_CALLBACKS ddCallbacks; // 0x298 <-- verified to match Windows XP, ddCallbacks
/* 0x2C0 */ DD_SURFACECALLBACKS ddSurfaceCallbacks; // 0x2C4 <-- verified to match Windows XP, ddSurfaceCallbacks

View file

@ -531,7 +531,6 @@ typedef VOID (NTAPI *PGD_SYNCHRONIZESURFACE)(SURFOBJ*, RECTL *, FLONG);
//
typedef struct _DRIVER_FUNCTIONS
{
PGD_ENABLEDRIVER EnableDriver; //ReactOS Extra
PGD_ENABLEPDEV EnablePDEV;
PGD_COMPLETEPDEV CompletePDEV;
PGD_DISABLEPDEV DisablePDEV;
@ -541,7 +540,7 @@ typedef struct _DRIVER_FUNCTIONS
PGD_OFFSET Offset;
PGD_RESETPDEV ResetPDEV;
PGD_DISABLEDRIVER DisableDriver;
PVOID Unknown0;
PVOID Unknown1;
PGD_CREATEDEVICEBITMAP CreateDeviceBitmap;
PGD_DELETEDEVICEBITMAP DeleteDeviceBitmap;
PGD_REALIZEBRUSH RealizeBrush;
@ -553,7 +552,7 @@ typedef struct _DRIVER_FUNCTIONS
PGD_BITBLT BitBlt;
PGD_COPYBITS CopyBits;
PGD_STRETCHBLT StretchBlt;
PVOID Unknown1;
PVOID Unknown2;
PGD_SETPALETTE SetPalette;
PGD_TEXTOUT TextOut;
PGD_ESCAPE Escape;
@ -568,10 +567,10 @@ typedef struct _DRIVER_FUNCTIONS
PGD_STARTPAGE StartPage;
PGD_ENDDOC EndDoc;
PGD_STARTDOC StartDoc;
PVOID Unknown2;
PVOID Unknown3;
PGD_GETGLYPHMODE GetGlyphMode;
PGD_SYNCHRONIZE Synchronize;
PVOID Unknown3;
PVOID Unknown4;
PGD_SAVESCREENBITS SaveScreenBits;
PGD_GETMODES GetModes;
PGD_FREE Free;
@ -595,7 +594,7 @@ typedef struct _DRIVER_FUNCTIONS
PGD_ENABLEDIRECTDRAW EnableDirectDraw;
PGD_DISABLEDIRECTDRAW DisableDirectDraw;
PGD_QUERYSPOOLTYPE QuerySpoolType;
PVOID Unknown4;
PVOID Unknown5;
PFN_DrvIcmCreateColorTransform IcmCreateColorTransform;
PFN_DrvIcmDeleteColorTransform IcmDeleteColorTransform;
PFN_DrvIcmCheckBitmapBits IcmCheckBitmapBits;
@ -605,9 +604,7 @@ typedef struct _DRIVER_FUNCTIONS
PFN_DrvPlgBlt PlgBlt;
PGD_ALPHABLEND AlphaBlend;
PVOID SynthesizeFont;
PVOID Unknown5;
PVOID GetSynthesizedFontFiles;
PVOID Unknown6;
PGD_TRANSPARENTBLT TransparentBlt;
PFN_DrvQueryPerBandInfo QueryPerBandInfo;
PFN_DrvQueryDeviceSupport QueryDeviceSupport;
@ -626,7 +623,10 @@ typedef struct _DRIVER_FUNCTIONS
PFN_DrvResetDevice ResetDevice;
PVOID Reserved9;
PVOID Reserved10;
PVOID Reserved11;
PVOID Reserved11; /* 92 */
/* ReactOS specify */
PGD_ENABLEDRIVER EnableDriver; //ReactOS Extra
} DRIVER_FUNCTIONS, *PDRIVER_FUNCTIONS;
#endif

View file

@ -31,6 +31,7 @@
/* #define TRACE_DRV_CALLS to get a log of all calls into the display driver. */
#undef TRACE_DRV_CALLS
typedef struct _GRAPHICS_DRIVER
{
PWSTR Name;
@ -391,7 +392,6 @@ BOOL DRIVER_BuildDDIFunctions(PDRVENABLEDATA DED,
PDRIVER_FUNCTIONS DF)
{
BEGIN_FUNCTION_MAP();
DRIVER_FUNCTION(EnablePDEV);
DRIVER_FUNCTION(CompletePDEV);
DRIVER_FUNCTION(DisablePDEV);
@ -401,6 +401,7 @@ BOOL DRIVER_BuildDDIFunctions(PDRVENABLEDATA DED,
DRIVER_FUNCTION(Offset);
DRIVER_FUNCTION(ResetPDEV);
DRIVER_FUNCTION(DisableDriver);
DRIVER_FUNCTION(Unknown1);
DRIVER_FUNCTION(CreateDeviceBitmap);
DRIVER_FUNCTION(DeleteDeviceBitmap);
DRIVER_FUNCTION(RealizeBrush);
@ -410,10 +411,9 @@ BOOL DRIVER_BuildDDIFunctions(PDRVENABLEDATA DED,
DRIVER_FUNCTION(StrokeAndFillPath);
DRIVER_FUNCTION(Paint);
DRIVER_FUNCTION(BitBlt);
DRIVER_FUNCTION(TransparentBlt);
DRIVER_FUNCTION(CopyBits);
DRIVER_FUNCTION(StretchBlt);
DRIVER_FUNCTION(StretchBltROP);
DRIVER_FUNCTION(Unknown2);
DRIVER_FUNCTION(SetPalette);
DRIVER_FUNCTION(TextOut);
DRIVER_FUNCTION(Escape);
@ -428,8 +428,10 @@ BOOL DRIVER_BuildDDIFunctions(PDRVENABLEDATA DED,
DRIVER_FUNCTION(StartPage);
DRIVER_FUNCTION(EndDoc);
DRIVER_FUNCTION(StartDoc);
DRIVER_FUNCTION(Unknown3);
DRIVER_FUNCTION(GetGlyphMode);
DRIVER_FUNCTION(Synchronize);
DRIVER_FUNCTION(Unknown4);
DRIVER_FUNCTION(SaveScreenBits);
DRIVER_FUNCTION(GetModes);
DRIVER_FUNCTION(Free);
@ -452,11 +454,36 @@ BOOL DRIVER_BuildDDIFunctions(PDRVENABLEDATA DED,
DRIVER_FUNCTION(EnableDirectDraw);
DRIVER_FUNCTION(DisableDirectDraw);
DRIVER_FUNCTION(QuerySpoolType);
DRIVER_FUNCTION(Unknown5);
DRIVER_FUNCTION(IcmCreateColorTransform);
DRIVER_FUNCTION(IcmDeleteColorTransform);
DRIVER_FUNCTION(IcmCheckBitmapBits);
DRIVER_FUNCTION(IcmSetDeviceGammaRamp);
DRIVER_FUNCTION(GradientFill);
DRIVER_FUNCTION(SynchronizeSurface);
DRIVER_FUNCTION(StretchBltROP);
DRIVER_FUNCTION(PlgBlt);
DRIVER_FUNCTION(AlphaBlend);
DRIVER_FUNCTION(SynthesizeFont);
DRIVER_FUNCTION(GetSynthesizedFontFiles);
DRIVER_FUNCTION(TransparentBlt);
DRIVER_FUNCTION(QueryPerBandInfo);
DRIVER_FUNCTION(QueryDeviceSupport);
DRIVER_FUNCTION(Reserved1);
DRIVER_FUNCTION(Reserved2);
DRIVER_FUNCTION(Reserved3);
DRIVER_FUNCTION(Reserved4);
DRIVER_FUNCTION(Reserved5);
DRIVER_FUNCTION(Reserved6);
DRIVER_FUNCTION(Reserved7);
DRIVER_FUNCTION(Reserved8);
DRIVER_FUNCTION(DeriveSurface);
DRIVER_FUNCTION(QueryGlyphAttrs);
DRIVER_FUNCTION(Notify);
DRIVER_FUNCTION(SynchronizeSurface);
DRIVER_FUNCTION(ResetDevice);
DRIVER_FUNCTION(Reserved9);
DRIVER_FUNCTION(Reserved10);
DRIVER_FUNCTION(Reserved11);
END_FUNCTION_MAP();
return TRUE;

View file

@ -737,6 +737,8 @@ DxEngCleanDC(HDC hdc)
/************************************************************************/
BOOL STDCALL DxEngSetDCOwner(HGDIOBJ hObject, DWORD OwnerMask)
{
DPRINT1("ReactX Calling : DxEngSetDCOwner \n");
return IntGdiSetDCOwnerEx( hObject, OwnerMask, FALSE);
}