⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mbx13ddef.h

📁 Lido PXA270平台开发板的最新BSP,包括源代码
💻 H
📖 第 1 页 / 共 5 页
字号:
/******************************************************************************
* Name         : mbx13ddef.h
* Title        : MBX1 3D Hardware defs.
* Author(s)    : Imagination Technologies
* Created      : 1st August 2003
*
* Copyright    : 2003 by Imagination Technologies Limited.
*                All rights reserved.  No part of this software, either
*                material or conceptual may be copied or distributed,
*                transmitted, transcribed, stored in a retrieval system 
*                or translated into any human or computer language in any
*                form by any means, electronic, mechanical, manual or
*                other-wise, or disclosed to third parties without the
*                express written permission of Imagination Technologies
*                Limited, Unit 8, HomePark Industrial Estate, 
*                King's Langley, Hertfordshire, WD4 8LZ, U.K.
*
* Description  : Hardware definitions for MBX1 3D stuff.
*
* Platform     : Generic
*
* Notes        : formerly mbx13ddef.h mks rev 1.9
*
* Modifications:-
* $Log: mbx13ddef.h $
*
*  --- Revision Logs Removed --- 
*
*
******************************************************************************/

#if !defined ( __MBX13DDEFS_H__)
#define __MBX13DDEFS_H__

/*****************************************************************************
 MBX1 Register addresses
*****************************************************************************/

/*
 *	Base address's..
 */
#define MBX1_GLOBREG_RGNBASE					0x0608
#define MBX1_GLOBREG_OBJBASE					0x060C
#define MBX1_GLOBREG_ZLOADSTORE					0x0610
#define MBX1_GLOBREG_FPUPERPVAL					0x0614
#define MBX1_GLOBREG_FPUCULLVAL					0x0618
#define MBX1_GLOBREG_3DPIXSAMP					0x061C
#define MBX1_GLOBREG_CK1						0x0624
#define MBX1_GLOBREG_CK2						0x0628
#define MBX1_GLOBREG_CKUV						0x062C
#define MBX1_GLOBREG_CKMASK						0x0630
#define MBX1_GLOBREG_FOGCOLTABLE				0x0638
#define MBX1_GLOBREG_FOGCOLVERT					0x063C
#define MBX1_GLOBREG_VERTFOGSTATUS				0x0640
#define MBX1_GLOBREG_SCALERCTL					0x0644
#define MBX1_GLOBREG_BLENDCTL					0x0648
#define MBX1_GLOBREG_ARGBSUM					0x064C
#define MBX1_GLOBREG_FBCTL						0x0650
#define MBX1_GLOBREG_FBXCLIP					0x0654
#define MBX1_GLOBREG_FBYCLIP					0x0658
#define MBX1_GLOBREG_FBSTART					0x065C
#define MBX1_GLOBREG_FBLINESTRIDE				0x0660
#define MBX1_GLOBREG_LATENCYCOUNT				0x0664
#define MBX1_GLOBREG_ENDIANCTL					0x0668
#define MBX1_GLOBREG_BPOINTCTL					0x066C
#define MBX1_GLOBREG_BPOINTRES					0x0670
#define MBX1_GLOBREG_ZBASEADDR					0x0674
#define MBX1_GLOBREG_STARTRENDER				0x0680
#define MBX1_GLOBREG_2DFASTRENDERBASE			0x06C0
#define MBX1_GLOBREG_3DRENDERTYPE				0x06C4
#define MBX1_GLOBREG_3DBBOXCOORDS				0x06C8
#define MBX1_GLOBREG_3DBBOXXSIZE				0x06CC
#define MBX1_GLOBREG_3DFLATSHADEDCS				0x06D0
#define MBX1_GLOBREG_2DFASTRENDERSTART			0x06D4
#define MBX1_GLOBREG_3D_ZL_BACKGROUND_TAG		0x06D8
#define MBX1_GLOBREG_3D_ZL_BACKGROUND_DEPTH 	0x06DC
#define MBX1_GLOBREG_1BPP_BACKGROUND_COLOUR		0x06E0
#define MBX1_GLOBREG_1BPP_FOREGROUND_COLOUR		0x06E4
#define MBX1_GLOBREG_USE_1BPP_REGS_CTL			0x06E8
#define MBX1_GLOBREG_3D_RENDER_ID				0x06EC
#define MBX1_GLOBREG_AUTOSORTCFG 				0x06F4

