topical media & game development
lib-of-vs-libs-QTDevWin-CIncludes-AGP.h / h
/*
File: AGP.h
Contains: API for Accelerated Graphics Port (AGP)
Version: Technology: 1.0
Release: QuickTime 6.0.2
Copyright: (c) 1999-2001 by Apple Computer, Inc., all rights reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
ifndef __AGP__
define __AGP__
ifndef __CONDITIONALMACROS__
include <ConditionalMacros.h>
endif
ifndef __MACTYPES__
include <MacTypes.h>
endif
if PRAGMA_ONCE
#pragma once
endif
ifdef __cplusplus
extern "C" {
endif
if PRAGMA_IMPORT
#pragma import on
endif
if PRAGMA_STRUCT_ALIGN
#pragma options align=power
#elif PRAGMA_STRUCT_PACKPUSH
#pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
#pragma pack(2)
endif
/* AGP related property names*/
define kAGPMasterProperty "AGP_Master"
define kAGPTargetProperty "AGP_Target"
define kAGPAddressRange "AGP_Address_Range"
define kAGPAddressBlock "AGP_Address_Block"
define kAGPAlignment "AGP_Alignment"
define kAGPAllowOverlap "AGP_AllowOverlap"
define kAGPMajorRevision "AGP_MajorRevision"
define kAGPMinorRevision "AGP_MinorRevision"
define kAGPDepth "AGP_Depth"
define kAGPSBASupport "AGP_SBA_Support"
define AGPTransferType "AGP_Transfer_Type"
define kAGPFourGig "AGP_4Gig_Enabled"
define kAGPFastWrite "AGP_FastWrite_Enabled"
define kAGPEnabled "AGP_Enabled"
/* AGP Capabilities Register definitions*/
enum {
/* AGP Register Offsets*/
kAGPRevisionOffset = 0x02,
kAGPStatusOffset = 0x04,
kAGPCommandOffset = 0x08, /* Major/Minor Rev Bits*/
kAGPMinorRevMask = 0x0F,
kAGPMajorRevMask = 0xF0,
kAGPMinorRevBit = 0x00,
kAGPMajorRevBit = 0x04, /* AGP Status Register definitions*/
kAGPDataRateMask = 0x00000003,
kAGPFastWriteMask = 0x00000010,
kAGPFourGigAddrMask = 0x00000020,
kAGPSideBandAddrMask = 0x00000200,
kAGPRequestDepthMask = (long)0xFF000000,
kAGPDataRateBit = 0x00,
kAGPFastWriteBit = 0x04,
kAGPFourGigAddrBit = 0x05,
kAGPSideBandAddrBit = 0x09,
kAGPRequestDepthBit = 0x18, /* AGP Command Register definitions*/
kAGPEnableBit = 0x08,
kAGPEnableMask = 0x00000100
};
/* AGP Speed definitions*/
enum {
kAGPOneX = 1,
kAGPTwoX = 2,
kAGPFourX = 4
};
enum {
kAGPQueryBaseAddress = 1,
kAGPQueryEnabled = 2,
kAGPQueryMaxAGPMemory = 3,
kAGPQueryFreeAGPMemory = 4,
kAGPEnabledStatus = 1,
kAGPDisabledStatus = 0
};
struct AGPAddressPair {
LogicalAddress systemLogicalAddress;
LogicalAddress agpLogicalAddress;
UInt32 internalInfo[4];
};
typedef struct AGPAddressPair AGPAddressPair;
typedef UInt32 AGPQuery;
if CALL_NOT_IN_CARBON
EXTERN_API_C( OSStatus )
AGPNewMemory (AGPAddressPair * agpAddressPair,
ByteCount byteSize,
Boolean clear);
EXTERN_API_C( OSStatus )
AGPReserveMemory (AGPAddressPair * agpAddressPair,
ByteCount byteSize);
EXTERN_API_C( OSStatus )
AGPDisposeMemory (AGPAddressPair * agpAddress);
EXTERN_API_C( OSStatus )
AGPReleaseMemory (AGPAddressPair * agpAddress);
EXTERN_API_C( OSStatus )
AGPCommitMemory (AGPAddressPair * agpAddress,
Boolean agpClientManagesCaches);
EXTERN_API_C( OSStatus )
AGPGetAGPLogicalAddress (AGPAddressPair * agpAddressPair);
EXTERN_API_C( OSStatus )
AGPGetSystemLogicalAddress (AGPAddressPair * agpAddressPair);
EXTERN_API_C( OSStatus )
AGPGetStatus (AGPQuery query,
void * result);
EXTERN_API_C( OSStatus )
AGPDecommitMemory (AGPAddressPair * agpAddress);
EXTERN_API_C( OSStatus )
AGPRestoreCacheState (AGPAddressPair * agpAddress);
endif /* CALL_NOT_IN_CARBON */
if PRAGMA_STRUCT_ALIGN
#pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
#pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
#pragma pack()
endif
ifdef PRAGMA_IMPORT_OFF
#pragma import off
#elif PRAGMA_IMPORT
#pragma import reset
endif
ifdef __cplusplus
}
endif
endif /* __AGP__ */
(C) Æliens
04/09/2009
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.