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

📄 pvr_bridge.h

📁 Lido PXA270平台开发板的最新BSP,包括源代码
💻 H
📖 第 1 页 / 共 2 页
字号:
/*!****************************************************************************
@File			pvr_bridge.h

@Title			PVR Bridge Functionality

@Author			Imagination Technologies

@date   		10/9/2003
 
@Copyright     	Copyright 2003-2004 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.

@Platform		generic

@Description	Header for the PVR Brdige code

@DoxygenVer		

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

/******************************************************************************
Modifications :-

$Log: pvr_bridge.h $
*****************************************************************************/

#if defined (__cplusplus)
extern "C" {
#endif

/* 
 * Bridge Cmd Ids
 */

#ifdef UNDER_CE
#define PVRSRV_BRIDGE_BASE					(100000+2000)		/*!< WinCE bridge base index */
#else
#define PVRSRV_BRIDGE_BASE					0x00000000			/*!< general bridge base index */
#endif

#define PVRSRV_BRIDGE_ENUM_DEVICES			(PVRSRV_BRIDGE_BASE + 0x00000000)	/*!< enumerate device bridge index */
#define PVRSRV_BRIDGE_ACQUIRE_DEVICEINFO	(PVRSRV_BRIDGE_BASE + 0x00000001)	/*!< acquire device data bridge index */
#define PVRSRV_BRIDGE_RELEASE_DEVICEINFO	(PVRSRV_BRIDGE_BASE + 0x00000002)	/*!< release device data bridge index */
#define PVRSRV_BRIDGE_ALLOC_DEVICEMEM		(PVRSRV_BRIDGE_BASE + 0x00000003)	/*!< alloc device memory bridge index */
#define PVRSRV_BRIDGE_FREE_DEVICEMEM		(PVRSRV_BRIDGE_BASE + 0x00000004)	/*!< free device memory bridge index */
#define PVRSRV_BRIDGE_GETFREE_DEVICEMEM		(PVRSRV_BRIDGE_BASE + 0x00000005)	/*!< get free device memory bridge index */
#define PVRSRV_BRIDGE_CREATE_PARAMBUFF		(PVRSRV_BRIDGE_BASE + 0x00000006)	/*!< create PB bridge index */
#define PVRSRV_BRIDGE_DESTROY_PARAMBUFF		(PVRSRV_BRIDGE_BASE + 0x00000007)	/*!< destroy PB bridge index */
#define PVRSRV_BRIDGE_ADD_RENDERTARGET		(PVRSRV_BRIDGE_BASE + 0x00000008)	/*!< add RT bridge index */
#define PVRSRV_BRIDGE_REMOVE_RENDERTARGET	(PVRSRV_BRIDGE_BASE + 0x00000009)	/*!< remove RT bridge index */
#define PVRSRV_BRIDGE_CREATE_COMMANDQUEUE	(PVRSRV_BRIDGE_BASE + 0x0000000A)	/*!< create Cmd Q bridge index */
#define PVRSRV_BRIDGE_DESTROY_COMMANDQUEUE	(PVRSRV_BRIDGE_BASE + 0x0000000B)	/*!< destroy Cmd Q bridge index */
#define PVRSRV_BRIDGE_ACQUIRE_PRIMARY		(PVRSRV_BRIDGE_BASE + 0x0000000C)	/*!< acquire primary bridge index */
#define PVRSRV_BRIDGE_QUERY_PRIMARY			(PVRSRV_BRIDGE_BASE + 0x0000000D)	/*!< query primary bridge index */
#define PVRSRV_BRIDGE_RELEASE_PRIMARY		(PVRSRV_BRIDGE_BASE + 0x0000000E)	/*!< release primary bridge index */
#define PVRSRV_BRIDGE_REGISTER_PRIMARY		(PVRSRV_BRIDGE_BASE + 0x0000000F)	/*!< register primary bridge index */
#define PVRSRV_BRIDGE_UNMAPMEMORY			(PVRSRV_BRIDGE_BASE + 0x00000010)	/*!< unmap memory bridge index */
#define PVRSRV_BRIDGE_CONNECT_SERVICES		(PVRSRV_BRIDGE_BASE + 0x00000011)	/*!< services connect bridge index */
#define PVRSRV_BRIDGE_PDUMP					(PVRSRV_BRIDGE_BASE + 0x00000012)	/*!< pdump bridge index */
#define PVRSRV_BRIDGE_MPEGCONNECT			(PVRSRV_BRIDGE_BASE + 0x00000013)	/*!< mpeg connect bridge index */
#define PVRSRV_BRIDGE_WRAP_DEVICE_MEM		(PVRSRV_BRIDGE_BASE + 0x00000014)	/*!< wrap device memory bridge index */
#define PVRSRV_BRIDGE_MUTEX_TABLE			(PVRSRV_BRIDGE_BASE + 0x00000015)
#ifdef SUPPORT_3D_BLIT
#define	PVRSRV_BRIDGE_INIT_OVL_BLIT_RSC		(PVRSRV_BRIDGE_BASE + 0x00000016)	/*!< Init Overlay Blit resources */
#define	PVRSRV_BRIDGE_DEINIT_OVL_BLIT_RSC	(PVRSRV_BRIDGE_BASE + 0x00000017)	/*!< De-init Overlay Blit resources */
#endif
#define	PVRSRV_BRIDGE_GET_FB_STATS			(PVRSRV_BRIDGE_BASE + 0x00000018)	/*!< Get FB memory stats */
/****************************************************************************
 * Generic bridge structures 
 ****************************************************************************/

/*!
 *****************************************************************************
 *	bridge return structure
 *****************************************************************************/ 
typedef struct PVRSRV_BRIDGE_RETURN_TAG {
	PVRSRV_ERROR eError;
	IMG_VOID *pvData;

}PVRSRV_BRIDGE_RETURN;


/*!
 *****************************************************************************
 *	bridge packaging structure
 *****************************************************************************/ 
typedef struct PVRSRV_BRIDGE_PACKAGE_TAG {

	IMG_UINT32				ui32BridgeID;			/*!< ioctl/drvesc index */
	IMG_UINT32				ui32Size;				/*!< size of structure */
	IMG_VOID 				*pvParamIn;				/*!< input data buffer */ 
	IMG_UINT32				ui32InBufferSize;		/*!< size of input data buffer */
	IMG_VOID				*pvParamOut;			/*!< output data buffer */
	IMG_UINT32				ui32OutBufferSize;		/*!< size of output data buffer */

}PVRSRV_BRIDGE_PACKAGE;


/*****************************************************************************
 * Input structures for IOCTL/DRVESC 
 *****************************************************************************/


/*!
 *****************************************************************************
 *	`bridge in' acquire device info
 *****************************************************************************/ 
typedef struct PVRSRV_BRIDGE_IN_ACQUIRE_DEVICEINFO_TAG {

	IMG_UINT32			uiDevIndex;
	PVRSRV_DEVICE_TYPE	eDeviceType;

} PVRSRV_BRIDGE_IN_ACQUIRE_DEVICEINFO;


/*!
 *****************************************************************************
 *	`bridge in' alloc device memory
 *****************************************************************************/ 
typedef struct PVRSRV_BRIDGE_IN_ALLOCDEVICEMEM_TAG{

	PVRSRV_DEV_INFO		*psDevInfo;
	IMG_UINT32 ui32Flags;
	IMG_UINT32 ui32Size;
	IMG_UINT32 ui32Alignment;

}PVRSRV_BRIDGE_IN_ALLOCDEVICEMEM;


/*!
 *****************************************************************************
 *	`bridge in' free device memory
 *****************************************************************************/ 
typedef struct PVRSRV_BRIDGE_IN_FREEDEVICEMEM_TAG{

	PVRSRV_DEV_INFO		*psDevInfo;
	PVRSRV_MEM_INFO		*psMemInfo;
	
}PVRSRV_BRIDGE_IN_FREEDEVICEMEM;


/*!
 *****************************************************************************
 *	`bridge in' get free device memory
 *****************************************************************************/ 
typedef struct PVRSRV_BRIDGE_IN_GETFREEDEVICEMEM_TAG
{
	PVRSRV_DEV_INFO	*psDevInfo;
	IMG_UINT32		ui32Flags;

} PVRSRV_BRIDGE_IN_GETFREEDEVICEMEM;


/*!
 *****************************************************************************
 *	`bridge in' create primary 
 *****************************************************************************/ 
typedef struct PVRSRV_BRIDGE_IN_CREATEPARAMBUFF_TAG {
	PVRSRV_DEV_INFO *psDevInfo;
	IMG_UINT32 ui32ParamBuffSize;

}PVRSRV_BRIDGE_IN_CREATEPARAMBUFF;


/*!
 *****************************************************************************
 *	`bridge in' add RT
 *****************************************************************************/ 
typedef struct PVRSRV_BRIDGE_IN_ADDRENDERTARGET_TAG {

	PVRSRV_DEV_INFO *psDevInfo;
	IMG_UINT32 ui32Width;
	IMG_UINT32 ui32Height;
	IMG_UINT32 ui32AAFlags;

}PVRSRV_BRIDGE_IN_ADDRENDERTARGET;


/*!
 *****************************************************************************
 *	`bridge in' remove RT
 *****************************************************************************/ 
typedef struct PVRSRV_BRIDGE_IN_REMOVERENDERTARGET_TAG {

	PVRSRV_DEV_INFO *psDevInfo;
	PVRSRV_TARENDERINFO *psTARenderInfo;
}PVRSRV_BRIDGE_IN_REMOVERENDERTARGET;


/*!
 *****************************************************************************
 *	`bridge in' create Cmd Q
 *****************************************************************************/ 
typedef struct PVRSRV_BRIDGE_IN_CREATECOMMANDQUEUE_TAG {

	PVRSRV_DEV_INFO *psDevInfo;
	IMG_UINT32 ui32QueueSize;
}PVRSRV_BRIDGE_IN_CREATECOMMANDQUEUE;


/*!
 *****************************************************************************
 *	`bridge in' destroy Cmd Q
 *****************************************************************************/ 
typedef struct PVRSRV_BRIDGE_IN_DESTROYCOMMANDQUEUE_TAG {

	PVRSRV_DEV_INFO *psDevInfo;
	PVRSRV_QUEUE_INFO *psQueueInfo;
}PVRSRV_BRIDGE_IN_DESTROYCOMMANDQUEUE;


/*!
 *****************************************************************************
 *	`bridge in' acquire Primary
 *****************************************************************************/ 
typedef struct PVRSRV_BRIDGE_IN_ACQUIREPRIMARY_TAG {

	PVRSRV_DEV_INFO *psDevInfo;
	IMG_UINT32 ui32Flags;
	IMG_UINT32 ui32PixelWidth;
	IMG_UINT32 ui32PixelHeight;
	PVRSRV_PIXEL_FORMAT ePixelFormat;
}PVRSRV_BRIDGE_IN_ACQUIREPRIMARY;




/*!
 *****************************************************************************
 *	`bridge in' release primary
 *****************************************************************************/ 
typedef struct PVRSRV_BRIDGE_IN_RELEASEPRIMARY_TAG {

⌨️ 快捷键说明

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