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

📄 tstable.h

📁 Lido PXA270平台开发板的最新BSP,包括源代码
💻 H
字号:
/*****************************************************************************
 Name			: TSSTABLE.H
 
 Title			: Texture stage lookup table generation
  
 C Author 		: Ben Bowman
 
 Created  		: 27/11/2003
 
Copyright		: 2003 by Imaginations 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 Imaginations Technologies Limited, HomePark
				  Industrial Estate, King's Langley, Hertfordshire,
				  WD4	8LZ, U.K.

 Description 	: Tools for generating and using a lookup table for mapping
				  OGLES texture/alpha operations and arguments to HW control words.
   
 Version	 	: $Revision: 1.5 $

 Modifications	:

 $Log: tstable.h $
*****************************************************************************/

/*
	Color and Alpha Op layer-control tables. 
*/
extern IMG_UINT32 ui32ColorOpLCtlTable[];
extern IMG_UINT32 ui32AlphaOpLCtlTable[];


/*
	Texture stage Color-op codes
*/

/* Operation defines */
/* Interpolate must come first as it is the only 3 operand operation */
#define GLES_COMBINEOP_INTERPOLATE					0x00000000
#define GLES_COMBINEOP_REPLACE						0x00000001
#define GLES_COMBINEOP_MODULATE						0x00000002
#define GLES_COMBINEOP_ADD							0x00000003
#define GLES_COMBINEOP_ADD_SIGNED					0x00000004
#define GLES_COMBINEOP_SUBTRACT						0x00000005
#define GLES_COMBINEOP_DOT3_RGB						0x00000006
#define GLES_COMBINEOP_DOT3_RGBA					0x00000007

#define GLES_COMBINEOP_OPCLEAR						0xFFFFFFF8
#define GLES_COMBINEOP_OPSHIFT						0

/* Scale defines */
#define GLES_COMBINEOP_SCALE_ONE					0x00000000
#define GLES_COMBINEOP_SCALE_TWO					0x00000010
#define GLES_COMBINEOP_SCALE_FOUR					0x00000020

#define GLES_COMBINEOP_SCALECLEAR					0xFFFFFFCF
#define GLES_COMBINEOP_SCALESHIFT					4

/*													
	Number of color ops
*/													
#define GLES_COLOROP2_COUNT							7
#define GLES_COLOROP3_COUNT							1

/*													
	Number of alpha ops
*/													
#define GLES_ALPHAOP2_COUNT							5
#define GLES_ALPHAOP3_COUNT							1

/* 
 * Combiner sources 
 */

/* Src defines */
#define GLES_COMBINESRC_PRIMARY						0x00000000
#define GLES_COMBINESRC_PREVIOUS					0x00000001
#define GLES_COMBINESRC_TEXTURE						0x00000002
#define GLES_COMBINESRC_CONSTANT					0x00000003

#define GLES_COMBINESRC_SRCCLEAR					0xFFFFFFFC
#define GLES_COMBINESRC_SRCSHIFT					0

/* Operand defines */
#define GLES_COMBINESRC_OPERANDALPHA				0x00000004
#define GLES_COMBINESRC_OPERANDONEMINUS				0x00000008

#define GLES_COMBINESRC_OPERANDCLEAR				0xFFFFFFF3

#define GLES_COMBINESRC_SRCMASK						0x00000007

/*													
	Number of operand arguments in table - but don't encode one-minus in the table						
*/												
#define GLES_COLORARG_COUNT							8
#define GLES_ALPHAARG_COUNT							4


/*
	Texture stage color source codes - one for each possible HW
	color source
*/
#define GLES_COLORSOURCE_DIFFUSE					(GLES_COMBINESRC_PRIMARY)
#define GLES_COLORSOURCE_CURRENT					(GLES_COMBINESRC_PREVIOUS)
#define GLES_COLORSOURCE_TEXTURE					(GLES_COMBINESRC_TEXTURE)
#define GLES_COLORSOURCE_FACTOR						(GLES_COMBINESRC_CONSTANT)
													
#define GLES_COLORSOURCE_DIFFUSEALPHA				(GLES_COMBINESRC_PRIMARY	| GLES_COMBINESRC_OPERANDALPHA)
#define GLES_COLORSOURCE_CURRENTALPHA				(GLES_COMBINESRC_PREVIOUS	| GLES_COMBINESRC_OPERANDALPHA)
#define GLES_COLORSOURCE_TEXTUREALPHA				(GLES_COMBINESRC_TEXTURE	| GLES_COMBINESRC_OPERANDALPHA)
#define GLES_COLORSOURCE_FACTORALPHA				(GLES_COMBINESRC_CONSTANT	| GLES_COMBINESRC_OPERANDALPHA)

