/*==========================================================================; * * 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__