亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? services.h

?? Lido PXA270平臺開發板的最新BSP,包括源代碼
?? H
?? 第 1 頁 / 共 5 頁
字號:
typedef struct _SYS_DATA_*				SYSDATA_HANDLE;				/*!< sysdata handle */
typedef	struct _PVR3DIF_PARAMBUFFER_*	PVRSRV_PARAMBUFFER_HANDLE;	/*!< parameter buffer handle */
typedef struct _QUEUE_INFO_*			PVRSRV_QUEUE_HANDLE;		/*!< queue handle */
typedef struct _PVR3DIF_SHAREDDATA_		*PPVRSRV_3DSHAREDDATA;		/*!< forward reference */
typedef struct _PVR_CS_INFO_			*PPVRSRV_CSINFO;			/*!< forward reference */


/***********************************************************************
	Mutexes and resources implementations are based on OS and CPU type:
***********************************************************************/
#if defined (UNDER_CE) /* WinCE / PPC? */
	#if defined (_X86_)
		typedef volatile IMG_UINT32	PVRSRV_MUTEX_HANDLE;
		typedef volatile IMG_UINT32	PVRSRV_RES_HANDLE;
	#elif defined(_ARM_)
		typedef volatile IMG_UINT32	PVRSRV_MUTEX_HANDLE;
		typedef volatile IMG_UINT32	PVRSRV_RES_HANDLE;
	#else
		#error "CPU is undefined for Mutex and Resource definitions"
	#endif
#else
	#if defined(LINUX)
		#if defined (__i386__)
		typedef volatile IMG_UINT32	PVRSRV_MUTEX_HANDLE;
		typedef volatile IMG_UINT32	PVRSRV_RES_HANDLE;
		#elif defined(__arm__)
                typedef volatile IMG_UINT32     PVRSRV_MUTEX_HANDLE;
                typedef volatile IMG_UINT32     PVRSRV_RES_HANDLE;
		#else
			#if defined(__SH4__)
               	typedef volatile IMG_UINT32     PVRSRV_MUTEX_HANDLE;
               	typedef volatile IMG_UINT32     PVRSRV_RES_HANDLE;
			#else
				#error "CPU is undefined for Mutex and Resource definitions"
			#endif
		#endif
	#else
		#if defined(__SYMBIAN32__)
			typedef volatile IMG_UINT32	PVRSRV_MUTEX_HANDLE;
			typedef volatile IMG_UINT32	PVRSRV_RES_HANDLE;
		#else
			#error "OS is undefined for Mutex and Resource definitions"
		#endif
	#endif
#endif


/*****************************************************************************
 * Structure definitions.
 *****************************************************************************/


/*!
 *****************************************************************************
 * address:value register structure
 *****************************************************************************/ 
typedef struct _PVRSRV_HWREG_
{
    IMG_UINT32			ui32RegAddr;	/*!< Address */
    IMG_UINT32			ui32RegVal;		/*!< value */
} PVRSRV_HWREG;


/*!
 ******************************************************************************
 * Information required to use a slave port
 ******************************************************************************/
typedef struct _PVRSRV_DEV_SLAVE_PORT_
{
	IMG_PVOID               pvData;					/*!< a pointer to the base of the slave port */
	IMG_UINT32				ui32DataRange;			/*!< the size of the slave port address range */
	IMG_PUINT32				pui32Offset;			/*!< a pointer to the current offset into the slave port */
	IMG_CPU_PHYADDR			sPhysBase;				/*!< Physical Slave port base */
}PVRSRV_DEV_SLAVE_PORT, *PPVRSRV_DEV_SLAVE_PORT;


/*!
 *****************************************************************************
 * Host RTA interface structure. Generally only have one of these per rendering 
 * context.
 *****************************************************************************/
typedef struct _PVRSRV_TARENDERINFO_
{
	PPVRSRV_3DSHAREDDATA			psSharedData;		/*!< shared ta/render data */
	IMG_PVOID						pvTailPtrs;			/*!< cpu linear address of tail ptrs */
	struct _PVRSRV_TARENDERINFO_	*psTARenderInfoKM;	/*!< glue code mapping pointer */

#ifdef PDUMP
	struct	_PDUMP_CONTEXT_ 		*psPDContext;		/*!< pdump context */
#endif

} PVRSRV_TARENDERINFO;


