4 * Video miniport AGP interface
6 * This file is part of the w32api package.
9 * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
11 * THIS SOFTWARE IS NOT COPYRIGHTED
13 * This source code is offered for use in the public domain. You may
14 * use, modify or distribute it freely.
16 * This code is distributed in the hope that it will be useful but
17 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
18 * DISCLAIMED. This includes but is not limited to warranties of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
27 #pragma GCC system_header
38 #define VIDEO_AGP_RATE_1X 0x00000001
39 #define VIDEO_AGP_RATE_2X 0x00000002
40 #define VIDEO_AGP_RATE_4X 0x00000004
41 #define VIDEO_AGP_RATE_8X 0x00000008
43 typedef enum _VIDEO_PORT_CACHE_TYPE
{
47 } VIDEO_PORT_CACHE_TYPE
;
49 typedef BOOLEAN DDKAPI
50 (*PAGP_COMMIT_PHYSICAL
)(
51 /*IN*/ PVOID HwDeviceExtension
,
52 /*IN*/ PVOID PhysicalReserveContext
,
57 (*PAGP_COMMIT_VIRTUAL
)(
58 /*IN*/ PVOID HwDeviceExtension
,
59 /*IN*/ PVOID VirtualReserveContext
,
64 (*PAGP_FREE_PHYSICAL
)(
65 /*IN*/ PVOID HwDeviceExtension
,
66 /*IN*/ PVOID PhysicalReserveContext
,
72 /*IN*/ PVOID HwDeviceExtension
,
73 /*IN*/ PVOID VirtualReserveContext
,
78 (*PAGP_RELEASE_PHYSICAL
)(
79 /*IN*/ PVOID HwDeviceExtension
,
80 /*IN*/ PVOID PhysicalReserveContext
);
83 (*PAGP_RELEASE_VIRTUAL
)(
84 /*IN*/ PVOID HwDeviceExtension
,
85 /*IN*/ PVOID VirtualReserveContext
);
87 typedef PHYSICAL_ADDRESS DDKAPI
88 (*PAGP_RESERVE_PHYSICAL
)(
89 /*IN*/ PVOID HwDeviceExtension
,
91 /*IN*/ VIDEO_PORT_CACHE_TYPE Caching
,
92 /*OUT*/ PVOID
*PhysicalReserveContext
);
95 (*PAGP_RESERVE_VIRTUAL
)(
96 /*IN*/ PVOID HwDeviceExtension
,
97 /*IN*/ HANDLE ProcessHandle
,
98 /*IN*/ PVOID PhysicalReserveContext
,
99 /*OUT*/ PVOID
*VirtualReserveContext
);
101 typedef BOOLEAN DDKAPI
103 /*IN*/ PVOID HwDeviceExtension
,
104 /*IN*/ ULONG AgpRate
);
106 typedef struct _VIDEO_PORT_AGP_SERVICES
{
107 PAGP_RESERVE_PHYSICAL AgpReservePhysical
;
108 PAGP_RELEASE_PHYSICAL AgpReleasePhysical
;
109 PAGP_COMMIT_PHYSICAL AgpCommitPhysical
;
110 PAGP_FREE_PHYSICAL AgpFreePhysical
;
111 PAGP_RESERVE_VIRTUAL AgpReserveVirtual
;
112 PAGP_RELEASE_VIRTUAL AgpReleaseVirtual
;
113 PAGP_COMMIT_VIRTUAL AgpCommitVirtual
;
114 PAGP_FREE_VIRTUAL AgpFreeVirtual
;
115 ULONGLONG AllocationLimit
;
116 } VIDEO_PORT_AGP_SERVICES
, *PVIDEO_PORT_AGP_SERVICES
;
121 VideoPortGetAgpServices(
122 /*IN*/ PVOID HwDeviceExtension
,
123 /*IN*/ PVIDEO_PORT_AGP_SERVICES AgpServices
);
129 #endif /* __VIDEOAGP_H */