Author: greatlrd
Date: Sat Nov 10 18:31:49 2007
New Revision: 30328
URL:
http://svn.reactos.org/svn/reactos?rev=30328&view=rev
Log:
Merge from branch ReactX to Trunk,
Please make a clean build after this update
Add dxg.sys driver
----------------------------------------------------------------
This driver contains all DirectX graphic APIs called by win32k. Most of them
are stubbed, and the following APIs are implemented:
DxDxgGenericThunk, DxDdIoctl, DriverEntry, DxDdStartupDxGraphics, DxDdCleanupDxGraphics
Add dxgthk.sys driver, which is 100% finished
---------------------------------------------------------
The following APIs are implemented (almost all are forwarders):
DriverEntry, EngAcquireSemaphore, EngAllocMem, EngAllocUserMem,
EngCopyBits, EngCreateBitmap, EngCreatePalette, EngCreateSemaphore,
EngDeletePalette, EngDeleteSemaphore, EngDeleteSurface,
EngFindImageProcAddress, EngFreeMem, EngFreeUserMem,
EngLoadImage, EngLockSurface, EngReleaseSemaphore,
EngSetLastError, EngUnloadImage, EngUnlockSurface
Add dxapi.sys driver
--------------------------------------------------------------
Most of the APIs used by the graphic card's driver or win32k are stubs.
The following APIs are implemented:
DriverEntry, GsDriverEntry, DxApiGetVersion, DxApi.
All APIs which DxApi wraps are stubs.
Changes in win32k
-------------------------------------------------------------------
Move _DC struct to include\reactos\win32k\ntgdihdl.h
--------------------------------------------------------------------------
Implement NtGdiDdCanCreateD3DBuffer, NtGdiD3dContextDestroy,
NtGdiD3dContextDestroyAll, NtGdiDdCreateD3DBuffer, NtGdiDdDestroyD3DBuffer,
NtGdiD3dDrawPrimitives2, NtGdiDdLockD3D, NtGdiD3dValidateTextureStageState,
NtGdiDdUnlockD3D, NtGdiDdCreateSurface, NtGdiDdWaitForVerticalBlank,
NtGdiDdCanCreateSurface, NtGdiDdGetScanLine, NtGdiDdCreateSurfaceEx,
DxDdStartupDxGraphics, NtGdiDdCreateDirectDrawObject, NtGdiDxgGenericThunk,
NtGdiDdGetDriverState, NtGdiDdColorControl, NtGdiDdCreateSurfaceObject,
NtGdiDdCreateSurfaceObject, NtGdiDdDeleteDirectDrawObject, NtGdiDdDeleteSurfaceObject,
NtGdiDdQueryDirectDrawObject, NtGdiDdReenableDirectDrawObject, NtGdiDdGetDriverInfo,
NtGdiDdGetAvailDriverMemory, NtGdiDdSetExclusiveMode, NtGdiDdFlipToGDISurface,
NtGdiDdGetDC, NtGdiDdGetDxHandle, NtGdiDdReleaseDC, NtGdiDdResetVisrgn,
NtGdiDdSetGammaRamp, NtGdiDdDestroySurface, NtGdiDdFlip, NtGdiDdLock, NtGdiDdUnlock,
NtGdiDdBlt, NtGdiDdSetColorKey, NtGdiDdAddAttachedSurface, NtGdiDdGetBltStatus,
NtGdiDdGetFlipStatus, NtGdiDdUpdateOverlay, NtGdiDdSetOverlayPosition,
NtGdiDdAlphaBlt, NtGdiDdAttachSurface, NtGdiDdUnattachSurface,
NtGdiDvpCanCreateVideoPort, NtGdiDvpColorControl, NtGdiDvpCreateVideoPort,
NtGdiDvpDestroyVideoPort, NtGdiDvpFlipVideoPort, NtGdiDvpGetVideoPortBandwidth,
NtGdiDvpGetVideoPortFlipStatus, NtGdiDvpGetVideoPortInputFormats,
NtGdiDvpGetVideoPortLine, NtGdiDvpGetVideoPortOutputFormats,
NtGdiDvpGetVideoPortConnectInfo, NtGdiDvpGetVideoSignalStatus,
NtGdiDvpUpdateVideoPort, NtGdiDvpWaitForVideoPortSync,
NtGdiDvpAcquireNotification, NtGdiDvpReleaseNotification,
NtGdiDvpGetVideoPortField, NtGdiDdBeginMoCompFrame,
NtGdiDdCreateMoComp, NtGdiDdDestroyMoComp,
NtGdiDdEndMoCompFrame, NtGdiDdGetInternalMoCompInfo,
NtGdiDdGetMoCompBuffInfo, NtGdiDdGetMoCompFormats,
NtGdiDdGetMoCompGuids, NtGdiDdQueryMoCompStatus,
NtGdiDdRenderMoComp, HeapVidMemAllocAligned,
VidMemFree, EngAllocPrivateUserMem, EngFreePrivateUserMem,
EngLockDirectDrawSurface, EngUnlockDirectDrawSurface
But all those functions are stubbed in dxg.sys
----------------------------------------------------------------------------
Implemented APIsL
DxEngLockDC, DxEngUnlockDC, DxEngGetDCState, EngDxIoctl
----------------------------------------------------------------------------
Stubbed APIs:
DxEngNUIsTermSrv, DxEngRedrawDesktop, DxEngDispUniq, DxEngVisRgnUniq,
DxEngEnumerateHdev, DxEngGetDeviceGammaRamp, DxEngCreateMemoryDC,
DxEngScreenAccessCheck, DxEngLockShareSem, DxEngUnlockShareSem,
DxEngLockHdev, DxEngUnlockHdev, DxEngReferenceHdev,
DxEngIsHdevLockedByCurrentThread, DxEngUnreferenceHdev,
DxEngSetDeviceGammaRamp, DxEngSpTearDownSprites,
DxEngSpUnTearDownSprites, DxEngSpSpritesVisible,
DxEngGetHdevData, DxEngSetHdevData, DxEngGetDesktopDC,
DxEngDeleteDC, DxEngCleanDC, DxEngSetDCOwner,
DxEngSetDCState, DxEngSelectBitmap,DxEngSetBitmapOwner,
DxEngDeleteSurface, DxEngGetSurfaceData, DxEngAltLockSurface,
DxEngUploadPaletteEntryToSurface, DxEngMarkSurfaceAsDirectDraw,
DxEngSelectPaletteToSurface, DxEngSyncPaletteTableWithDevice,
DxEngSetPaletteState, DxEngGetRedirectionBitmap, DxEngLoadImage,
DxEngIncDispUniq
----------------------------------------------------------------------------
Remember we need the DxEng APIs implemented and HeapVidMemAllocAligned,
VidMemFree, EngAllocPrivateUserMem, EngFreePrivateUserMem,
EngLockDirectDrawSurface, EngUnlockDirectDrawSurface implemented
before it's possible to have full DirectX support at kmode.
Added:
trunk/reactos/drivers/directx/
- copied from r30321, branches/reactx/reactos/drivers/directx/
trunk/reactos/include/reactos/drivers/directx/
- copied from r30318, branches/reactx/reactos/include/reactos/drivers/directx/
trunk/reactos/subsystems/win32/win32k/ntddraw/d3d.c (with props)
trunk/reactos/subsystems/win32/win32k/ntddraw/dvp.c (with props)
trunk/reactos/subsystems/win32/win32k/ntddraw/dxeng.c (with props)
trunk/reactos/subsystems/win32/win32k/ntddraw/eng.c (with props)
trunk/reactos/subsystems/win32/win32k/ntddraw/mocomp.c (with props)
Removed:
trunk/reactos/subsystems/win32/win32k/ntddraw/stubs.c
Modified:
trunk/reactos/boot/bootdata/packages/reactos.dff
trunk/reactos/drivers/directx/dxapi/dxapi_driver.h
trunk/reactos/drivers/directx/dxapi/main.c
trunk/reactos/drivers/directx/dxg/main.c
trunk/reactos/drivers/drivers.rbuild
trunk/reactos/include/ddk/d3dnthal.h
trunk/reactos/include/ddk/ddkmapi.h
trunk/reactos/include/psdk/ntgdi.h
trunk/reactos/include/reactos/drivers/directx/dxeng.h
trunk/reactos/include/reactos/win32k/ntgdihdl.h
trunk/reactos/subsystems/win32/win32k/include/dc.h
trunk/reactos/subsystems/win32/win32k/include/driver.h
trunk/reactos/subsystems/win32/win32k/include/gdifloat.h
trunk/reactos/subsystems/win32/win32k/include/intddraw.h
trunk/reactos/subsystems/win32/win32k/ntddraw/dd.c
trunk/reactos/subsystems/win32/win32k/ntddraw/ddraw.c
trunk/reactos/subsystems/win32/win32k/ntddraw/ddsurf.c
trunk/reactos/subsystems/win32/win32k/objects/gdiobj.c
trunk/reactos/subsystems/win32/win32k/stubs/stubs.c
trunk/reactos/subsystems/win32/win32k/win32k.def
trunk/reactos/subsystems/win32/win32k/win32k.rbuild
[This mail would be too long, it was shortened to contain the URLs only.]
Modified: trunk/reactos/boot/bootdata/packages/reactos.dff
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/packages/rea…
Modified: trunk/reactos/drivers/directx/dxapi/dxapi_driver.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/directx/dxapi/dxap…
Modified: trunk/reactos/drivers/directx/dxapi/main.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/directx/dxapi/main…
Modified: trunk/reactos/drivers/directx/dxg/main.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/directx/dxg/main.c…
Modified: trunk/reactos/drivers/drivers.rbuild
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/drivers.rbuild?rev…
Modified: trunk/reactos/include/ddk/d3dnthal.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/d3dnthal.h?rev…
Modified: trunk/reactos/include/ddk/ddkmapi.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/ddkmapi.h?rev=…
Modified: trunk/reactos/include/psdk/ntgdi.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/ntgdi.h?rev=3…
Modified: trunk/reactos/include/reactos/drivers/directx/dxeng.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/drivers/di…
Modified: trunk/reactos/include/reactos/win32k/ntgdihdl.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/win32k/ntg…
Modified: trunk/reactos/subsystems/win32/win32k/include/dc.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/in…
Modified: trunk/reactos/subsystems/win32/win32k/include/driver.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/in…
Modified: trunk/reactos/subsystems/win32/win32k/include/gdifloat.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/in…
Modified: trunk/reactos/subsystems/win32/win32k/include/intddraw.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/in…
Added: trunk/reactos/subsystems/win32/win32k/ntddraw/d3d.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
Modified: trunk/reactos/subsystems/win32/win32k/ntddraw/dd.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
Modified: trunk/reactos/subsystems/win32/win32k/ntddraw/ddraw.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
Modified: trunk/reactos/subsystems/win32/win32k/ntddraw/ddsurf.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
Added: trunk/reactos/subsystems/win32/win32k/ntddraw/dvp.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
Added: trunk/reactos/subsystems/win32/win32k/ntddraw/dxeng.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
Added: trunk/reactos/subsystems/win32/win32k/ntddraw/eng.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
Added: trunk/reactos/subsystems/win32/win32k/ntddraw/mocomp.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
Removed: trunk/reactos/subsystems/win32/win32k/ntddraw/stubs.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
Modified: trunk/reactos/subsystems/win32/win32k/objects/gdiobj.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
Modified: trunk/reactos/subsystems/win32/win32k/stubs/stubs.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/st…
Modified: trunk/reactos/subsystems/win32/win32k/win32k.def
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/wi…
Modified: trunk/reactos/subsystems/win32/win32k/win32k.rbuild
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/wi…