#define GLES_COLORSOURCE_INVDIFFUSE					(GLES_COMBINESRC_PRIMARY	| GLES_COMBINESRC_OPERANDONEMINUS)
#define GLES_COLORSOURCE_INVCURRENT					(GLES_COMBINESRC_PREVIOUS	| GLES_COMBINESRC_OPERANDONEMINUS)
#define GLES_COLORSOURCE_INVTEXTURE					(GLES_COMBINESRC_TEXTURE	| GLES_COMBINESRC_OPERANDONEMINUS)
#define GLES_COLORSOURCE_INVFACTOR					(GLES_COMBINESRC_CONSTANT	| GLES_COMBINESRC_OPERANDONEMINUS)				
													
#define GLES_COLORSOURCE_INVDIFFUSEALPHA			(GLES_COLORSOURCE_DIFFUSEALPHA	| GLES_COMBINESRC_OPERANDONEMINUS)
#define GLES_COLORSOURCE_INVCURRENTALPHA			(GLES_COLORSOURCE_CURRENTALPHA	| GLES_COMBINESRC_OPERANDONEMINUS)
#define GLES_COLORSOURCE_INVTEXTUREALPHA			(GLES_COLORSOURCE_TEXTUREALPHA	| GLES_COMBINESRC_OPERANDONEMINUS)
#define GLES_COLORSOURCE_INVFACTORALPHA				(GLES_COLORSOURCE_FACTORALPHA	| GLES_COMBINESRC_OPERANDONEMINUS)

/*
	The following color sources are not available as SGL args.

	NB:	'ANY' and 'INVANY' are used to represent an arbitrary source, 
		and are available for all the HW sources.
*/
#define GLES_COLORSOURCE_ONE						16
#define GLES_COLORSOURCE_ZERO						17
#define GLES_COLORSOURCE_ANY						18
#define GLES_COLORSOURCE_INVANY						19



/*
	Texture stage alpha source codes - one for each possible HW
	alpha source
*/
#define GLES_ALPHASOURCE_DIFFUSEALPHA				(GLES_COMBINESRC_PRIMARY	| GLES_COMBINESRC_OPERANDALPHA)
#define GLES_ALPHASOURCE_CURRENTALPHA				(GLES_COMBINESRC_PREVIOUS	| GLES_COMBINESRC_OPERANDALPHA)
#define GLES_ALPHASOURCE_TEXTUREALPHA				(GLES_COMBINESRC_TEXTURE	| GLES_COMBINESRC_OPERANDALPHA)
#define GLES_ALPHASOURCE_FACTORALPHA				(GLES_COMBINESRC_CONSTANT	| GLES_COMBINESRC_OPERANDALPHA)
													
#define GLES_ALPHASOURCE_INVDIFFUSEALPHA			4
#define GLES_ALPHASOURCE_INVCURRENTALPHA			5
#define GLES_ALPHASOURCE_INVTEXTUREALPHA			6
#define GLES_ALPHASOURCE_INVFACTORALPHA				7

/*
	he following alpha sources are not available as SGL args

	NB:	'DUALOFFSETALPHA' and 'OFFSETALPHA2' are special source codes that
		map to the MBX1 AS1/3 alpha sources which set both sources in a pair
		(i.e. AS1+2 or AS3+4). These are valid for AS1 or AS3 only.

		'ANY' is used to represent an arbitrary source, and is available for
		all the HW sources.
*/
#define GLES_ALPHASOURCE_ONE						8
#define GLES_ALPHASOURCE_ZERO						9
#define GLES_ALPHASOURCE_ANY						10
#define GLES_ALPHASOURCE_INVANY						11

#define GLES_COLORARG1OFF_SCALE						1
#define GLES_COLORARG2OFF_SCALE						(GLES_COLORARG_COUNT)
#define GLES_COLORARG3OFF_SCALE						(GLES_COLORARG_COUNT * GLES_COLORARG_COUNT)
#define GLES_COLOROP2OFF_SCALE						(GLES_COLORARG3OFF_SCALE)
#define GLES_COLOROP3OFF_SCALE						(GLES_COLORARG_COUNT * GLES_COLORARG_COUNT * GLES_COLORARG_COUNT)

#define COLOR_SWIZ_MASK								0x00000007
#define COLOR_SWIZ_SHIFT							0

#define GLES_ALPHAARG1OFF_SCALE						1
#define GLES_ALPHAARG2OFF_SCALE						(GLES_ALPHAARG_COUNT)
#define GLES_ALPHAARG3OFF_SCALE						(GLES_ALPHAARG_COUNT*GLES_ALPHAARG_COUNT)
#define GLES_ALPHAOP2OFF_SCALE						(GLES_ALPHAARG3OFF_SCALE)
#define GLES_ALPHAOP3OFF_SCALE						(GLES_ALPHAARG_COUNT * GLES_ALPHAARG_COUNT * GLES_ALPHAARG_COUNT)

#define ALPHA_SWIZ_MASK								0x70000000
#define ALPHA_SWIZ_SHIFT							28


/*****************************************************************************
 End of file (TSSTABLE.H)
*****************************************************************************/


⌨️ 快捷键说明

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