Leaked source code of windows server 2003
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.

190 lines
8.4 KiB

  1. <HTML>
  2. <HEAD>
  3. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-
  4. 1252">
  5. <META NAME="Generator" CONTENT="Microsoft Word 97">
  6. <TITLE>3Dlabs Permedia3 Display Driver</TITLE>
  7. </HEAD>
  8. <BODY LINK="#0000ff">
  9. <FONT FACE="Verdana" SIZE=5><H2>3Dlabs Permedia3 Display Driver</H2>
  10. </FONT><FONT FACE="Verdana" SIZE=2>
  11. <H3>SUMMARY</H3></FONT><FONT FACE="Verdana" SIZE=2><P>
  12. This is a display driver for graphics adapters based
  13. on the 3Dlabs Permedia-3 chipset.
  14. It supports GDI acceleration, Microsoft DirectDraw&#174; acceleration, Microsoft Direct3D&#174; acceleration,
  15. and multiple monitor support.
  16. This display driver forms a matched pair with the 3Dlabs Permedia3 video miniport driver. The miniport driver is responsible for non-rendering tasks such as adapter initialization, register mapping, and other resource allocation, whereas the display driver handles actual rendering tasks.<p>
  17. This sample driver runs on Windows� 2000 on the x86 platform. It also builds and runs on Windows 98 and Windows ME.<P>
  18. The driver is compiled as a DX8 driver and currently supports pointsprites, multisampling, volume textures and DX8 multistreaming (with a single stream).
  19. <H3>RELEASE NOTES</H3></FONT><FONT FACE="Verdana" SIZE=2><P>
  20. All applicable samples and DCT tests have been run successfully with this driver.
  21. <H3>HARDWARE LIMITATIONS</H3></FONT><FONT FACE="Verdana" SIZE=2><P>
  22. This hardware doesn't support the following features:
  23. <UL>
  24. <LI>Vertex shader processing
  25. <LI>Pixel shader processing
  26. <LI>Multistreaming (limited to just one stream)
  27. <LI>Hardware Transform and Lighting</LI>
  28. <LI>Anisotropic and gaussian cubic texture filtering</LI>
  29. <LI>Limited to two texture stages</LI>
  30. </UL>
  31. <H3>BUILDING THE SAMPLE</H3></FONT><FONT FACE="Verdana"
  32. SIZE=2><P>
  33. Type <B>build -cz</B> from the ..\disp directory. A successful build produces the video display driver perm3dd.dll.<P>
  34. <H3>CODE TOUR</H3>
  35. <H4>File Manifest</H4>
  36. </FONT><U><PRE>File</U>&#9;&#9;&#9;<U>Description
  37. </U>
  38. dirs Directories that make up the driver (currently dx and gdi)
  39. dx\chroma.h Chromakeying definitions and inline functions
  40. dx\d3d.c Main D3D capabilites and callback tables
  41. dx\d3dbuff.c Main context callbacks for D3D videomemory buffers
  42. dx\d3dcntxt.c Main context callbacks for D3D
  43. dx\d3ddp2op.c D3D DrawPrimitives2 command buffer operations support
  44. dx\d3ddp2p3.c D3D DrawPrimitives2 callback support
  45. dx\d3dprim.c D3D primitives rendering
  46. dx\d3dsset.c D3D stateblock support
  47. dx\d3dsset.h D3D stateblock support macros and definitions
  48. dx\d3dstate.c Translate D3D renderstates and texture stage states into hw specific settings.
  49. dx\d3dstrct.c Internal D3D structure management.
  50. dx\d3dstrct.h Internal D3D structure management headers and macros
  51. dx\d3dsurf.c Surface management callbacks for D3D
  52. dx\d3dsurf.h Surface management macros and structures
  53. dx\d3dtxt.c D3D hardware specific texture setup
  54. dx\dcontext.h D3D context definition and other useful macros
  55. dx\dd.c Main DirectDraw callbacks
  56. dx\ddblt.c DirectDraw Blt callback implementation for vidmem-vidmem blts and clears
  57. dx\ddbltfx.c DirectDraw Blt implementation for stretching blts
  58. dx\dddownld.c DirectDraw Blt implementation for sysmem-vidmem blts and clears
  59. dx\ddenable.c Windows 2000 only DirectDraw/D3D enabling functions
  60. dx\ddover.c DirectDraw Overlays implementation
  61. dx\ddover.h DirectDraw Overlays implementation macros and definitions
  62. dx\ddsurf.c DirectDraw surfaces creation/destructions callbacks
  63. dx\ddvideo.c DirectDraw Videoports implementation
  64. dx\debug.c Debugging aids
  65. dx\direct3d.h Global direct3d function declarations
  66. dx\directx.h DirectX macros and definitions
  67. dx\dltamacr.h Hardware specific D3D macros and definitions
  68. dx\dma.h DMA transport definitons and macros
  69. dx\glint.h Macros and definitions needed to Access Glint based chips
  70. dx\linalloc.c Videomemory linear allocator
  71. dx\makefile Drivers makefile
  72. dx\sources The generic file for building the dx code sample library
  73. dx\stateset.c Hardware context swapping
  74. inc\bitmac2.h Bit manipulation macros for hardware registers
  75. inc\debug.h Debugging aids macros and definitions
  76. inc\driver.h
  77. inc\ereg.h Permedia 3 register structures
  78. inc\gigiregl.h Permedia 3 register structures
  79. inc\glddtk.h
  80. inc\glglobal.h
  81. inc\glintdef.h
  82. inc\glintfx.h
  83. inc\glintreg.h Permedia 3 register structures
  84. inc\gtag.h Permedia 3 register tag definitions
  85. inc\linalloc.h Videomemory linear allocator macros and definitions
  86. inc\p2rd.h Definitions for the P2RD internal RAMDAC.
  87. inc\p3rd.h Definitions for the P2ST internal RAMDAC.
  88. inc\p3rxdef.h
  89. inc\pmdef.h
  90. inc\ramdac.h
  91. inc\reg.h Permedia 3 register structures
  92. inc\rgb525.h This module contains the definitions for the IBM RGB525 RAMDAC.
  93. inc\rgb526.h This module contains the definitions for the IBM RGB526 RAMDAC.
  94. inc\rgb528.h This module contains the definitions for the IBM RGB528 RAMDAC.
  95. inc\rgb640.h This module contains the definitions for the IBM RGB640 RAMDAC.
  96. inc\softcopy.h
  97. inc\surf_fmt.h
  98. inc\tag.h Permedia 3 register tag definitions
  99. inc\tvp3026.h
  100. inc\tvp4020.h
  101. gdi\bitblt.c Contains the high-level DrvBitBlt and DrvCopyBits functions
  102. gdi\brush.c Handles all brush/pattern initialization and realization.
  103. gdi\color.c Color dithering
  104. gdi\dbgtags.c Debugging aid: convert tags numbers to string names
  105. gdi\ddraw.c Provides interfaces back from the DDRAW .lib file into the main NT driver
  106. gdi\debug.c Debug helper routines.
  107. gdi\dma.c Handling of DMA buffers.
  108. gdi\enable.c Functions that enable and disable the driver, the pdev, and the surface.
  109. gdi\fillpath.c DrvFillPath
  110. gdi\glint.h Permedia 3 hardware related defines
  111. gdi\glntctxt.c Context switching for Permedia 3
  112. gdi\glntctxt.h Permedia 3 context switching macros and definitions
  113. gdi\glntinit.c Initialisation for the Permedia3 chip.
  114. gdi\heap.c Routines for a 2-d heap.
  115. gdi\lines.c Code for drawing short fractional endpoint lines and longer lines with strips.
  116. gdi\lines.h Line drawing constants and structures
  117. gdi\lineto.c The code in this file handles the DrvLineTo() API call.
  118. gdi\makefile Drivers makefile
  119. gdi\p3rd.h Definitions for the P2ST internal RAMDAC.
  120. gdi\paint.c DrvPaint support
  121. gdi\palette.c Palette support.
  122. gdi\pointer.c Hardware pointer support for the display driver.
  123. gdi\precomp.h Common headers
  124. gdi\pxrx.c Hardware support for fills and copys
  125. gdi\pxrx.h Macros and defines for hardware fills and copys
  126. gdi\pxrxpoly.c Draws PXRX polygons.
  127. gdi\pxrxxfer.c Hardware support for blts
  128. gdi\pxrxstrp.c Hardware line drawing support routines
  129. gdi\registry.c Routines to initialize the registry and lookup string values.
  130. gdi\res.rc Resource file for the display driver
  131. gdi\sources The generic file for building the code sample
  132. gdi\stroke.c DrvStrokePath for Permedia3 driver
  133. gdi\sync.c DrvSynchronize code.
  134. gdi\textout.c Text rendering module
  135. gdi\thunk.c Testing and instrument all the driver's Drv calls.
  136. </pre> </p>
  137. </FONT><FONT FACE="Verdana" SIZE=2>
  138. <H3>CHANGES SINCE THE DX8.0 DDK RELEASE</H3></FONT><FONT FACE="Verdana" SIZE=2><P>
  139. The most important changes to this sample driver since the DX8.0 DDK release have been:
  140. <UL>
  141. <LI>Added paletted textures support for DX8 interfaces
  142. <LI>Added DX7 texture management and DX8.1 resource management
  143. <LI>Added DX7 stereo support
  144. <LI>Added line patterning support
  145. <LI>Added subvolume lock support (for 3D textures)
  146. <LI>Added DdFreeDriverMemory support
  147. <LI>Added DdSetExclusiveMode support
  148. <LI>Added DdFlipToGDISurface support
  149. <LI>Added DrvDeriveSurface support (stub code)
  150. <LI>Fixed various IA64 issues
  151. <LI>Made video memory management more simple and robust
  152. <LI>Various cleanup and small fixes
  153. </UL>
  154. </p></FONT><P ALIGN="CENTER"><A HREF="#top"><FONT FACE="Verdana" SIZE=2>Top of page</FONT></A><FONT FACE="Verdana" SIZE=2> </P></FONT>
  155. <TABLE CELLSPACING=0 BORDER=0 WIDTH=624>
  156. <TR><TD VALIGN="MIDDLE" BGCOLOR="#00ffff" HEIGHT=2>
  157. <P></TD>
  158. </TR>
  159. </TABLE>
  160. <FONT FACE="MS Sans Serif" SIZE=1><P>&copy; 2000 Microsoft Corporation</FONT><FONT FACE="Verdana" SIZE=2> </P></FONT></BODY>
  161. </HTML>