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

<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-
1252">
<META NAME="Generator" CONTENT="Microsoft Word 97">
<TITLE>3Dlabs Permedia3 Display Driver</TITLE>
</HEAD>
<BODY LINK="#0000ff">
<FONT FACE="Verdana" SIZE=5><H2>3Dlabs Permedia3 Display Driver</H2>
</FONT><FONT FACE="Verdana" SIZE=2>
<H3>SUMMARY</H3></FONT><FONT FACE="Verdana" SIZE=2><P>
This is a display driver for graphics adapters based
on the 3Dlabs Permedia-3 chipset.
It supports GDI acceleration, Microsoft DirectDraw&#174; acceleration, Microsoft Direct3D&#174; acceleration,
and multiple monitor support.
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>
This sample driver runs on Windows® 2000 on the x86 platform. It also builds and runs on Windows 98 and Windows ME.<P>
The driver is compiled as a DX8 driver and currently supports pointsprites, multisampling, volume textures and DX8 multistreaming (with a single stream).
<H3>RELEASE NOTES</H3></FONT><FONT FACE="Verdana" SIZE=2><P>
All applicable samples and DCT tests have been run successfully with this driver.
<H3>HARDWARE LIMITATIONS</H3></FONT><FONT FACE="Verdana" SIZE=2><P>
This hardware doesn't support the following features:
<UL>
<LI>Vertex shader processing
<LI>Pixel shader processing
<LI>Multistreaming (limited to just one stream)
<LI>Hardware Transform and Lighting</LI>
<LI>Anisotropic and gaussian cubic texture filtering</LI>
<LI>Limited to two texture stages</LI>
</UL>
<H3>BUILDING THE SAMPLE</H3></FONT><FONT FACE="Verdana"
SIZE=2><P>
Type <B>build -cz</B> from the ..\disp directory. A successful build produces the video display driver perm3dd.dll.<P>
<H3>CODE TOUR</H3>
<H4>File Manifest</H4>
</FONT><U><PRE>File</U>&#9;&#9;&#9;<U>Description
</U>
dirs Directories that make up the driver (currently dx and gdi)
dx\chroma.h Chromakeying definitions and inline functions
dx\d3d.c Main D3D capabilites and callback tables
dx\d3dbuff.c Main context callbacks for D3D videomemory buffers
dx\d3dcntxt.c Main context callbacks for D3D
dx\d3ddp2op.c D3D DrawPrimitives2 command buffer operations support
dx\d3ddp2p3.c D3D DrawPrimitives2 callback support
dx\d3dprim.c D3D primitives rendering
dx\d3dsset.c D3D stateblock support
dx\d3dsset.h D3D stateblock support macros and definitions
dx\d3dstate.c Translate D3D renderstates and texture stage states into hw specific settings.
dx\d3dstrct.c Internal D3D structure management.
dx\d3dstrct.h Internal D3D structure management headers and macros
dx\d3dsurf.c Surface management callbacks for D3D
dx\d3dsurf.h Surface management macros and structures
dx\d3dtxt.c D3D hardware specific texture setup
dx\dcontext.h D3D context definition and other useful macros
dx\dd.c Main DirectDraw callbacks
dx\ddblt.c DirectDraw Blt callback implementation for vidmem-vidmem blts and clears
dx\ddbltfx.c DirectDraw Blt implementation for stretching blts
dx\dddownld.c DirectDraw Blt implementation for sysmem-vidmem blts and clears
dx\ddenable.c Windows 2000 only DirectDraw/D3D enabling functions
dx\ddover.c DirectDraw Overlays implementation
dx\ddover.h DirectDraw Overlays implementation macros and definitions
dx\ddsurf.c DirectDraw surfaces creation/destructions callbacks
dx\ddvideo.c DirectDraw Videoports implementation
dx\debug.c Debugging aids
dx\direct3d.h Global direct3d function declarations
dx\directx.h DirectX macros and definitions
dx\dltamacr.h Hardware specific D3D macros and definitions
dx\dma.h DMA transport definitons and macros
dx\glint.h Macros and definitions needed to Access Glint based chips
dx\linalloc.c Videomemory linear allocator
dx\makefile Drivers makefile
dx\sources The generic file for building the dx code sample library
dx\stateset.c Hardware context swapping
inc\bitmac2.h Bit manipulation macros for hardware registers
inc\debug.h Debugging aids macros and definitions
inc\driver.h
inc\ereg.h Permedia 3 register structures
inc\gigiregl.h Permedia 3 register structures
inc\glddtk.h
inc\glglobal.h
inc\glintdef.h
inc\glintfx.h
inc\glintreg.h Permedia 3 register structures
inc\gtag.h Permedia 3 register tag definitions
inc\linalloc.h Videomemory linear allocator macros and definitions
inc\p2rd.h Definitions for the P2RD internal RAMDAC.
inc\p3rd.h Definitions for the P2ST internal RAMDAC.
inc\p3rxdef.h
inc\pmdef.h
inc\ramdac.h
inc\reg.h Permedia 3 register structures
inc\rgb525.h This module contains the definitions for the IBM RGB525 RAMDAC.
inc\rgb526.h This module contains the definitions for the IBM RGB526 RAMDAC.
inc\rgb528.h This module contains the definitions for the IBM RGB528 RAMDAC.
inc\rgb640.h This module contains the definitions for the IBM RGB640 RAMDAC.
inc\softcopy.h
inc\surf_fmt.h
inc\tag.h Permedia 3 register tag definitions
inc\tvp3026.h
inc\tvp4020.h
gdi\bitblt.c Contains the high-level DrvBitBlt and DrvCopyBits functions
gdi\brush.c Handles all brush/pattern initialization and realization.
gdi\color.c Color dithering
gdi\dbgtags.c Debugging aid: convert tags numbers to string names
gdi\ddraw.c Provides interfaces back from the DDRAW .lib file into the main NT driver
gdi\debug.c Debug helper routines.
gdi\dma.c Handling of DMA buffers.
gdi\enable.c Functions that enable and disable the driver, the pdev, and the surface.
gdi\fillpath.c DrvFillPath
gdi\glint.h Permedia 3 hardware related defines
gdi\glntctxt.c Context switching for Permedia 3
gdi\glntctxt.h Permedia 3 context switching macros and definitions
gdi\glntinit.c Initialisation for the Permedia3 chip.
gdi\heap.c Routines for a 2-d heap.
gdi\lines.c Code for drawing short fractional endpoint lines and longer lines with strips.
gdi\lines.h Line drawing constants and structures
gdi\lineto.c The code in this file handles the DrvLineTo() API call.
gdi\makefile Drivers makefile
gdi\p3rd.h Definitions for the P2ST internal RAMDAC.
gdi\paint.c DrvPaint support
gdi\palette.c Palette support.
gdi\pointer.c Hardware pointer support for the display driver.
gdi\precomp.h Common headers
gdi\pxrx.c Hardware support for fills and copys
gdi\pxrx.h Macros and defines for hardware fills and copys
gdi\pxrxpoly.c Draws PXRX polygons.
gdi\pxrxxfer.c Hardware support for blts
gdi\pxrxstrp.c Hardware line drawing support routines
gdi\registry.c Routines to initialize the registry and lookup string values.
gdi\res.rc Resource file for the display driver
gdi\sources The generic file for building the code sample
gdi\stroke.c DrvStrokePath for Permedia3 driver
gdi\sync.c DrvSynchronize code.
gdi\textout.c Text rendering module
gdi\thunk.c Testing and instrument all the driver's Drv calls.
</pre> </p>
</FONT><FONT FACE="Verdana" SIZE=2>
<H3>CHANGES SINCE THE DX8.0 DDK RELEASE</H3></FONT><FONT FACE="Verdana" SIZE=2><P>
The most important changes to this sample driver since the DX8.0 DDK release have been:
<UL>
<LI>Added paletted textures support for DX8 interfaces
<LI>Added DX7 texture management and DX8.1 resource management
<LI>Added DX7 stereo support
<LI>Added line patterning support
<LI>Added subvolume lock support (for 3D textures)
<LI>Added DdFreeDriverMemory support
<LI>Added DdSetExclusiveMode support
<LI>Added DdFlipToGDISurface support
<LI>Added DrvDeriveSurface support (stub code)
<LI>Fixed various IA64 issues
<LI>Made video memory management more simple and robust
<LI>Various cleanup and small fixes
</UL>
</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>
<TABLE CELLSPACING=0 BORDER=0 WIDTH=624>
<TR><TD VALIGN="MIDDLE" BGCOLOR="#00ffff" HEIGHT=2>
<P></TD>
</TR>
</TABLE>
<FONT FACE="MS Sans Serif" SIZE=1><P>&copy; 2000 Microsoft Corporation</FONT><FONT FACE="Verdana" SIZE=2> </P></FONT></BODY>
</HTML>