1 /****************************************************************************************/
\r
4 /* Author: John Pollard, Ken Baird */
\r
5 /* Description: header for softdrv */
\r
7 /* The contents of this file are subject to the Genesis3D Public License */
\r
8 /* Version 1.01 (the "License"); you may not use this file except in */
\r
9 /* compliance with the License. You may obtain a copy of the License at */
\r
10 /* http://www.genesis3d.com */
\r
12 /* Software distributed under the License is distributed on an "AS IS" */
\r
13 /* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See */
\r
14 /* the License for the specific language governing rights and limitations */
\r
15 /* under the License. */
\r
17 /* The Original Code is Genesis3D, released March 25, 1999. */
\r
18 /* Genesis3D Version 1.1 released November 15, 1999 */
\r
19 /* Copyright (C) 1999 WildTangent, Inc. All Rights Reserved */
\r
21 /****************************************************************************************/
\r
25 #include "DCommon.h"
\r
29 extern "C" DRV_Window ClientWindow;
\r
31 extern DRV_Window ClientWindow;
\r
34 extern DRV_Driver SOFTDRV;
\r
35 extern DRV_CacheInfo CacheInfo;
\r
39 SYSTEM =1, //store buffer in system
\r
40 VIDEO =2, //or video ram
\r
41 HARDWARE =4, //refresh choices
\r
46 DMAPAGELOCKREQUIRED =128,//pagelock for dma req
\r
47 DMAASYNCH =256,//can do asynch dma
\r
48 STRETCHMODE =512,//stretch to fit
\r
52 typedef struct VidModeListTag
\r
57 uint32 flags; //capabilities
\r
58 uint32 current; //caps in use
\r
62 typedef struct VidEnumInfoTag
\r
64 DDDEVICEIDENTIFIER DeviceInfo;
\r
65 DDDEVICEIDENTIFIER DeviceInfoHost;
\r
67 VidModeList VidModes[128]; //let's be safe
\r
70 uint32 bpp; //bytes per pixel
\r
73 typedef struct CPUInfoTag
\r
76 char VendorString[16];
\r
81 uint32 ProcStepping;
\r
89 BOOL DRIVERCC DrvShutdown(void);
\r
90 void DRIVERCC ErrorBox(char *Str);
\r
91 void SetLastDrvError(S32 Error, char *ErrorStr);
\r
97 void ErrorPrintf(char *text, ...);
\r
98 void DumpErrorLogToFile(char *fname);
\r