130 lines
3.5 KiB
C
130 lines
3.5 KiB
C
/**********************************************************
|
|
* Copyright Cirrus Logic, 1995. All rights reserved.
|
|
***********************************************************
|
|
* File Name: DISPINT.H
|
|
*
|
|
* Module Abstract:
|
|
* ----------------
|
|
* Defines the interface for communicating between the display
|
|
* driver and the Direct Draw driver.
|
|
*
|
|
***********************************************************
|
|
* Author: Scott MacDonald
|
|
* Date: 03/07/95
|
|
*
|
|
* Revision History:
|
|
* -----------------
|
|
* WHO WHEN WHAT/WHY/HOW
|
|
* --- ---- ------------
|
|
*
|
|
* #mgm1 12/06/95 uncomment CHIPAUTOSTART. This should now
|
|
* work when MapSL() works in DriverInit().
|
|
* #mgm2 01/02/96 Add 7548 chip ID.
|
|
*
|
|
***********************************************************/
|
|
|
|
|
|
/*
|
|
* Flags for the StopAsync callback
|
|
*/
|
|
#define ASYNC_BLT 0x0001 // Async surface halted due to BLT
|
|
|
|
/*
|
|
* Flags for the DISPDRVINFO structure
|
|
*/
|
|
#define DI_LCD 0x0001 // LCD panel is in use
|
|
#define DI_SOFTCURSOR 0x0002 // Software cursor is in use
|
|
|
|
/*
|
|
* Display information passed to the Direct Draw driver from the display
|
|
* driver using either SetInfo or GetInfo.
|
|
*/
|
|
typedef struct
|
|
{
|
|
DWORD dwSize;
|
|
DWORD dwResolutionX;
|
|
DWORD dwResolutionY;
|
|
DWORD dwBitCount;
|
|
DWORD dwPitch;
|
|
DWORD dwFlags;
|
|
DWORD dwMemMapSel;
|
|
} DISPDRVINFO, FAR * LPDISPDRVINFO;
|
|
|
|
/*
|
|
* prototypes for communication functions
|
|
*/
|
|
typedef void (WINAPI *LPGetInfo) (LPDISPDRVINFO);
|
|
|
|
|
|
/*
|
|
* Structure passed to the Direct Draw driver from the display driver.
|
|
* This contains entry points that we can call for various services.
|
|
*/
|
|
typedef struct
|
|
{
|
|
DWORD dwSize;
|
|
#if 0
|
|
LPMemMgrAlloc lpfnMemMgrAlloc;
|
|
LPMemMgrPreempt lpfnMemMgrPreempt;
|
|
LPMemMgrLock lpfnMemMgrLock;
|
|
LPMemMgrUnlock lpfnMemMgrUnlock;
|
|
LPMemMgrFree lpfnMemMgrFree;
|
|
LPMemMgrQuery lpfnMemMgrQueryFreeMem;
|
|
#endif
|
|
FARPROC lpfnExcludeCursor;
|
|
FARPROC lpfnUnexcludeCursor;
|
|
LPGetInfo lpfnGetInfo;
|
|
FARPROC lpfnEnableAsyncCallback;
|
|
} DISPDRVCALL, FAR * LPDISPDRVCALL;
|
|
|
|
|
|
/*
|
|
* Structure passed to the display driver from the Direct Draw driver.
|
|
* This allows the display driver to notify us changes, etc.
|
|
*/
|
|
typedef struct
|
|
{
|
|
DWORD dwSize;
|
|
FARPROC lpfnSetInfo;
|
|
FARPROC lpfnStopAsync;
|
|
} DCICALL, FAR * LPDCICALL;
|
|
|
|
// Note if definition changes, cirrus.inc and 5440over.c needs
|
|
// to be changed also.
|
|
#define CHIP5420 0x0001
|
|
#define CHIP5422 0x0002
|
|
#define CHIP5424 0x0004
|
|
#define CHIP5425 0x0008
|
|
|
|
#define CHIP5426 0x0010
|
|
#define CHIP5428 0x0020
|
|
#define CHIP5429 0x0040
|
|
#define CHIP542x (CHIP5420 | CHIP5422 | CHIP5424 | CHIP5425 | CHIP5426 |\
|
|
CHIP5428 | CHIP5429)
|
|
|
|
#define CHIP5430 0x0100
|
|
#define CHIP5434 0x0200
|
|
#define CHIP5436 0x0400
|
|
#define CHIP5446 0x0800
|
|
#define CHIP543x (CHIP5430 | CHIP5434 | CHIP5436 | CHIP5446)
|
|
|
|
#define CHIP5440 0x1000
|
|
#define CHIPM40 0x10000
|
|
#define CHIP544x (CHIP5440 | CHIP5446 | CHIPM40)
|
|
|
|
#define CHIP7541 0x2000
|
|
#define CHIP7543 0x4000
|
|
#define CHIP7548 0x8000 //#mgm2
|
|
#define CHIP754x (CHIP7541 | CHIP7543 | CHIP7548) //#mgm2
|
|
|
|
#define CHIPBLTER (CHIP5426 | CHIP5428 | CHIP5429 | CHIP543x | CHIP544x |\
|
|
CHIP754x)
|
|
|
|
#define CHIPCOLORKEYBLTER (CHIP5426 | CHIP5428 | CHIP5436 | CHIP5446 |\
|
|
CHIP754x | CHIPM40)
|
|
|
|
#define CHIPCURRENTVLINE (CHIP5436 | CHIP5446 | CHIPM40)
|
|
|
|
#define CHIPAUTOSTART (CHIP5436 | CHIP5446) //#mgm1
|
|
|