windows-nt/Source/XPSP1/NT/multimedia/inc/ddraw/ddagp.h
2020-09-26 16:20:57 +08:00

67 lines
2.1 KiB
C

/*==========================================================================;
*
* Copyright (C) 1994-1998 Microsoft Corporation. All Rights Reserved.
*
* File: ddagp.h
* Content: AGP memory header file
* History:
* Date By Reason
* ==== == ======
* 03-Feb-98 DrewB Split from ddrawpr.h for user/kernel portability.
*
***************************************************************************/
#ifndef __DDAGP_INCLUDED__
#define __DDAGP_INCLUDED__
// This value controls how big a chunk of GART memory to commit each time
// we need to (rather than commiting just what we need to satisfy a surface
// request). This value is in bytes. Currently 256KB.
#define DEFAULT_AGP_COMMIT_DELTA (256 * 1024)
extern DWORD dwAGPPolicyMaxBytes;
extern DWORD dwAGPPolicyCommitDelta;
//
// OS-specific functions for AGP manipulation.
//
#ifdef WIN95
#define OsGetAGPDeviceHandle(pHeap) GetDXVxdHandle()
#define OsCloseAGPDeviceHandle(h) CloseHandle(h)
#else
#define OsGetAGPDeviceHandle(pHeap) ((pHeap)->hdevAGP)
#define OsCloseAGPDeviceHandle(h)
#endif
BOOL OsAGPReserve( HANDLE hdev, DWORD dwNumPages, BOOL fIsUC, BOOL fIsWC,
FLATPTR *pfpLinStart, LARGE_INTEGER *pliDevStart,
LPVOID *ppvReservation );
BOOL OsAGPCommit( HANDLE hdev, LPVOID pvReservation,
DWORD dwPageOffset, DWORD dwNumPages );
BOOL OsAGPDecommitAll( HANDLE hdev, LPVOID pvReservation, DWORD dwNumPages );
BOOL OsAGPFree( HANDLE hdev, LPVOID pvReservation );
//
// Generic functions that use the OS-specific functions.
//
DWORD AGPReserve( HANDLE hdev, DWORD dwSize, BOOL fIsUC, BOOL fIsWC,
FLATPTR *pfpLinStart, LARGE_INTEGER *pliDevStart,
LPVOID *ppvReservation );
BOOL AGPCommit( HANDLE hdev, LPVOID pvReservation,
DWORD dwOffset, DWORD dwSize );
BOOL AGPDecommitAll( HANDLE hdev, LPVOID pvReservation, DWORD dwSize );
BOOL AGPFree( HANDLE hdev, LPVOID pvReservation );
#ifndef __NTDDKCOMP__
#ifdef WIN95
BOOL vxdIsVMMAGPAware ( HANDLE hvxd );
#endif
BOOL OSIsAGPAware( HANDLE hdev );
#endif
#endif // __DDAGP_INCLUDED__