130 lines
2.3 KiB
C
130 lines
2.3 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
videoagp.h
|
||
|
|
||
|
Abstract:
|
||
|
Video miniport AGP support.
|
||
|
|
||
|
Notes:
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#ifndef __VIDEOAGP_H__
|
||
|
#define __VIDEOAGP_H__
|
||
|
|
||
|
#define VIDEO_AGP_RATE_1X 1
|
||
|
#define VIDEO_AGP_RATE_2X 2
|
||
|
#define VIDEO_AGP_RATE_4X 4
|
||
|
#define VIDEO_AGP_RATE_8X 8
|
||
|
|
||
|
typedef enum
|
||
|
{
|
||
|
VpNonCached = 0,
|
||
|
VpWriteCombined,
|
||
|
VpCached
|
||
|
} VIDEO_PORT_CACHE_TYPE;
|
||
|
|
||
|
typedef
|
||
|
PHYSICAL_ADDRESS
|
||
|
(*PAGP_RESERVE_PHYSICAL)(
|
||
|
IN PVOID HwDeviceExtension,
|
||
|
IN ULONG Pages,
|
||
|
IN VIDEO_PORT_CACHE_TYPE Caching,
|
||
|
OUT PVOID *PhysicalReserveContext
|
||
|
);
|
||
|
|
||
|
typedef
|
||
|
VOID
|
||
|
(*PAGP_RELEASE_PHYSICAL)(
|
||
|
IN PVOID HwDeviceExtension,
|
||
|
IN PVOID PhysicalReserveContext
|
||
|
);
|
||
|
|
||
|
typedef
|
||
|
BOOLEAN
|
||
|
(*PAGP_COMMIT_PHYSICAL)(
|
||
|
IN PVOID HwDeviceExtension,
|
||
|
IN PVOID PhysicalReserveContext,
|
||
|
IN ULONG Pages,
|
||
|
IN ULONG Offset
|
||
|
);
|
||
|
|
||
|
typedef
|
||
|
VOID
|
||
|
(*PAGP_FREE_PHYSICAL)(
|
||
|
IN PVOID HwDeviceExtension,
|
||
|
IN PVOID PhysicalReserveContext,
|
||
|
IN ULONG Pages,
|
||
|
IN ULONG Offset
|
||
|
);
|
||
|
|
||
|
typedef
|
||
|
PVOID
|
||
|
(*PAGP_RESERVE_VIRTUAL)(
|
||
|
IN PVOID HwDeviceExtension,
|
||
|
IN HANDLE ProcessHandle,
|
||
|
IN PVOID PhysicalReserveContext,
|
||
|
OUT PVOID *VirtualReserveContext
|
||
|
);
|
||
|
|
||
|
typedef
|
||
|
VOID
|
||
|
(*PAGP_RELEASE_VIRTUAL)(
|
||
|
IN PVOID HwDeviceExtension,
|
||
|
IN PVOID VirtualReserveContext
|
||
|
);
|
||
|
|
||
|
typedef
|
||
|
PVOID
|
||
|
(*PAGP_COMMIT_VIRTUAL)(
|
||
|
IN PVOID HwDeviceExtension,
|
||
|
IN PVOID VirtualReserveContext,
|
||
|
IN ULONG Pages,
|
||
|
IN ULONG Offset
|
||
|
);
|
||
|
|
||
|
typedef
|
||
|
VOID
|
||
|
(*PAGP_FREE_VIRTUAL)(
|
||
|
IN PVOID HwDeviceExtension,
|
||
|
IN PVOID VirtualReserveContext,
|
||
|
IN ULONG Pages,
|
||
|
IN ULONG Offset
|
||
|
);
|
||
|
|
||
|
typedef
|
||
|
BOOLEAN
|
||
|
(*PAGP_SET_RATE)(
|
||
|
IN PVOID HwDeviceExtension,
|
||
|
IN ULONG AgpRate
|
||
|
);
|
||
|
|
||
|
typedef struct _VIDEO_PORT_AGP_SERVICES
|
||
|
{
|
||
|
PAGP_RESERVE_PHYSICAL AgpReservePhysical;
|
||
|
PAGP_RELEASE_PHYSICAL AgpReleasePhysical;
|
||
|
PAGP_COMMIT_PHYSICAL AgpCommitPhysical;
|
||
|
PAGP_FREE_PHYSICAL AgpFreePhysical;
|
||
|
|
||
|
PAGP_RESERVE_VIRTUAL AgpReserveVirtual;
|
||
|
PAGP_RELEASE_VIRTUAL AgpReleaseVirtual;
|
||
|
PAGP_COMMIT_VIRTUAL AgpCommitVirtual;
|
||
|
PAGP_FREE_VIRTUAL AgpFreeVirtual;
|
||
|
ULONGLONG AllocationLimit;
|
||
|
|
||
|
} VIDEO_PORT_AGP_SERVICES, *PVIDEO_PORT_AGP_SERVICES;
|
||
|
|
||
|
BOOLEAN
|
||
|
VideoPortGetAgpServices(
|
||
|
IN PVOID HwDeviceExtension,
|
||
|
IN PVIDEO_PORT_AGP_SERVICES AgpServices
|
||
|
);
|
||
|
|
||
|
#endif // ifndef __VIDEOAGP_H__
|