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.
 
 
 
 
 
 

128 lines
6.7 KiB

<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-
1252">
<META NAME="Generator" CONTENT="Microsoft Word 97">
<TITLE>3Dlabs Permedia2 Display Driver</TITLE>
</HEAD>
<BODY LINK="#0000ff">
<FONT FACE="Verdana" SIZE=5><H2>3Dlabs Permedia2 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-2 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 Permedia2 video miniport driver in \Ntddk\Src\Video\Miniport\3dlabs. 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 also shows how to implement a video driver that runs on Windows® 2000 and Windows NT 4.0, using a single binary.<p>
The
sample runs on the x86 platform and builds properly with Microsoft&#174; Visual C&#174; 6.0. It is 64-bit compliant.<P>
<H3>BUILDING THE SAMPLE</H3></FONT><FONT FACE="Verdana"
SIZE=2><P>
Type <B>build -cz</B>. A successful build produces the video display driver Perm2dll.dll.<P>
<H3>CODE TOUR</H3>
<H4>File Manifest</H4>
</FONT><U><PRE>File</U>&#9;&#9;<U>Description
</U>
Bitblt.c GDI: High-level DrvBitBlt and DrvCopyBits functions
Brush.c GDI: Handles all brush/pattern initialization and realization
Brush.h GDI: Brush-related definitions
Clip.c GDI: Clipping code
Clip.h GDI: External interface for Clip.c
D3d.c D3D: Main D3D driver file (context, texture, caps mgmt)
D3dcntxt.h D3D: Direct3D context management definitions and macros
D3ddelta.h D3D: 3DLabs Delta unit defines.
D3ddx6.c D3D: DrawPrimitive2 callbacks
D3dhw.c D3D: Hardware dependent texture setup for Direct3D
D3dhw.h D3D: Direct3D Global definitions and macros
D3dline.c D3D: Hardware line primitive rendering
D3dpoint.c D3D: Hardware point primitive rendering
D3dsoft.h D3D: Direct3D hardware register value tracking mechanism
D3dstate.c D3D: Render state management
D3dtext.h D3D: Direct3D Texture management related definitions and macros
D3dtri.c D3D: Hw triangle primitive rendering
D3dtxman.c D3D: Texture management
D3dtxman.h D3D: Texture management declarations and structures
Dd.c DD: Direct Draw functions
Dd.h DD: Definitions and macros for DirectDraw
Ddblt.c DD: DirectDraw Blt callbacks
Ddcpyblt.c DD: Copy and clear blits for Permedia 2
Dddebug.c DD: DirectDraw and Direct3D debug output functions
Ddenable.c DD: DrvEnableDirectDraw/DrvDisableDirectDraw callbacks
Ddldblt.c DD: DirectDraw System to video memory download routines
Ddstrblt.c DD: Stretching and format conversion blts
Ddsurf.c DD: DirectDraw surface creation and destruction
Debug.c Debugging functions and utilities
Debug.h Debugging symbols and inline functions
Directx.h DD: Useful constants and definitions for DirectDraw and Direct3D
Download.c GDI: Contains the upload and download routines.
Draw.c GDI: DrvFillPath routine
Driver.h Prototypes for the display driver
Enable.c GDI: All functions that enable and disable the driver, the pdev
Escape.c GDI: Escape functions
Fastfill.c GDI: Draws fast solid-colored, unclipped, non-complex rectangles
Fillpath.c GDI: The DrvFillPath routine
Gdi.h GDI: GDI-related defines, macros, and structures
Heap.c Video memory management
Heap.h GDI: Definitions for heap-related information
Hw.h HW 2D register addresses and macros
Hwinit.c Contains the functions that enable and disable the hardware
Hwmisc.c Hardware-specific support routines and structures
Lines.c GDI: Required GDI line support routines
Lines.h GDI: Line drawing constants and structures
Lineto.c GDI: DrvLineTo callback
Log.c GDI: Logging facility
Log.h GDI: Logging facility defines and macros
Makefile Drivers makefile
Math64.h Additional support for 64-bit math
Mini.c Miniport low-level communication helper functions
Mini.h Structures and constants for communication with minidriver
P2ctxt.c Hardware context switching to create and swap contexts in and out
P2ctxt.h Defines and macros for hardware context switching
P2def.h Permedia harware-related defines
P2rd.h Constants for the P2 internal Ramdac
P2regs.h Permedia 2 hardware register defines
Palette.c GDI: Color palette support routines
Patnfill.c GDI: Pattern fill routines
Permedia.c Basic access (DMA/FIFO) to the Permedia chip
Permedia.h Definitions for the Permedia DMA and FIFO interface
Pmdef.h Bitfield definitions for Permedia2 registers
Pointer.c GDI: Hardware/software pointer routines
Pointer.h GDI: Definitions for pointer-related information
Precomp.h Common headers
Registry.c Routines to initialize the registry and look up string values
Registry.h Utility declarations to help with accessing the registry
Res.rc Resource file for the display driver
Rops.c GDI: Utility routines to manilpulate rop codes
Rops.h GDI: Utility defines and routines for manipulation of rop codes
Solidfil.c GDI: Solid fill routines
Sources The generic file for building the code sample
Stretch.c GDI: Contains all the stretch blt functions.
Strips.c GDI: Low-level line drawing routines called by DrvStrokePat
Stroke.c GDI: DrvStroke Path routine
Sync.c GDI: Surface synchronization support
Text.c GDI: Non-cached glyph rendering functions
Text.h GDI: Text rendering support declarations
Textout.c GDI: Text rendering module
Thunks.c GDI: NT4.0 compatibility thunks
Tvp4020.h Constants for the TVP4020 Ramdac
</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; 1999 Microsoft Corporation</FONT><FONT FACE="Verdana" SIZE=2> </P></FONT></BODY>
</HTML>