/*****************************************************************************
 * Control bits in some of above regs...
 *****************************************************************************/

/*
 *	region/object base address masks
 */
#define MBX1_RGNBASE_MASK					0x01FFFFFC
#define MBX1_OBJBASE_MASK					0x01FFF000

/*
 * Z load and store control register bits. (MBX1_GLOBREG_ZLOADSTORE)
 */
#define MBX1_ZLOADSTORE_ZLOAD				0x00000001
#define MBX1_ZLOADSTORE_ZSTORE				0x00000002
#ifdef SUPPORT_MBX1_LITE
#define MBX1_ZLOADSTORE_XEXTENTCLR			0xFFFF807F
#define MBX1_ZLOADSTORE_XEXTENTSHIFT		7
#else
#define MBX1_ZLOADSTORE_XEXTENTCLR			0xFFFF80FF
#define MBX1_ZLOADSTORE_XEXTENTSHIFT		8
#endif
#define MBX1_ZLOADSTORE_ZFORMATCLR			0xFFFCFFFF
#define MBX1_ZLOADSTORE_ZFORMAT_28F_1M		0x00000000
#define MBX1_ZLOADSTORE_ZFORMAT_24I_1M		0x00010000
#define MBX1_ZLOADSTORE_ZFORMAT_16I_PACKED	0x00020000
#define MBX1_ZLOADSTORE_ZFORMAT_NO_EXT_Z	0x00030000
#define MBX1_ZLOADSTORE_ZFORMATSHIFT		16
#define MBX1_ZLOADSTORE_ZONLYRENDER			0x00080000

/*
 * 3D FPU Perpendicular Compare
 */
#define MBX1_FPUPERPVAL_MASK				0x7FFFFFF0
#define MBX1_FPUPERPVALSHIFT				4

/*
 * 3D FPU Cull Value
 */
#define MBX1_FPUCULLVAL_MASK				0x7FFFFFF0
#define MBX1_FPUCULLVALSHIFT				4

/*
 * Pixel sampling control.
 */
#define MBX1_PIXSAMP_FPUPIXEL				0x00000001
#define MBX1_PIXSAMP_TSPPIXEL				0x00000002
#define MBX1_PIXSAMP_TSPTEXEL				0x00000004
#define MBX1_PIXSAMP_FASTAA					0x00000008
#define MBX1_PIXSAMP_DCALCCLR				0xFFFCFFFF
#define MBX1_PIXSAMP_DCALCSHIFT				16
#define MBX1_PIXSAMP_DCALCAVERAGE			0x00000000
#define MBX1_PIXSAMP_DCALCSCREEN00			0x00010000
#define MBX1_PIXSAMP_DCALCTILEXY			0x00020000

/*
 * 3D Colour Key 1
 */
#define MBX1_CK1_R_MASK						0x00FF0000
#define MBX1_CK1_G_MASK						0x0000FF00
#define MBX1_CK1_B_MASK						0x000000FF

/*
 * 3D Colour Key 2
 */
#define MBX1_CK2_R_MASK						0x00FF0000
#define MBX1_CK2_G_MASK						0x0000FF00
#define MBX1_CK2_B_MASK						0x000000FF

/*
 * 3D Colour Key UV
 */
#define MBX1_CK_U_MASK						0x0000FF00
#define MBX1_CK_V_MASK						0x000000FF

/*
 * 3D Colour Key Mask
 */
#define MBX1_CKMASK_LSB_MASK				0x00000007

/*
 * Vertex Fog Colour
*/
#define MBX1_FOGCOLVERT_MASK				0x00FFFFFF

