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
40 #define VIDEO_AGP_RATE_1X 0x00000001
41 #define VIDEO_AGP_RATE_2X 0x00000002
42 #define VIDEO_AGP_RATE_4X 0x00000004
43 #define VIDEO_AGP_RATE_8X 0x00000008
45 typedef enum _VIDEO_PORT_CACHE_TYPE
{
49 } VIDEO_PORT_CACHE_TYPE
;
51 typedef BOOLEAN DDKAPI
52 (*PAGP_COMMIT_PHYSICAL
)(
53 IN PVOID HwDeviceExtension
,
54 IN PVOID PhysicalReserveContext
,
59 (*PAGP_COMMIT_VIRTUAL
)(
60 IN PVOID HwDeviceExtension
,
61 IN PVOID VirtualReserveContext
,
66 (*PAGP_FREE_PHYSICAL
)(
67 IN PVOID HwDeviceExtension
,
68 IN PVOID PhysicalReserveContext
,
74 IN PVOID HwDeviceExtension
,
75 IN PVOID VirtualReserveContext
,
80 (*PAGP_RELEASE_PHYSICAL
)(
81 IN PVOID HwDeviceExtension
,
82 IN PVOID PhysicalReserveContext
);
85 (*PAGP_RELEASE_VIRTUAL
)(
86 IN PVOID HwDeviceExtension
,
87 IN PVOID VirtualReserveContext
);
89 typedef PHYSICAL_ADDRESS DDKAPI
90 (*PAGP_RESERVE_PHYSICAL
)(
91 IN PVOID HwDeviceExtension
,
93 IN VIDEO_PORT_CACHE_TYPE Caching
,
94 OUT PVOID
*PhysicalReserveContext
);
97 (*PAGP_RESERVE_VIRTUAL
)(
98 IN PVOID HwDeviceExtension
,
99 IN HANDLE ProcessHandle
,
100 IN PVOID PhysicalReserveContext
,
101 OUT PVOID
*VirtualReserveContext
);
103 typedef BOOLEAN DDKAPI
105 IN PVOID HwDeviceExtension
,
108 typedef struct _VIDEO_PORT_AGP_SERVICES
{
109 PAGP_RESERVE_PHYSICAL AgpReservePhysical
;
110 PAGP_RELEASE_PHYSICAL AgpReleasePhysical
;
111 PAGP_COMMIT_PHYSICAL AgpCommitPhysical
;
112 PAGP_FREE_PHYSICAL AgpFreePhysical
;
113 PAGP_RESERVE_VIRTUAL AgpReserveVirtual
;
114 PAGP_RELEASE_VIRTUAL AgpReleaseVirtual
;
115 PAGP_COMMIT_VIRTUAL AgpCommitVirtual
;
116 PAGP_FREE_VIRTUAL AgpFreeVirtual
;
117 ULONGLONG AllocationLimit
;
118 } VIDEO_PORT_AGP_SERVICES
, *PVIDEO_PORT_AGP_SERVICES
;
123 VideoPortGetAgpServices(
124 IN PVOID HwDeviceExtension
,
125 IN PVIDEO_PORT_AGP_SERVICES AgpServices
);
133 #endif /* __VIDEOAGP_H */