Author: greatlrd Date: Mon Oct 15 12:34:11 2007 New Revision: 29593
URL: http://svn.reactos.org/svn/reactos?rev=29593&view=rev Log: finish redirect dvp interface to dxg.sys
Modified: branches/reactx/reactos/subsystems/win32/win32k/include/intddraw.h branches/reactx/reactos/subsystems/win32/win32k/ntddraw/dvp.c
Modified: branches/reactx/reactos/subsystems/win32/win32k/include/intddraw.h URL: http://svn.reactos.org/svn/reactos/branches/reactx/reactos/subsystems/win32/... ============================================================================== --- branches/reactx/reactos/subsystems/win32/win32k/include/intddraw.h (original) +++ branches/reactx/reactos/subsystems/win32/win32k/include/intddraw.h Mon Oct 15 12:34:11 2007 @@ -40,6 +40,12 @@ typedef DWORD (NTAPI *PGD_D3DCONTEXTDESTROYALL)(LPD3DNTHAL_CONTEXTDESTROYALLDATA);
/* From dvp.c */ +typedef DWORD (NTAPI* PGD_DVPCANCREATEVIDEOPORT)(HANDLE, PDD_CANCREATEVPORTDATA); +typedef DWORD (NTAPI* PGD_DVPCOLORCONTROL)(HANDLE, PDD_VPORTCOLORDATA); +typedef DWORD (NTAPI* PGD_DVPCREATEVIDEOPORT(HANDLE, PDD_CREATEVPORTDATA); +typedef DWORD (NTAPI* PGD_DVPDESTROYVIDEOPORT(HANDLE, PDD_DESTROYVPORTDATA); +typedef DWORD (NTAPI* PGD_DVPFLIPVIDEOPORT)(HANDLE,HANDLE,HANDLE,PDD_FLIPVPORTDATA); +typedef DWORD (NTAPI* PGD_DVPGETVIDEOPORTBANDWITH)(HANDLE, PDD_GETVPORTBANDWIDTHDATA); typedef DWORD (NTAPI *PGD_DXDVPGETVIDEOPORTFLIPSTATUS)(hDirectDraw, puGetVPortFlipStatusData); typedef DWORD (NTAPI *PGD_DXDVPGETVIDEOPORTINPUTFORMATS)(HANDLE, PDD_GETVPORTINPUTFORMATDATA); typedef DWORD (NTAPI *PGD_DXDVPGETVIDEOPORTLINE)(HANDLE, PDD_GETVPORTLINEDATA);
Modified: branches/reactx/reactos/subsystems/win32/win32k/ntddraw/dvp.c URL: http://svn.reactos.org/svn/reactos/branches/reactx/reactos/subsystems/win32/... ============================================================================== --- branches/reactx/reactos/subsystems/win32/win32k/ntddraw/dvp.c (original) +++ branches/reactx/reactos/subsystems/win32/win32k/ntddraw/dvp.c Mon Oct 15 12:34:11 2007 @@ -13,18 +13,27 @@ #include <w32k.h> #include <debug.h>
-DWORD (NTAPI* PGD_DVPFLIPVIDEOPORT)(HANDLE,HANDLE,HANDLE,PDD_FLIPVPORTDATA); -DWORD (NTAPI* PGD_DVPGETVIDEOPORTBANDWITH)(HANDLE, PDD_GETVPORTBANDWIDTHDATA); - /************************************************************************/ /* NtGdiDvpCanCreateVideoPort */ /************************************************************************/ DWORD STDCALL -NtGdiDvpCanCreateVideoPort(hDirectDraw, +NtGdiDvpCanCreateVideoPort(HANDLE hDirectDraw, PDD_CANCREATEVPORTDATA puCanCreateVPortData) { - + PGD_DVPCANCREATEVIDEOPORT pfnDvpCanCreateVideoPort = NULL; + INT i; + + DXG_GET_INDEX_FUNCTION(DXG_INDEX_DxDvpCanCreateVideoPort, pfnDvpCanCreateVideoPort); + + if (pfnDvpCanCreateVideoPort == NULL) + { + DPRINT1("Warring no pfnDvpCanCreateVideoPort"); + return DDHAL_DRIVER_NOTHANDLED; + } + + DPRINT1("Calling on dxg.sys pfnDvpCanCreateVideoPort"); + return pfnDvpCanCreateVideoPort(hDirectDraw, puCanCreateVPortData); }
/************************************************************************/ @@ -35,7 +44,19 @@ NtGdiDvpColorControl(HANDLE hVideoPort, PDD_VPORTCOLORDATA puVPortColorData) { - + PGD_DVPCOLORCONTROL pfnDvpColorControl = NULL; + INT i; + + DXG_GET_INDEX_FUNCTION(DXG_INDEX_DxDvpColorControl, pfnDvpColorControl); + + if (pfnDvpColorControl == NULL) + { + DPRINT1("Warring no pfnDvpColorControl"); + return DDHAL_DRIVER_NOTHANDLED; + } + + DPRINT1("Calling on dxg.sys pfnDvpColorControl"); + return pfnDvpColorControl(hVideoPort, puVPortColorData); }
/************************************************************************/ @@ -46,7 +67,19 @@ NtGdiDvpCreateVideoPort(HANDLE hDirectDraw, PDD_CREATEVPORTDATA puCreateVPortData) { - + PGD_DVPCREATEVIDEOPORT pfnDvpCreateVideoPort = NULL; + INT i; + + DXG_GET_INDEX_FUNCTION(DXG_INDEX_DxDvpCreateVideoPort, pfnDvpCreateVideoPort); + + if (pfnDvpCreateVideoPort == NULL) + { + DPRINT1("Warring no pfnDvpCreateVideoPort"); + return DDHAL_DRIVER_NOTHANDLED; + } + + DPRINT1("Calling on dxg.sys pfnDvpCreateVideoPort"); + return pfnDvpCreateVideoPort(hDirectDraw, puCreateVPortData); }
/************************************************************************/ @@ -57,7 +90,19 @@ NtGdiDvpDestroyVideoPort(HANDLE hVideoPort, PDD_DESTROYVPORTDATA puDestroyVPortData) { - + PGD_DVPDESTROYVIDEOPORT pfnDvpDestroyVideoPort = NULL; + INT i; + + DXG_GET_INDEX_FUNCTION(DXG_INDEX_DxDvpDestroyVideoPort, pfnDvpDestroyVideoPort); + + if (pfnDvpDestroyVideoPort == NULL) + { + DPRINT1("Warring no pfnDvpDestroyVideoPort"); + return DDHAL_DRIVER_NOTHANDLED; + } + + DPRINT1("Calling on dxg.sys pfnDvpDestroyVideoPort"); + return pfnDvpDestroyVideoPort(hVideoPort, puDestroyVPortData); }
/************************************************************************/ @@ -70,7 +115,7 @@ HANDLE hDDSurfaceTarget, PDD_FLIPVPORTDATA puFlipVPortData) { - PGD_DVPFLIPVIDEOPORT pfnDvpFlipVideoPort= NULL; + PGD_DVPFLIPVIDEOPORT pfnDvpFlipVideoPort = NULL; INT i;
DXG_GET_INDEX_FUNCTION(DXG_INDEX_DxDvpFlipVideoPort, pfnDvpFlipVideoPort);