/*!
 *****************************************************************************
 * Information required to complete the background object data for a render.
 *****************************************************************************/
typedef struct _PVRSRV_BGOBJ_INFO_
{
	IMG_UINT32				ui32TexFormatStride;	/*!< HW texture format and stride */
	IMG_UINT32				ui32TexAddrStride;		/*!< HW texture address */
	
} PVRSRV_BGOBJ_INFO;


/*!
 ******************************************************************************
 * Information about the resources of the device
 ******************************************************************************/
typedef struct _PVRSRV_DEV_LOCATION_
{
	IMG_PVOID			pvRegsBaseKM;			/*!< Kernel mode linear address of current device register */

	IMG_SYS_PHYADDR		sRegsPhysBase;			/*!<  Physical register base */
	IMG_UINT32			ui32RegSize;			/*!<  Register region size (for this device) in bytes */

	IMG_SYS_PHYADDR		sPhysicalBase;			/*!< Address of the bottom of DevPhys memory
													 in the Sys Phys address space */
	IMG_SYS_PHYADDR     sSOCRegsPhysBase;       /*!< SOC register base */
	IMG_UINT32			ui32SOCRegSize;            /*!< SOC register syze */

	IMG_PVOID			pvSOCRegsBaseKM;			/*!< Kernel mode linear address of SOC registers */

  /*
   * Union to hold location information specific to a specific device type
   */
	union {
		  /*
		   * MBX specific data
		   */
		struct {
			PVRSRV_DEV_SLAVE_PORT	sTASlavePort;			/*!< TA Slave port info */
			PVRSRV_DEV_SLAVE_PORT	s2DSlavePort;			/*!< 2D Slave port info */
			PVRSRV_DEV_SLAVE_PORT	sTAControlSlavePort;	/*!< TA Control slave port info */

#ifdef SUPPORT_KYRO_AS_MBX_DEVICE
			IMG_UINT32				ui32MBXRegsPhysBase;	/*!< MBX registers physical base address */
			IMG_UINT32				ui32MBXRegSize;			/*!< MBX register range */
			IMG_UINT32				ui32MBXRegsLinBase; 	/*!< should this be a IMG_CPU_VIRTADDR */
#endif
		} sMBX; 
	
		  /*
		   * MPEG specific data
		   */
		struct 
		{
			IMG_CPU_PHYADDR			sSPPhysicalBase;		/*!< Physical Slave port base */
			IMG_PVOID				pvSPLinearBase;		    /*!< Linear slave port */
			IMG_UINT32				ui32SPSize;				/*!< Total size of region in bytes */

			IMG_PVOID               pvSPCmd;				/*!< Command data linear sp addr */
			IMG_UINT32				ui32SPCmdRange;			/*!< Command data sp range */

			IMG_PVOID               pvSPIDCT;				/*!< IDCT data linear sp addr */
			IMG_UINT32				ui32SPIDCTRange;		/*!< IDCT data sp range */

		} sM24VA;
		
	 }sDeviceSpecific;
} PVRSRV_DEV_LOCATION, *PPVRSRV_DEV_LOCATION;



/*!
 *****************************************************************************
 * PCI Bus specific information
 *****************************************************************************/
#ifdef SUPPORT_PCI
typedef struct _PVRSRV_DEV_PCI_
{
	IMG_UINT32			ui32Bus;
	IMG_UINT32			ui32Device;
	IMG_UINT32			ui32Function;
	IMG_UINT32			ui32Irq;
}PVRSRV_DEV_PCI, *PVRSRV_PDEV_PCI;
#endif /* #ifdef SUPPORT_PCI */


/*!
 *****************************************************************************
 * Structure providing implementation details for serialisation and 
 * synchronisation of operations. This is the fundamental unit on which operations
 * are synced, and would typically be included in any data structures that require
 * serialised accesses etc. e.g. MEM_INFO structures
 *
 *****************************************************************************/
