mirror of
https://github.com/reactos/reactos.git
synced 2025-06-06 01:40:36 +00:00
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:
parent
99eaa62157
commit
fdc64df76a
5 changed files with 162 additions and 127 deletions
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -737,6 +737,8 @@ DxEngCleanDC(HDC hdc)
|
|||
/************************************************************************/
|
||||
BOOL STDCALL DxEngSetDCOwner(HGDIOBJ hObject, DWORD OwnerMask)
|
||||
{
|
||||
DPRINT1("ReactX Calling : DxEngSetDCOwner \n");
|
||||
|
||||
return IntGdiSetDCOwnerEx( hObject, OwnerMask, FALSE);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue