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

📄 drvescape.h

📁 Lido PXA270平台开发板的最新BSP,包括源代码
💻 H
字号:
/*************************************************************************
 * Name         : drvescape.h
 * Title        : Driver Escape definitions
 * Author       : Doug Patterson
 * Created      : 23/01/2003
 *
 * Copyright    : 2003 by Imagination Technologies. 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, Unit 8, HomePark
 *			    : Industrial Estate, King's Langley, Hertfordshire,
 *			    : WD4 8LZ, U.K.
 *
 * Description  : Driver Escape definitions
 *
 * Platform     : WinCE
 *
 * Revision	    : $Revision: 1.8 $
 *
 * Modifications:-
 * $Log: drvescape.h $
 *
 *  --- Revision Logs Removed --- 
 *
 *  --- Revision Logs Removed --- 
 *
 *  --- Revision Logs Removed --- 
 *
 *  --- Revision Logs Removed --- 
 **************************************************************************/
#ifndef __DRVESCAPE_H__
#define __DRVESCAPE_H__


/*
	DRVESC_HWVERIFY parameter definitions.

	Hardware verification compares hardware output with software output,
	both having identical inputs.
	It can optionally generate parameter dumps for off-line analysis.
*/

typedef enum /* Enum used to specify what region should be verified. Used for trapping overdraw. */
{
	HWVERIFY_DST_RECT=0,		/* Verify only the destination rectangle (fastest) */
	HWVERIFY_DST_RECT_PLUS=1,	/* Verify the dest rect plus one pixel in each direction */
	HWVERIFY_DST_ALL=2			/* Verify the entire destination surface (slowest) */

} HWVERIFY_REGION;

/* Command packet for DRVESC_HWVERIFY */
typedef struct _DRVESC_HWVERIFY_PARAMS
{
	DWORD	dwFlags;										/* Get/Set */
	DWORD	dwFailures;										/* number of verify failures */

	/* dwFlags literals */
	#define DRVESC_HWVERIFY_FLAG_GET		0x00000001		/* Input  : Get params - caller must also provide an output packet. */
	#define DRVESC_HWVERIFY_FLAG_SET		0x00000002		/* Input  : Set params - caller only provides an input packet. */
	
	BOOL				bEnabled;							/* Enables hardware verification. */
	BOOL				bPDumpFailures;						/* Enablesparameter dumping of verification failures. */
	BOOL				bUnattendedMode;					/* Carries on without stopping. */
	HWVERIFY_REGION		eVerDst;							/* Type of verification. */

} DRVESC_HWVERIFY_PARAMS, *PDRVESC_HWVERIFY_PARAMS;

/* command packet for DRVESC_BACKLIGHT */
typedef struct _DRVESC_BACKLIGHT_PARAMS
{
	DWORD	dwBrightness;	/* Brightness in the range 0 to 99 */
	BOOL	bGet;			/* TRUE to get settings, FALSE to set new settings */

} DRVESC_BACKLIGHT_PARAMS, *PDRVESC_BACKLIGHT_PARAMS;

#ifdef LOCAL_MEMORY_SELF_REFRESH
	#define LOCAL_MEMORY_SETTINGS_SET		0x10000000
	#define LOCAL_MEMORY_SETTINGS_GET		0x00000000
	#define LOCAL_MEMORY_SETTINGS_FEATURE	0x00000001
	#define LOCAL_MEMORY_SETTINGS_TIMEOUT	0x00000002

	typedef struct _DRVESC_LOCAL_MEMORY_SETTINGS
	{
		DWORD dwFlags;
		BOOL bTurnOnFeature;
		DWORD dwTimeout;
	} DRVESC_LOCAL_MEMORY_SETTINGS, *PDRVESC_LOCAL_MEMORY_SETTINGS;
#endif // LOCAL_MEMORY_SELF_REFRESH

/*****************************************************************************
    Surface Management and M24VA control structures
*****************************************************************************/

#ifdef SUPPORT_M24VA

typedef struct _DRVESC_M24VA_ACQUIRE_PARAMS_
{
	DWORD dwAcquire;			/* true - acquire, false - release */
	DWORD dwProcessID;			/* ID of process to acquire hardware */

} DRVESC_M24VA_ACQUIRE_PARAMS;


typedef struct _DRVESC_M24VA_CONFIG_PARAMS_
{
	DWORD pPhysRegBase;		/* Base address and size of M24VA register..*/
	DWORD dwPhysRegSize;	/* ..block. */

	DWORD pPhysCmdSPBase;		/* Base address and size of M24VA command ..*/
	DWORD dwPhysCmdSPSize;		/* ..slave port block.*/

	DWORD pPhysIDCTSPBase;		/* Base address and size of M24VA IDCT ..*/
	DWORD dwPhysIDCTSPSize;		/* ..slave port block.*/

} DRVESC_M24VA_CONFIG_PARAMS;

typedef enum 
{
	DRVESC_SURFACE_FORMAT_420,
	DRVESC_SURFACE_FORMAT_422,
	DRVESC_SURFACE_FORMAT_RGB24

} DRVESC_SUR_FORMAT;