typedef struct _PVRSRV_SYNC_INFO_
{
	IMG_UINT32			ui32NextWriteOp;        /*!< Index of the next write operation that will be
													 created on this sync info object. Increases by one each time
													 a write operation is added. */     
	volatile IMG_UINT32 *pui32LastWriteOp;		/*!< Kernel virtual address of a field in frame buffer that holds the
													 number of the last write operation that has completed on this sync info */ 
	volatile IMG_UINT32	ui32ReadOpsComplete;    /*!< Number of Read operations that completed since the last write operation */
	IMG_UINT32			ui32ReadOpsPending;     /*!< Number of read operations submitted since the last write op */

	volatile IMG_UINT32 ui32LastWriteOpVal;		/*!< pui32LastWriteOp points to this */

	volatile IMG_UINT32	ui32BlitOpsPending;		/*!< required to flush read dependencies before TA'ing a scene */

	volatile IMG_UINT32	ui32BlitOpsComplete;	/*!< required to flush read dependencies before TA'ing a scene */

	struct _PVRSRV_SYNC_INFO_ *psKernSyncInfo;	/*!< Kernel side implementation details */
} PVRSRV_SYNC_INFO;


/*!
 *****************************************************************************
 * Implementation details for synchronising the sources used in commands
 *****************************************************************************/
typedef struct _PVRSRV_SRCSYNC_INFO_
{
	IMG_UINT32			ui32NextWriteOpVal;     /*!< As per PVRSRV_SYNC_INFO */     

	PVRSRV_SYNC_INFO	*psSyncInfoKM;			/*!< As per PVRSRV_SYNC_INFO */     
} PVRSRV_SRCSYNC_INFO;


/*!
 *****************************************************************************
 * Circular command buffer structure forming the queue of pending commands.
 *
 * Queues are implemented as circular comamnd buffers (CCBs).  
 * The buffer is allocated as a specified size, plus the size of the largest supported command.
 * The extra size allows commands to be added without worrying about wrapping around at the end. 
 *
 * Commands are added to the CCB by client processes and consumed within 
 * kernel mode code running from within  an L/MISR typically.
 * 
 * The process of adding a command to a queue is as follows:-
 * 	- A `lock' is acquired to prevent other processes from adding commands to a queue
 * 	- Data representing the command to be executed, along with it's PVRSRV_SYNC_INFO 
 * 	  dependencies is written to the buffer representing the queue at the queues 
 * 	  current WriteOffset.
 * 	- The PVRSRV_SYNC_INFO that the command depends on are updated to reflect 
 * 	  the addition of the new command.
 * 	- The WriteOffset is incremented by the size of the command added.
 * 	- If the WriteOffset now lies beyound the declared buffer size, it is 
 * 	  reset to zero.
 * 	- The semaphore is released.
 * 
 *****************************************************************************/
typedef struct _PVRSRV_QUEUE_INFO_
{
	IMG_VOID			*pvLinQueueKM;		/*!< Pointer to the command buffer in the kernel's 
												 address space */

	IMG_VOID			*pvLinQueueUM;		/*!< Pointer to the command buffer in the user's 
												 address space */

	volatile IMG_UINT32	ui32ReadOffset;			/*!< Index into the buffer at which commands are being 
													 consumed */

	volatile IMG_UINT32	ui32WriteOffset;		/*!< Index into the buffer at which commands are being 
													 added */
			
	PVRSRV_RES_HANDLE			hAccess;		/*!< Access lock */

	IMG_UINT32			*pui32KickerAddr;		/*!< kicker address */

	IMG_UINT32			ui32QueueSize;			/*!< Size in bytes of the buffer - excluding the safety allocation */

	PRESMAN_ITEM		psResItem;				/*!< resource hook */
	
	struct _PVRSRV_QUEUE_INFO_ *psNextKM;			/*!< The next queue in the system */ 
}PVRSRV_QUEUE_INFO;


/*!
 *****************************************************************************
 * A command is an indivisible operations to be by the asynchronous services 
 * code - examples would include :-
 *	- Switch the display to a new memory buffer.
 *	- Start rendering to a surface.
 *	- Start a DMA transfer.
 *
 *	They are deferable - i.e. they do not happen instantly, but will be executed in a 
 *	predictable order.
 *
 *  This structure is the basis for all other command structures and is included in them,
 *
 *   Commands are synchronised in terms of PVRSRV_QUEUE_INFO and PVRSRV_SYNC_INFO objects.
 *	
 *   A command will only be executed when :-
 *	- It is at the head of a queue.
 *	- any previous commands that have read/write accesses to PVRSRV_SYNC_INFO objects it is 
 *	  dependent on with have completed
 *	- all previous commands that read from PVRSRV_SYNC_INFO objects it is 
 *	  dependent on with have completed
 *	- The hardware required for the command is available.
 *
 *****************************************************************************/