/*
 * Scaler stuff..
 */
#define MBX1_SCALERCTL_VSCALE				0x00000001
#define MBX1_SCALERCTL_HSCALE				0x00000002

/*
 * 3D blend control
 */
#define MBX1_3DBLENDCONTROL_SUB128			0x00000001
#define MBX1_3DBLENDCONTROL_FORCEALPHA		0x00010000

/*
 * Blend ARGB Sum
 */
#define MBX1_ARGBSUM_ADD_RGB				0
#define MBX1_ARGBSUM_ADD_ARGB				1

/*
 * Frame buffer write control register bits.
 */
#define MBX1_FBCTL_PACKMODECLR				0xFFFFFFF8
#define MBX1_FBCTL_PACKMODE555				0x00000000
#define MBX1_FBCTL_PACKMODE565				0x00000001
#define MBX1_FBCTL_PACKMODE4444				0x00000002
#define MBX1_FBCTL_PACKMODE1555				0x00000003
#define MBX1_FBCTL_PACKMODE888				0x00000004
#define MBX1_FBCTL_PACKMODEK888				0x00000005
#define MBX1_FBCTL_PACKMODE8888				0x00000006
#define MBX1_FBCTL_DITHER					0x00000008
#define MBX1_FBCTL_KVALCLR					0xFFFFF00F
#define MBX1_FBCTL_KVALSHIFT				4
#define MBX1_FBCTL_ALPHATHRESHCLR			0xFFF00FFF
#define MBX1_FBCTL_ALPHATHRESHSHIFT			12

/*
 * Screen X clipping control bits.
 */
#define MBX1_FBXCLIPMINCLR					0xFFFFF800
#define MBX1_FBXCLIPMINSHIFT				0
#define MBX1_FBXCLIPMAXCLR					0xF800FFFF
#define MBX1_FBXCLIPMAXSHIFT				16

/*
 * Screen Y clipping control bits.
 */
#define MBX1_FBYCLIPMINCLR					0xFFFFF800
#define MBX1_FBYCLIPMINSHIFT				0
#define MBX1_FBYCLIPMAXCLR					0xF800FFFF
#define MBX1_FBYCLIPMAXSHIFT				16

/*
 * 3D Render Address
 */
#define MBX1_FBSTART_MASK					0x01FFFFFC


/*
 * 3D Write Stride
 */
#define MBX1_FBLINESTRIDE_MASK				0x00000FFF
#define MBX1_FBLINESTRIDE_ALIGNSHIFT		2
#define MBX1_FBLINESTRIDE_ALIGNMASK			3


/*
 * Texture Latency
 */
#define MBX1_LATENCYCOUNT_MASK				0x0000000F

/*
 * Texture Endian Control
 */
#define MBX1_ENDIANCTLCLR					0xFFFFFFFC
#define MBX1_ENDIANCTL_NOSWAP				0
#define MBX1_ENDIANCTL_SWAPWORDS			1
#define MBX1_ENDIANCTL_SWAPWORDBYTES		2
#define MBX1_ENDIANCTL_SWAPBYTES			3

#define MBX1_MAXTEXTURE_LAYERS				2
#define MBX1_MAX_COLOURKEYS					2

/*
 * 3D Breakpoint Control
 */
#define MBX1_BPOINT_TILE_X_CLR				0xFFFF03FF
#define MBX1_BPOINT_TILE_X_SHIFT			10
#define MBX1_BPOINT_TILE_Y_CLR				0xFFFFFC07
#define MBX1_BPOINT_TILE_Y_SHIFT			3
#define MBX1_BPOINT_TILE_BP_ENABLE			0x00000002
#define MBX1_BPOINT_PTR_BP_ENABLE			0x00000001

/*
 * 3D Breakpoint Resume
 */
#define MBX1_BPOINTRES_RESUME_MASK			0xFFFFFFFF

/*
 * Z Base Address
 */
#define MBX1_ZBASEADDR_MASK					0x01FFFFFC

