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

📄 mbx12ddef.h

📁 Lido PXA270平台开发板的最新BSP,包括源代码
💻 H
📖 第 1 页 / 共 2 页
字号:
/******************************************************************************
* Name         : mbx12ddef.h
* Title        : MBX1 2D 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 2D stuff.
*
* Platform     : Generic
*
* Notes        : formerly mbx12ddef.h mks rev 1.2
*
* Modifications:-
* $Log: mbx12ddef.h $
*
*
******************************************************************************/

#if !defined (__MBX12DDEF_H__)
#define	__MBX12DDEF_H__

#define MAX_2D_WIDTH		4095
#define MAX_2D_HEIGHT		4095
/*
// Block headers 
*/
#define	MBX2D_CLIP_BH		0x00000000
#define	MBX2D_PAT_BH		0x10000000
#define	MBX2D_CTRL_BH		0x20000000
#define	MBX2D_SRC_OFF_BH	0x30000000
#define	MBX2D_MASK_OFF_BH	0x40000000
#define	MBX2D_MASK_SIZE_BH	0x50000000
#define	MBX2D_STRETCH_BH	0x60000000
#define	MBX2D_FENCE_BH		0x70000000//flush between two blits
#define	MBX2D_BLIT_BH		0x80000000
#define	MBX2D_SRC_CTRL_BH	0x90000000
#define	MBX2D_DST_CTRL_BH	0xA0000000
#define	MBX2D_PAT_CTRL_BH	0xB0000000
#define	MBX2D_SRC_PAL_BH	0xC0000000
#define	MBX2D_PAT_PAL_BH	0xD0000000
#define	MBX2D_MASK_CTRL_BH	0xE0000000
#define	MBX2D_FLUSH_BH		0xF0000000//flush blits and generate interrupt


/*
// MBX2D_CLIP
*/
#define MBX2D_CLIPCOUNT_MAX			4
#define MBX2D_CLIPCOUNT_MASK		0x00000007
#define MBX2D_CLIPCOUNT_CLRMASK		0xFFFFFFF8
#define MBX2D_CLIPCOUNT_SHIFT		0

#define MBX2D_CLIP_XMAX_MASK		0xFFFF0000
#define MBX2D_CLIP_XMAX_CLRMASK 	0x0000FFFF
#define MBX2D_CLIP_XMAX_SHIFT		16
#define MBX2D_CLIP_XMIN_MASK		0x0000FFFF
#define MBX2D_CLIP_XMIN_CLRMASK 	0xFFFF0000
#define MBX2D_CLIP_XMIN_SHIFT		0

#define MBX2D_CLIP_YMAX_MASK		0xFFFF0000
#define MBX2D_CLIP_YMAX_CLRMASK 	0x0000FFFF
#define MBX2D_CLIP_YMAX_SHIFT		16
#define MBX2D_CLIP_YMIN_MASK		0x0000FFFF
#define MBX2D_CLIP_YMIN_CLRMASK 	0xFFFF0000
#define MBX2D_CLIP_YMIN_SHIFT		0

/*
// MBX2D_PAT_CTRL
*/
#define MBX2D_PAT_HEIGHT_MASK	0x0000003F
#define MBX2D_PAT_HEIGHT_SHIFT	0
#define MBX2D_PAT_WIDTH_MASK	0x00000FC0
#define MBX2D_PAT_WIDTH_SHIFT	6
#define MBX2D_PAT_YSTART_MASK	0x0001F000
#define MBX2D_PAT_YSTART_SHIFT	12
#define MBX2D_PAT_XSTART_MASK	0x007C0000
#define MBX2D_PAT_XSTART_SHIFT	18

/*
// MBX2D_CTRL - Present Flags 
*/
#define MBX2D_SRCCK_CTRL	0x00000001
#define MBX2D_DSTCK_CTRL	0x00000002
#define MBX2D_ALPHA_CTRL	0x00000004

/* SRC/DST Colour Key Mask */
#define MBX2D_CK_COL_MASK		0xFFFFFFFF
#define MBX2D_CK_COL_CLRMASK	0x00000000
#define MBX2D_CK_COL_SHIFT		0