typedef struct _PVRSRV_CMD_HEADER_
{
	IMG_UINT32			ui32CommandID;			/*!< Specifies the type of the command */
	IMG_UINT32			ui32Size;				/*!< Number of bytes forming the command */
} PVRSRV_CMD_HEADER;


/*!
 *****************************************************************************
 * Blit command structure enetered into a command queue.
 * Blit commands have one destination MEM_INFOs and up to PVRSRV_MAX_BLT_SRC
 * source MEM_INFOs.
 *****************************************************************************/ 
typedef struct _PVRSRV_BLT_CMD_INFO_
{

	PVRSRV_CMD_HEADER	sCmdInfo;				/*!< Common to all command info structures */
	
	IMG_UINT32			ui32DstNextOpVal;		/*!< Pre condition for cmd execution. 
													dest->NextOp == ui32DstNextOpVal-1 */
	
	IMG_UINT32			ui32DstReadOpsPending;  /*!< Pre condition for cmd execution  
													 dest->ReadsCompleted == ui32DstReadOpsPending */

	PVRSRV_SYNC_INFO	*psDstSyncInfoKM;		/*!< pointer to the Dest's Sync info structre */

	IMG_BOOL 			bUpdatePrimary;			/*!< Single shot display support - Hint for implementation */
	
	IMG_UINT32			ui32NumSrcSyncInfos;	/*!< How many sources are we synchronising with */
	
	PVRSRV_SRCSYNC_INFO asSrcSyncInfo[PVRSRV_MAX_BLT_SRC];
												/*!< Pointers to the SyncInfos within the source MEM_INFOs */
	IMG_UINT32			ui32DataCount;			/*!< Size of the blit data stream in 4 byte units */
	IMG_UINT32			aui32BltData[1];		/*!< Start of the blit data stream. Real array size is ui32DataCount */

}PVRSRV_BLT_CMD_INFO;


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩在线a电影| 成人免费毛片片v| 韩日av一区二区| 国产自产v一区二区三区c| 中文字幕免费一区| 日本一区二区三区国色天香 | 99免费精品在线观看| 91精品国产综合久久香蕉麻豆| 国产欧美日韩在线观看| 免费久久精品视频| 欧美视频在线一区| 国产一区二区三区av电影| 欧美电影精品一区二区| 国产尤物一区二区| 国产精品午夜电影| 欧美视频在线播放| 国产精品1区2区3区在线观看| 久久青草欧美一区二区三区| 成人av手机在线观看| 亚洲最快最全在线视频| 欧美日韩国产片| 九九国产精品视频| 亚洲精品免费在线播放| 欧美区视频在线观看| 国产精品一二二区| 亚洲成人av一区| www国产精品av| 欧美日韩国产综合草草| 91麻豆蜜桃一区二区三区| 日韩制服丝袜av| 亚洲欧美区自拍先锋| 欧美电视剧在线观看完整版| 色老头久久综合| 粉嫩高潮美女一区二区三区| 日韩成人午夜精品| 亚洲大尺度视频在线观看| 久久精品一区二区三区不卡牛牛| 亚洲成av人片一区二区| 欧美mv和日韩mv的网站| 日韩中文字幕区一区有砖一区| 久久久精品国产99久久精品芒果| 夜夜嗨av一区二区三区网页| 日韩欧美中文一区| 久久精品亚洲一区二区三区浴池| 狠狠久久亚洲欧美| 国产三级一区二区| 一道本成人在线| 亚洲影院理伦片| 欧美高清视频一二三区 | 欧美一区二区在线免费播放 | 中文字幕在线观看一区二区| 亚洲欧美乱综合| 国产精品精品国产色婷婷| 中文av一区二区| 国产丝袜欧美中文另类| 日韩欧美美女一区二区三区| 亚洲精品在线观| 国产亚洲精品bt天堂精选| 国产精品乱码一区二区三区软件 | 中文字幕一区av| 亚洲欧洲一区二区三区| 亚洲精品高清在线| 天堂蜜桃91精品| 久久er精品视频| 成人黄色小视频| 51精品视频一区二区三区| 久久综合精品国产一区二区三区 | 91美女片黄在线观看| 国产一区二区美女| 欧美综合在线视频| 免费人成黄页网站在线一区二区| 91精品国产综合久久小美女| 久久综合色婷婷| 亚洲一区二区三区小说| 国产亚洲一二三区| 日韩免费一区二区三区在线播放| 黑人巨大精品欧美一区| 国产精品亲子伦对白| 欧美日韩精品欧美日韩精品| 国产另类ts人妖一区二区| 亚洲福利电影网| 国产三级欧美三级| 制服丝袜在线91| 91色综合久久久久婷婷| 精品一区二区免费| 亚洲国产成人av网| 91美女片黄在线观看91美女| 日本一区二区三区高清不卡| 国产在线看一区| 日韩欧美黄色影院| 日本不卡的三区四区五区| 一本一道久久a久久精品| 国产精品美女久久久久高潮| 国产曰批免费观看久久久| 欧美不卡一二三| 国产精品888| 中文字幕欧美三区| jlzzjlzz欧美大全| 中文字幕视频一区| 884aa四虎影成人精品一区| 亚洲电影激情视频网站| 制服丝袜国产精品| 国产在线精品视频| 一区二区三区精品久久久| 欧美亚洲动漫精品| 久久66热偷产精品| 国产精品久久久久久久久快鸭| 国产91精品一区二区麻豆亚洲| 国产亚洲成aⅴ人片在线观看| 色欧美片视频在线观看| 日日摸夜夜添夜夜添亚洲女人| 国产精品三级电影| 欧美日韩精品电影| 国产一区二区精品在线观看| 51精品视频一区二区三区| 国产精品素人视频| 欧美日韩国产综合视频在线观看| 国产成人午夜精品影院观看视频| 日韩成人av影视| 91色|porny| 国产精品护士白丝一区av| 精品乱码亚洲一区二区不卡| 日韩一区二区三区在线观看| 91精品国产免费| 91老师国产黑色丝袜在线| 欧美tk丨vk视频| 欧美美女黄视频| 欧美专区亚洲专区| 欧美无砖专区一中文字| 欧美另类久久久品| 2014亚洲片线观看视频免费| 亚洲国产电影在线观看| 日韩伦理av电影| 视频一区视频二区在线观看| 亚洲最大的成人av| 麻豆国产91在线播放| 91亚洲精品乱码久久久久久蜜桃| 欧美少妇一区二区| 国产嫩草影院久久久久| 一区二区三区免费观看| 精品无人码麻豆乱码1区2区| 97国产一区二区| 久久久精品免费观看| 偷拍一区二区三区四区| 成人av资源在线观看| 日韩一二三四区| 亚洲国产精品久久艾草纯爱| 国产成人精品免费看| 欧美v亚洲v综合ⅴ国产v| 五月天久久比比资源色| 99国内精品久久| 一区视频在线播放| 国产不卡免费视频| 26uuu亚洲婷婷狠狠天堂| 青青青伊人色综合久久| 欧美高清视频在线高清观看mv色露露十八 | 国产在线不卡一区| 精品区一区二区| 韩国三级在线一区| 久久久亚洲精品一区二区三区| 国内精品久久久久影院色| 久久久五月婷婷| 成人av网站免费| 亚洲一区二区偷拍精品| 91麻豆精品国产自产在线观看一区| 五月天激情综合网| 久久久91精品国产一区二区精品 | 国产成人免费在线观看| 亚洲美女在线国产| 欧美日韩在线电影| 国产成人在线网站| 亚洲成人tv网| 国产婷婷精品av在线| 欧洲一区二区三区免费视频| 亚洲成人免费观看| 欧美激情综合五月色丁香| 欧美日韩亚洲综合在线| 国产高清一区日本| 香蕉加勒比综合久久| 国产精品久久久久永久免费观看| 6080午夜不卡| 99re热视频精品| 久久国内精品视频| 日韩精品免费视频人成| 亚洲女人小视频在线观看| 欧美大片一区二区| 欧洲精品视频在线观看| 成人高清av在线| 经典一区二区三区| 美女尤物国产一区| 首页国产欧美日韩丝袜| 性做久久久久久免费观看欧美| 亚洲丝袜精品丝袜在线| 国产精品美女久久久久久久| 精品国产乱码91久久久久久网站| 色哟哟在线观看一区二区三区| 国产一区二区三区黄视频 | 亚洲不卡在线观看| 亚洲国产精品麻豆| 午夜精品福利在线|