Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

129 lines
2.3 KiB

  1. /*++
  2. Copyright (c) Microsoft Corporation. All rights reserved.
  3. Module Name:
  4. videoagp.h
  5. Abstract:
  6. Video miniport AGP support.
  7. Notes:
  8. Revision History:
  9. --*/
  10. #ifndef __VIDEOAGP_H__
  11. #define __VIDEOAGP_H__
  12. #define VIDEO_AGP_RATE_1X 1
  13. #define VIDEO_AGP_RATE_2X 2
  14. #define VIDEO_AGP_RATE_4X 4
  15. #define VIDEO_AGP_RATE_8X 8
  16. typedef enum
  17. {
  18. VpNonCached = 0,
  19. VpWriteCombined,
  20. VpCached
  21. } VIDEO_PORT_CACHE_TYPE;
  22. typedef
  23. PHYSICAL_ADDRESS
  24. (*PAGP_RESERVE_PHYSICAL)(
  25. IN PVOID HwDeviceExtension,
  26. IN ULONG Pages,
  27. IN VIDEO_PORT_CACHE_TYPE Caching,
  28. OUT PVOID *PhysicalReserveContext
  29. );
  30. typedef
  31. VOID
  32. (*PAGP_RELEASE_PHYSICAL)(
  33. IN PVOID HwDeviceExtension,
  34. IN PVOID PhysicalReserveContext
  35. );
  36. typedef
  37. BOOLEAN
  38. (*PAGP_COMMIT_PHYSICAL)(
  39. IN PVOID HwDeviceExtension,
  40. IN PVOID PhysicalReserveContext,
  41. IN ULONG Pages,
  42. IN ULONG Offset
  43. );
  44. typedef
  45. VOID
  46. (*PAGP_FREE_PHYSICAL)(
  47. IN PVOID HwDeviceExtension,
  48. IN PVOID PhysicalReserveContext,
  49. IN ULONG Pages,
  50. IN ULONG Offset
  51. );
  52. typedef
  53. PVOID
  54. (*PAGP_RESERVE_VIRTUAL)(
  55. IN PVOID HwDeviceExtension,
  56. IN HANDLE ProcessHandle,
  57. IN PVOID PhysicalReserveContext,
  58. OUT PVOID *VirtualReserveContext
  59. );
  60. typedef
  61. VOID
  62. (*PAGP_RELEASE_VIRTUAL)(
  63. IN PVOID HwDeviceExtension,
  64. IN PVOID VirtualReserveContext
  65. );
  66. typedef
  67. PVOID
  68. (*PAGP_COMMIT_VIRTUAL)(
  69. IN PVOID HwDeviceExtension,
  70. IN PVOID VirtualReserveContext,
  71. IN ULONG Pages,
  72. IN ULONG Offset
  73. );
  74. typedef
  75. VOID
  76. (*PAGP_FREE_VIRTUAL)(
  77. IN PVOID HwDeviceExtension,
  78. IN PVOID VirtualReserveContext,
  79. IN ULONG Pages,
  80. IN ULONG Offset
  81. );
  82. typedef
  83. BOOLEAN
  84. (*PAGP_SET_RATE)(
  85. IN PVOID HwDeviceExtension,
  86. IN ULONG AgpRate
  87. );
  88. typedef struct _VIDEO_PORT_AGP_SERVICES
  89. {
  90. PAGP_RESERVE_PHYSICAL AgpReservePhysical;
  91. PAGP_RELEASE_PHYSICAL AgpReleasePhysical;
  92. PAGP_COMMIT_PHYSICAL AgpCommitPhysical;
  93. PAGP_FREE_PHYSICAL AgpFreePhysical;
  94. PAGP_RESERVE_VIRTUAL AgpReserveVirtual;
  95. PAGP_RELEASE_VIRTUAL AgpReleaseVirtual;
  96. PAGP_COMMIT_VIRTUAL AgpCommitVirtual;
  97. PAGP_FREE_VIRTUAL AgpFreeVirtual;
  98. ULONGLONG AllocationLimit;
  99. } VIDEO_PORT_AGP_SERVICES, *PVIDEO_PORT_AGP_SERVICES;
  100. BOOLEAN
  101. VideoPortGetAgpServices(
  102. IN PVOID HwDeviceExtension,
  103. IN PVIDEO_PORT_AGP_SERVICES AgpServices
  104. );
  105. #endif // ifndef __VIDEOAGP_H__