typedef struct _DRVESC_M24VA_ALLOCFREE_SURFACE_PARAMS_
{
	BOOL  bAllocate;			/* TRUE - allocate, FALSE - free */
	DWORD dwSurfaceHandle;		/* OUT	: Allocate, IN: Free */

	DWORD dwProcessID;			/* IN : Process ID of process allocating */
	DWORD dwWidth, dwHeight;	/* IN : Surface dimensions */
	DRVESC_SUR_FORMAT eFormat;	/* IN : Pixel format, as defined by M24VA API */

	DWORD pPhysAddress;			/* OUT : Physical address of surface */
	DWORD dwFBOffset;			/* OUT : Offset of block from start of frame buffer */
	DWORD dwStride;				/* OUT : Stride in bytes */
	DWORD dwSize;				/* OUT : Size in bytes */

} DRVESC_M24VA_ALLOCFREE_SURFACE_PARAMS;

#endif /* SUPPORT_M24VA */

#ifndef DEBUG
typedef struct _DRVESC_EXCEPTION_COUNTS_
{
	ULONG ulStandard;			/* OUT : Non rotated emulated blts */
	ULONG ulRotated;			/* OUT : Emulated blts rotated */
} DRVESC_EXCEPTION_COUNTS, *PDRVESC_EXCEPTION_COUNTS;
#endif

typedef struct _DRVESC_RESMAN_THREAD_TERMINATED_PARAMS_
{
	HANDLE		hProcess;	
	
} DRVESC_RESMAN_THREAD_TERMINATED_PARAMS;


typedef struct
{
	DWORD dwLeft;
	DWORD dwTop;
	DWORD dwWidth;
	DWORD dwHeight;
	BOOL bStatus;

} DRVESC_GXDMA, *PDRVESC_GXDMA;


/*****************************************************************************
    Driver Escape codes : Used by application and driver
*****************************************************************************/

#define DRVESC_BASEVALUE    		100000
#define DRVESC_PDUMP_ON	        	(DRVESC_BASEVALUE + 0)
#define DRVESC_PDUMP_OFF	    	(DRVESC_BASEVALUE + 1)
#define DRVESC_DISPLAY_GAMMA		(DRVESC_BASEVALUE + 2)
#define DRVESC_DISPLAY_BRIGHTNESS	(DRVESC_BASEVALUE + 3)
#define DRVESC_DISPLAY_CONTRAST		(DRVESC_BASEVALUE + 4)
#define DRVESC_OVERLAY_GAMMA		(DRVESC_BASEVALUE + 5)
#define DRVESC_OVERLAY_BRIGHTNESS	(DRVESC_BASEVALUE + 6)
#define DRVESC_OVERLAY_CONTRAST		(DRVESC_BASEVALUE + 7)
#define DRVESC_CURSOR_ROTATE		(DRVESC_BASEVALUE + 8)
#define DRVESC_COLOR_COEFFS			(DRVESC_BASEVALUE + 9)
#define DRVESC_HWVERIFY				(DRVESC_BASEVALUE + 10)
#define DRVESC_BACKLIGHT			(DRVESC_BASEVALUE + 11)
#define DRVESC_MEMCHK				(DRVESC_BASEVALUE + 12)

#ifdef SUPPORT_M24VA
	#define DRVESC_M24VA_ACQUIRE			(DRVESC_BASEVALUE + 13)
	#define DRVESC_M24VA_ALLOCFREE_SURFACE	(DRVESC_BASEVALUE + 14)
	#define DRVESC_M24VA_CONFIG				(DRVESC_BASEVALUE + 15)

	#define DRVESC_OVERLAY_ATTRIBUTE		(DRVESC_BASEVALUE + 20)
	#define DRVESC_OVERLAY_FLIP				(DRVESC_BASEVALUE + 21)
#endif /* SUPPORT_M24VA */

#ifndef DEBUG
	#define DRVESC_GET_EXCEPTION_COUNTS	(DRVESC_BASEVALUE + 22)
#endif

#define DRVESC_READREG						(DRVESC_BASEVALUE + 23)			
#define DRVESC_WRITEREG						(DRVESC_BASEVALUE + 24)			
#define DRVESC_RESMAN_THREAD_TERMINATED		(DRVESC_BASEVALUE + 25)
#define DRVESC_GET_PHYS_ROTATION			(DRVESC_BASEVALUE + 26)			
#define DRVESC_2D_PROFILE					(DRVESC_BASEVALUE + 27)

#define DRVESC_GXDMA_VRAM_TO_DRAM			(DRVESC_BASEVALUE + 28)
#define DRVESC_GXDMA_DRAM_TO_VRAM			(DRVESC_BASEVALUE + 29)
#define DRVESC_GXDMA_STATUS					(DRVESC_BASEVALUE + 30)
#ifdef LOCAL_MEMORY_SELF_REFRESH
	#define DRVESC_LOCAL_MEMORY				(DRVESC_BASEVALUE + 31)
#endif
#define DRVESC_PREPARE_OVERLAY_FLIP			(DRVESC_BASEVALUE + 32)

#endif __DRVESCAPE_H__
/*****************************************************************************
 End of file (DRVESCAPE.H)
*****************************************************************************/

⌨️ 快捷键说明

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