#define MBX1_ZBASEADDR_ALIGNSIZE			4

/*
 * 3D Start Render
 */
#define MBX1_STARTRENDER_MASK				0xFFFFFFFF

/*
	2D Fast Render Base Address
*/
#define MBX1_2DFASTRENDERBASE_MASK			0x00FFFFFC

/*
	3D Render Type
*/
#define MBX1_3DRENDERTYPE_ENDRENDER			0x00000004
#define MBX1_3DRENDERTYPE_MASK				0x00000003
#define MBX1_3DRENDERTYPE_NORMAL			0x00000000
#define MBX1_3DRENDERTYPE_FAST				0x00000001
#define MBX1_3DRENDERTYPE_BBOX				0x00000002

/*
	3D Bounding Box coordinates
*/
#define MBX1_GLOBREG_X1_MASK				0xFC000000
#define MBX1_GLOBREG_Y1_MASK				0x03F80000
#define MBX1_GLOBREG_X2_MASK				0x0007E000
#define MBX1_GLOBREG_Y2_MASK				0x00001FC0
#define MBX1_GLOBREG_SCRNSIZE_MASK			0x0000003F

/*
 * Flat shade type D3D / SGL,OpenGL
 */
#define MBX1_3DFLATSHADEDCS_D3D				0x00000000
#define MBX1_3DFLATSHADEDCS_OPENGL_SGL		0x00000001

/*
 * 3D Z Load Background Tag
 */
#define MBX1_3DZLBG_TAG_RESERVED				0xC0000000
#define MBX1_3DZLBG_TAG_OBJ_OFFSET_PRES			0x20000000
#define MBX1_3DZLBG_TAG_OBJ_NUM_UV				0x10000000
#define MBX1_3DZLBG_TAG_OBJ_TEXTURED			0x08000000
#define MBX1_3DZLBG_TAG_OBJ_NUM_VERTEX_MASK		0x06000000
#define MBX1_3DZLBG_TAG_OBJ_NUM_VERTEX_SHIFT	25
#define MBX1_3DZLBG_TAG_OBJ_MASK_MASK			0x01E00000
#define MBX1_3DZLBG_TAG_OBJ_MASK_SHIFT			21
#define MBX1_3DZLBG_TAG_OBJ_ADDR_MASK			0x001FFFFF
#define MBX1_3DZLBG_TAG_OBJ_ADDR_SHIFT			0
#define MBX1_3DZLBG_TAG_OBJ_ADDR_ALIGNSHIFT		2
/*
 * 3D Zload Background Depth
 */
#define MBX1_3DZLBG_DEPTH_MASK				0x7FFFFFF0
#define MBX1_3DZLBG_DEPTH_SHIFT				4
#define MBX1_3DZLBG_MASK_PLANE				0x00000001

/*
 * Background Colour
 */
#define MBX1_1BPP_BACKGROUND_COLOUR_MASK	0xFFFFFFFF

/*
 * Foreground Colour
 */
#define MBX1_1BPP_FOREGROUND_COLOUR_MASK	0xFFFFFFFF
 
/*
 * Use Register Values For 1BPP
 */
#define MBX1_USE_1BPP_REGS_CTL				0x00000001

/*
 * 3D Render ID
 */
#define	MBX1_3D_RENDER_ID					0x00000001

/* <KINGYO> - DO NOT REMOVE THIS LINE!!! */
/* 3D Translucency Autosort Mode

*/
#define MBX1_3DTRANSAUTOSORT_ZMODE			0
#define MBX1_3DTRANSAUTOSORT_RHWMODE		(1 << 9)
#define MBX1_3DTRANSAUTOSORT_BACKTTOFRONT	0
#define MBX1_3DTRANSAUTOSORT_FRONTTOBACK	(1 << 8)

#define MBX1_TRANSLUCENTAUTOSORTMAXLIMIT   	255
/* </KINGYO> - DO NOT REMOVE THIS LINE!!! */


/****************************************************************************

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -