<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252">
<META NAME="Generator" CONTENT="Microsoft Word 97">
<TITLE>S3Virge</TITLE>
<META NAME="Template" CONTENT="C:\PROGRAM FILES\MICROSOFT OFFICE\OFFICE\html.dot">
</HEAD>
<BODY TEXT="#000000" LINK="#0000ff" VLINK="#800080" BGCOLOR="#ffffff" leftmargin="8">
<FONT FACE="Verdana"><H2><A NAME="MYSAMPLE">S3Virge</A> </H2>

<P></P>

<H3>SUMMARY</H3>
<FONT FACE="Verdana" size=2>
<P>This sample display driver demonstrates the 
implementation of the following Windows&#174; 2000 features:</P>
<UL>

<LI>DirectDraw

<LI>Direct3D

<LI>Video Port Extensions</LI></UL>
</FONT><FONT 
face=VERDANA,ARIAL,HELVETICA size=2>
<H3>BUILDING THE SAMPLE</H3>
Build the sample using the standard Windows 2000 driver installation guide. There are no special requirements for installing this driver. Once built, it produces the binary S3mvirge.dll. Both checked and free builds are available.
<P>
This driver works on both x86 and Alpha platforms, and the code builds properly with Visual C 6.0. The driver supports Plug and Play, Power Management, VPE (Video port extensions), DirectDraw, Direct3D, and OpenGL/MCD. 
<P>


<H3>RESOURCES</H3>
<! ---------------- Snip  Snip ---------------- ></FONT><FONT 
face=VERDANA,ARIAL,HELVETICA size=2>
<P>More information about Windows 2000 video driver development can 
be found online at <A 
href="http://www.microsoft.com/hwdev/video/">http://www.microsoft.com/hwdev/video/</A>. 
 </P><FONT 
face=VERDANA,ARIAL,HELVETICA size=2>

<H3>KNOWN ISSUES</FONT></H3><FONT 
face=VERDANA,ARIAL,HELVETICA size=2>

<P>This is a beta release of this sample driver. Following 
is a list of known issues in the Beta 2 sample.

<LI>DDK: S3VIRGE: DD: DISPLAY: Fails PC98 test Downloadable 
Ramdac <P>
<LI>DDK: S3VIRGE: DD: DISPLAY: S3Virge failing Video Memory 
Management Tests <P>
<LI>DDK: S3VIRGE: DD: DISPLAY: Failing PC98 Perform Double 
Buffer Swaps with no tearing test <P>
<LI>S3VIRGE: MINI: DDK: Resource claimed but not all paths 
free it when done. (Hardware resource leak) <P>

<H3>CODE TOUR</H3>
<H4>File Manifest</H4>
</FONT><FONT FACE="Courier" SIZE=3><U><PRE>File&#9;&#9;Description
</U>
Readme.htm&#9;The documentation for this sample (this file)
Sources&#9;	The generic file for building the code sample
Bank.c&#9;	All the banking code for the display driver
Bitblt.c&#9;High-level DrvBitBlt and DrvCopyBits functions
Bltmm.c&#9;	The low-level memory-mapped IO blt functions
Brush.c&#9;	Handles all brush/pattern initialization and realization
Color.c&#9;	Color dithering code
D3d.c&#9;	Main D3D driver file (Context, texture, caps mgmt)
D3ddrv.h&#9;D3D file: Globally used structures in the D3D driver
D3ddx6.c&#9;D3D file: DrawPrimitive2 callbacks
D3dgntri.c&#9;D3D file: Generator file for all hw triangle rendering funcs         
D3dline.c&#9;D3D file: Hw line primitive rendering
D3dmath.h&#9;D3D file: Mathematical utilities
D3dpoint.c&#9;D3D file: Hw point primitive rendering
D3dstate.c&#9;D3D file: Render state management
D3dtess.c&#9;D3D file: Triangle UV tesselation for oversized triangles
D3dtri.c&#9;D3D file: Hw triangle primitive rendering
D3dutil.c&#9;D3D file: Utility functions
Ddraw.c	&#9;Direct Draw functions
Ddraw3d.c&#9;DirectDraw components for D3D
Debug.c&#9;	Debugging functions and utilities
Debug.h&#9;	Debugging symbols and inline functions
Dma.c&#9;	DMA management
Driver.h&#9;Prototypes for the display driver
Enable.c&#9;All functions that enable and disable the driver, the pdev, and the surface
Escape.c&#9;OpenGL escape functions
Fillpath.c&#9;	The DrvFillPath routine
Heap.c&#9;	Video memory management
Hw.h&#9;	HW 2D register addresses and macros
Hw3d.h&#9;	HW 3D register addresses and macros       
Lines.c&#9;	Required GDI line support routines
Lines.h&#9;	Line drawing constants and structures
Lpb.c&#9;	Contains most of the DirectDraw VPE stuff
Lpb.h&#9;	LPB Register Definitions
Makefile&#9;Drivers makefile
Mcd.c&#9; 	Main OpenGl MCD file.
Mcdclip.c&#9;OpenGL MCD: Primitive clipping
Mcdhw.h&#9;	OpenGL MCD: Hw related structures and defines
Mcdline.c&#9;OpenGL MCD: Hw line rendering
Mcdmath.h&#9;OpenGL MCD: Mathematical utility macros
Mcdpoint.c&#9;OpenGL MCD: Hw point rendering
Mcdprim.c&#9;OpenGL MCD: Primitive preprocessing
Mcdrend.c&#9;OpenGL MCD: State management and setup
Mcdtex.c&#9;OpenGL MCD: Texture setup and management
Mcdtri.c&#9;OpenGL MCD: Hw triangle rendering
Mcdutil.c&#9;OpenGL MCD: Utility functions
Mcdutil.h&#9;OpenGL MCD: Utility defines and macros
Misc.c&#9; 	Miscellaneous common routines
Mpc.h&#9;  	MPC routines
Multi.c&#9;	Multiple display boards support routines
Nodma.c&#9;	Utility macros
Paint.c&#9;	DrvPaint routine
Palette.c&#9;Color palette support routines
Pointer.c&#9;Hardware/software pointer routines
Precomp.h&#9;Precompiled headers
S3common.h&#9;Common S3 function routines
S3def.h&#9; 	Common S3 function definition header
S3dline.c&#9;OpenGL MCD: Hw line rendering
S3dmacro.h&#9;D3D file: Hw related macros and defines
S3dtri.c&#9;OpenGL MCD: Hw triangle rendering
S3ioctl.h&#9;Miniport IO control routines
Strips.c&#9;Contains the low-level line drawing routines called by DrvStrokePath
Stroke.c&#9;DrvStrokePath routine
Strtch3d.c&#9;DrvStretchBlt routine
Text3d.c&#9;DrvTextout routine
Textout.c&#9;Textout support routines
Thunk.c&#9;	Debug routines
Virge.rc&#9;Resource file for the display driver
Virge1.h&#9;Constant and structure definition header
</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>
