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.
|
|
<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® acceleration, Microsoft Direct3D® 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>			<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>© 2000 Microsoft Corporation</FONT><FONT FACE="Verdana" SIZE=2> </P></FONT></BODY> </HTML>
|