/* SRC/DST Colour Key Colour */
#define MBX2D_CK_MASK_MASK		0xFFFFFFFF
#define MBX2D_CK_MASK_CLRMASK	0x00000000
#define MBX2D_CK_MASK_SHIFT		0

/* Alpha Control */
#define MBX2D_GBLALPHA_MASK			0x000FF000
#define MBX2D_GBLALPHA_CLRMASK		0xFFF00FFF
#define MBX2D_GBLALPHA_SHIFT		12
#define MBX2D_SRCALPHA_OP_MASK		0x00700000
#define MBX2D_SRCALPHA_OP_CLRMASK	0xFF8FFFFF
#define MBX2D_SRCALPHA_OP_SHIFT		20
#define MBX2D_SRCALPHA_OP_ONE		0x00000000
#define MBX2D_SRCALPHA_OP_SRC		0x00100000
#define MBX2D_SRCALPHA_OP_DST		0x00200000
#define MBX2D_SRCALPHA_OP_SG		0x00300000
#define MBX2D_SRCALPHA_OP_DG		0x00400000
#define MBX2D_SRCALPHA_OP_GBL		0x00500000
#define MBX2D_SRCALPHA_OP_ZERO		0x00600000
#define MBX2D_SRCALPHA_INVERT		0x00800000
#define MBX2D_SRCALPHA_INVERT_CLR	0xFF7FFFFF
#define MBX2D_DSTALPHA_OP_MASK		0x07000000
#define MBX2D_DSTALPHA_OP_CLRMASK	0xF8FFFFFF
#define MBX2D_DSTALPHA_OP_SHIFT		24
#define MBX2D_DSTALPHA_OP_ONE		0x00000000
#define MBX2D_DSTALPHA_OP_SRC		0x01000000
#define MBX2D_DSTALPHA_OP_DST		0x02000000
#define MBX2D_DSTALPHA_OP_SG		0x03000000
#define MBX2D_DSTALPHA_OP_DG		0x04000000
#define MBX2D_DSTALPHA_OP_GBL		0x05000000
#define MBX2D_DSTALPHA_OP_ZERO		0x06000000
#define MBX2D_DSTALPHA_INVERT		0x08000000
#define MBX2D_DSTALPHA_INVERT_CLR	0xF7FFFFFF

/*
// MBX2D_SRC_OFF_BH
*/
#define MBX2D_SRCOFF_XSTART_MASK	0x07FFC000
#define MBX2D_SRCOFF_XSTART_SHIFT	14
#define MBX2D_SRCOFF_YSTART_MASK	0x00001FFF
#define MBX2D_SRCOFF_YSTART_SHIFT	0

/*
// MBX2D_MASK_OFF_BH
*/
#define MBX2D_MASKOFF_XSTART_MASK	0x07FFC000
#define MBX2D_MASKOFF_XSTART_SHIFT	14
#define MBX2D_MASKOFF_YSTART_MASK	0x00001FFF
#define MBX2D_MASKOFF_YSTART_SHIFT	0

/*
// MBX2D_MASK_SIZE_BH
*/
#define MBX2D_MASK_WIDTH_MASK	0x03FFC000
#define MBX2D_MASK_WIDTH_SHIFT	14
#define MBX2D_MASK_HEIGHT_MASK	0x00000FFF
#define MBX2D_MASK_HEIGHT_SHIFT	0

/*
// MBX2D_STRETCH_BH
*/
#define MBX2D_X_STRETCH_MASK	0x0FFC0000
#define MBX2D_X_STRETCH_SHIFT	18
#define MBX2D_Y_STRETCH_MASK	0x00003FF0
#define MBX2D_Y_STRETCH_SHIFT	4
// fixed point shift(5.5)
#define MBX2D_STRETCH_FPSHIFT	5
// default - no stretch
#define MBX2D_NO_STRETCH		0x00000020
// value required for rounding up to nearest pixel
#define MBX2D_STRETCH_ROUND_VAL	0x0000001F

/*
// MBX2D_BLIT
*/
#define MBX2D_USE_DST_FOR_MASK	0x08000000

