phx2dinf.h
来自「WinCE 3.0 BSP, 包含Inter SA1110, Intel_815」· C头文件 代码 · 共 227 行
H
227 行
//
// Filename: phx2dinf.h
// $Revision: 2 $
//
// Description: Defines 2D info used fro 3D initialization
//
// Trade secret of ATI Technologies, Inc.
// Copyright 1995, ATI Technologies, Inc., (unpublished)
//
// All rights reserved. This notice is intended as a precaution against
// inadvertent publication and does not imply publication or any waiver
// of confidentiality. The year included in the foregoing notice is the
// year of creation of the work.
//
//
#ifndef ATI_PHX2DINF_H
#define ATI_PHX2DINF_H
//
// Handle private interface between the 3D driver and the 2D GDI
// driver
//
//
// private Windows 95 GDI drive escape that retrieves specific
// HW info used for 3D driver initialization
//
#define CTRL_GET_HW_INFO 0x73F0
#define CTRL_LOCK_FRAMEBUFFER 0x73F1
#define CTRL_UNLOCK_FRAMEBUFFER 0x73F2
#define CTRL_GAMMA_SET 0x7392
#define CTRL_GAMMA_GET 0x7393
//
// note these proprocessor macros are defined as follows: the upper
// byte of the lower word is used for major chip revs, and the lower
// byte is used for minor revisions (metal fixes ...). The upper word
// of the dwAsicID member is currently undefined and should be 0.
//
// There is no such thing as a LTG2!
#define CHIPID_NOTGT 0
#define CHIPID_GTA1 0x0101
#define CHIPID_GTA2 0x0102
#define CHIPID_GTB1 0x0201
#define CHIPID_GTB1S2 0x0202
#define CHIPID_GTB1U1 0x0203
#define CHIPID_GTB1U2 0x0204
#define CHIPID_GTB1U3 0x0205
#define CHIPID_LTG1 0x0301
#define CHIPID_LTG3 0x0303 // IanB 4/30/97
#define CHIPID_RAGE3_1 0x0401 // Rage3 A1
#define CHIPID_RAGE3_2 0x0402 // Rage3 A2 (metal spin)
#define CHIPID_RAGE3_3 0x0403 // Reserved, never used
#define CHIPID_RAGE3_4 0x0404 // Rage3 A3
#define CHIPID_RAGE3_5 0x0405
#define CHIPID_NOTYET 0x9000 // chrisb 3/31/97
//for chip class
#define CHIPCLASS_GTA 0x0100
#define CHIPCLASS_GTB 0x0200
#define CHIPCLASS_UMC 0x1200
#define CHIPCLASS_LTG 0x0300
#define CHIPCLASS_RAGE3 0x0400
// As this struct grows, we need to be able to make decisions based on
// the size of the struct experienced in the field, to ensure compatibility
// between old and new revs of 2D and 3D drivers. New features should only be
// enabled when both 2D and 3D drivers are knowledgable of that feature as
// manifested in the size of the struct seen and expected The following
// defines are provided for comparing size against new functions.
#define PHX2DHWINFO_SIZE_ORIG 52
#define PHX2DHWINFO_SIZE_WITH_MASKS 68
#define PHX2DHWINFO_SIZE_WITH_P6WC 72
#define PHX2DHWINFO_SIZE_WITH_RAGE3 84
// Use of dwRegisterWCBase field (philr 9/9/96)
// -----------------------------
// The dwRegisterWCBase field has been added to allow use of a WC or
// Write Combining aperture on P6 and other processors which provide
// a high performance WC register aperture that is weakly ordered.
// Whoever fills out the PHX2DHWINFO struct should set dwRegisterBaseAddr
// to the UC (Uncached) register aperture and dwRegisterWCBase to the
// WC (Write Combining) aperture. If we are running on a CPU without a
// WC aperture (eg pre-P6), then the dwRegisterWCBase field should be set
// to the UC aperture (same as dwRegisterBaseAddr).
typedef struct {
DWORD dwSize; // size of this struct
DWORD dwVideoBaseAddr; // linear address to aperture
DWORD dwOffScreenAddr; // linear address to offscreen memory
DWORD dwOffScreenSize; // size of offscreen memory
DWORD dwTotalRAM; // amount of RAM on the card
DWORD dwFIFOSize; // size of FIFO
DWORD dwScreenWidth; // screen width
DWORD dwScreenHeight; // screen height
DWORD dwScreenPitch; // screen pitch
DWORD dwBpp; // bits per pixel
// 1
// 4
// 8
// 15 = 1555 format
// 16 = 565 format
// 24
// 32
BOOL b3DAvail; // driver supports 3D operations
DWORD dwChipID; // 3D chip id code
DWORD dwChipRevision; // 3D chip revision
DWORD dwAlphaBitMask; // Alpha bit mask
DWORD dwRedBitMask; // Red Bit Mask
DWORD dwGreenBitMask; // Green Bit Mask
DWORD dwBlueBitMask; // Blue Bit Mask
DWORD dwAGPBaseAddr; // Base of AGP linear address space
DWORD dwAGPMemSize ; // Size in bytes of AGP memory
DWORD dwOffScreenPaletteAddr; // linear address to frame buffer area
// for texture palette source,
// for Rage3_2 (metal spin), it is the offset
DWORD dwOffScreenPaletteSize; // Size in bytes of texture palette area
} PHX2DHWINFO, *PPHX2DHWINFO, FAR *FPPHX2DHWINFO;
#ifdef RCS_H_KEYS
static char *rcsid_h_phx2dinf_ati = "$Revision: 2 $" __FILE__;
#endif
#endif // ATI_PHX2DINF_H
//
// $Author: Markv $
// $Revision: 2 $
// $Date: 10/16/98 1:20p $
// $Modtime: 10/16/98 12:45p $
// $Log: /Scorpion/WinceHAP/PLATFORM/CEPC/Drivers/Common/phx2dinf.h $
//
// 2 10/16/98 1:20p Markv
//
// 1 10/07/98 12:05p Markv
//
// 1 2/20/98 12:13p Davidg
// Common driver files
//
// 1 12/17/97 10:28p Ssatnick
// Basic GDI Rage Pro display driver implementation
//
// Rev 2.25 02 Jun 1997 15:18:24 xwu
// added comments on chipid for rage3 series
//
// Rev 2.24 30 Apr 1997 16:16:22 ianb
// Added CHIPID_LTG3 define.
//
// Rev 2.23 22 Apr 1997 14:23:12 ianb
// Added two #defines related to Jimmy A.'s fix in bpalette.cpp
//
// Rev 2.22 05 Apr 1997 18:07:30 xwu
// modified the comments for dwOffScreenPaletteAddr.
//
// Rev 2.21 Apr 02 1997 15:20:28 mmintz
// added chip class reference
//
// Rev 2.20 31 Mar 1997 13:46:12 chrisb
// added CHIPID_NOTYET to flag disabled changes
//
// Rev 2.19 07 Mar 1997 10:40:20 davidg
// added definitions for rage3 revs 2 through5
//
// Rev 2.18 Feb 10 1997 12:22:26 philr
// added fields to PHX2DHWINFO struct for Rage 3.
//
// Rev 2.17 Jan 29 1997 13:29:12 philr
// added chipid for GT-B1U3
//
// Rev 2.16 Jan 23 1997 15:40:16 mmintz
// added rage 3 define
//
// Rev 2.15 Jan 08 1997 08:51:54 mmintz
// added LTG support
//
// Rev 2.14 Oct 29 1996 18:59:22 philr
// added chip ID for GTB1U2
//
// Rev 2.13 Oct 07 1996 11:17:18 philr
// added support for P6 WC aperture
//
// Rev 2.12 Aug 28 1996 17:11:22 cjiang
// Restore the development tree since the changes made between
// Aug. 15 and Aug 23 are lost on the server but exist on
// my machine.
//
// Rev 2.11 Aug 15 1996 11:37:40 philr
// added CHIPID_GTB1U1 to list of known chips
//
// Rev 2.10 Jul 23 1996 13:12:44 mmintz
// added chip id for S1 rev of GT-B
//
// Rev 2.9 May 20 1996 12:41:18 paulc
// fxied type in chip revision macros
//
// Rev 2.8 May 20 1996 12:40:26 paulc
// No change.
//
// Rev 2.7 May 20 1996 11:39:42 paulc
// updated preoprocessor macros for better id and expansion
//
// Rev 2.6 May 20 1996 11:30:04 paulc
// added preoprocessor defines for dwChipID
//
// Rev 2.5 Jan 17 1996 13:33:00 paulc
// added bit masks for RGBA
//
// Rev 2.4 Nov 04 1995 18:09:48 paulc
// added additional fields to the 2d inf struct to accomodate
// asic rev and 3d caps bit (btw this is really tomp)
//
// Rev 2.3 Nov 02 1995 20:48:10 paulc
// added drive escape to lock/unlock frame buffer access from gdi
//
// Rev 2.2 Nov 02 1995 17:23:40 paulc
// added new drive escape for cleaning up after 3D operations
//
// Rev 2.1 Oct 29 1995 15:13:32 paulc
// Initial revision.
//
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?