#define MBX2D_TEXTROT_CLRMASK	0xF9FFFFFF
#define MBX2D_TEXTROT_NONE		0x00000000
#define MBX2D_TEXTROT_90DEGS	0x02000000
#define MBX2D_TEXTROT_180DEGS	0x04000000
#define MBX2D_TEXTROT_270DEGS	0x06000000

#define MBX2D_TEXTCOPY_CLRMASK	0xFE7FFFFF
#define MBX2D_TEXTCOPY_MASK		0x01800000
#define MBX2D_TEXTCOPY_TL2BR	0x00000000
#define MBX2D_TEXTCOPY_TR2BL	0x00800000
#define MBX2D_TEXTCOPY_BL2TR	0x01000000
#define MBX2D_TEXTCOPY_BR2TL	0x01800000

#define MBX2D_DSTCK_CLRMASK		0xFF9FFFFF
#define MBX2D_DSTCK_DISABLE		0x00000000
#define MBX2D_DSTCK_PASS		0x00200000
#define MBX2D_DSTCK_REJECT		0x00400000

#define MBX2D_SRCCK_CLRMASK		0xFFE7FFFF
#define MBX2D_SRCCK_DISABLE		0x00000000
#define MBX2D_SRCCK_PASS		0x00080000
#define MBX2D_SRCCK_REJECT		0x00100000

#define MBX2D_CLIP_ENABLE		0x00040000

#define MBX2D_ALPHA_ENABLE		0x00020000

#define MBX2D_PAT_CLRMASK		0xFFFEFFFF
#define MBX2D_PAT_MASK			0x00010000
#define MBX2D_USE_PAT			0x00010000
#define MBX2D_USE_FILL			0x00000000

#define MBX2D_ROP3B_MASK		0x0000FF00		
#define MBX2D_ROP3B_CLRMASK		0xFFFF00FF
#define MBX2D_ROP3B_SHIFT		8	

#define MBX2D_ROP3A_MASK		0x000000FF		
#define MBX2D_ROP3A_CLRMASK		0xFFFFFF00
#define MBX2D_ROP3A_SHIFT		0	
// equivalent rop4 mask
#define MBX2D_ROP4_MASK			0x0000FFFF

/*
	DWORD0:	(Only pass if Pattern control == Use Fill Colour)
	Fill Colour RGBA8888
*/
#define MBX2D_FILLCOLOUR_MASK	0xFFFFFFFF
#define MBX2D_FILLCOLOUR_SHIFT	0
/*	 
	DWORD1: (Always Present)
	X Start (Dest)
	Y Start (Dest)
	N.B. DST coordinates are signed!
*/
#define MBX2D_DST_XSTART_MASK		0x1FFF0000
#define MBX2D_DST_XSTART_CLRMASK	0xE000FFFF
#define MBX2D_DST_XSTART_SHIFT		16
#define MBX2D_DST_YSTART_MASK		0x00001FFF
#define MBX2D_DST_YSTART_CLRMASK	0xFFFFE000
#define MBX2D_DST_YSTART_SHIFT		0
/*	
	DWORD2: (Always Present)
	X End (Dest)
	Y End (Dest)
	N.B. DST coordinates are signed!
*/
#define MBX2D_DST_XEND_MASK			0x1FFF0000
#define MBX2D_DST_XEND_CLRMASK		0xE000FFFF
#define MBX2D_DST_XEND_SHIFT		16
#define MBX2D_DST_YEND_MASK			0x00001FFF
#define MBX2D_DST_YEND_CLRMASK		0xFFFFE000
#define MBX2D_DST_YEND_SHIFT		0
/*
	Following this data the system memory pixel data follows
	in line interleaved format. Only the mask and source
	can come from system memory. The Pattern may be referenced
	multiple times and hence must be copied to frame buffer and
	the DST by definiton must be in frame buffer (we have to
	be able to write to it).

	DWORD padded SRC line	- Only Passed if SRC surface present
	DWORD padded MASK line	- Only Passed if MASK surface present
	repeat...
	Etc.	 
*/

⌨️ 快捷键说明

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