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

📄 services.h

📁 Lido PXA270平台开发板的最新BSP,包括源代码
💻 H
📖 第 1 页 / 共 5 页
字号:
IMG_IMPORT
IMG_VOID WriteHWReg(IMG_PVOID pvLinRegBaseAddr, IMG_UINT32 ui32Offset, IMG_UINT32 ui32Value);

IMG_IMPORT IMG_VOID WriteHWRegs(IMG_PVOID pvLinRegBaseAddr, IMG_UINT32 ui32Count, PVRSRV_HWREG *psHWRegs);

IMG_IMPORT PVRSRV_ERROR PollForValue (volatile IMG_UINT32 *pui32LinMemAddr,
									IMG_UINT32 ui32Value,
									IMG_UINT32 ui32Mask,
									IMG_UINT32 ui32Waitus,
									IMG_UINT32 ui32Tries);
IMG_IMPORT PVRSRV_ERROR PollForValueKM (volatile IMG_UINT32 *pui32LinMemAddr,
												 IMG_UINT32 ui32Value,
												 IMG_UINT32 ui32Mask,
												 IMG_UINT32 ui32Waitus,
												 IMG_UINT32 ui32Tries);
IMG_IMPORT
PVRSRV_ERROR IMG_CALLCONV PVRSRVReleaseDeviceData (PVRSRV_DEV_DATA *psDevData);

IMG_IMPORT
PVRSRV_ERROR IMG_CALLCONV PVRSRVGetHWInfo (	PVRSRV_DEV_DATA	 *psDevData,
											PVRSRV_HW_INFO *psHWInfo);
IMG_IMPORT
PVRSRV_ERROR IMG_CALLCONV PVRSRVReleaseHWInfo (	PVRSRV_DEV_DATA	 *psDevData,
												PVRSRV_HW_INFO *psHWInfo);

IMG_IMPORT
PVRSRV_ERROR IMG_CALLCONV PVRSRVAllocDeviceMem (PVRSRV_DEV_DATA	*psDevData,
												IMG_UINT32			 ui32Flags,
												IMG_UINT32			 ui32Size,
												IMG_UINT32			 ui32Alignment,
												PVRSRV_MEM_INFO **ppsMemInfo);
IMG_IMPORT
PVRSRV_ERROR IMG_CALLCONV PVRSRVWrapDeviceMem (PVRSRV_DEV_DATA	*psDevData,
												IMG_UINT32			 ui32Flags,
												IMG_UINT32			 ui32Size,
												IMG_UINT32			 ui32Alignment,
												 IMG_SYS_PHYADDR     baseAddr,
												PVRSRV_MEM_INFO **ppsMemInfo);
IMG_IMPORT
PVRSRV_ERROR IMG_CALLCONV PVRSRVFreeDeviceMem (	PVRSRV_DEV_DATA *psDevData,
												PVRSRV_MEM_INFO *psMemInfo);
IMG_IMPORT
PVRSRV_ERROR IMG_CALLCONV PVRSRVGetFreeDeviceMem (	PVRSRV_DEV_DATA		*psDevData,
													IMG_UINT32			ui32Flags,
													IMG_UINT32			*pui32Total,
													IMG_UINT32			*pui32Free,
													IMG_UINT32			*pui32LargestBlock);

IMG_IMPORT
PVRSRV_ERROR IMG_CALLCONV PVRSRVDeviceRemapMemInfo(	PVRSRV_DEV_DATA *psOwningDevData, 
													PVRSRV_MEM_INFO *psMemInfo, 
													IMG_UINT32 uFlags, 
													PVRSRV_DEV_DATA *psTargetDevData, 
													IMG_UINT32 *pui32RemappedAddr);
#ifdef SUPPORT_POWER_STATE
IMG_IMPORT
PVRSRV_ERROR IMG_CALLCONV PVRSRVSetPowerState (PPVRSRV_DEV_DATA psDevData,
								   IMG_BOOL			bPoweringDown,
								   PVR_POWER_STATE	ePVRState);
#endif
IMG_IMPORT
PVRSRV_ERROR IMG_CALLCONV PVRSRVCreateParameterBuffer (	PVRSRV_DEV_DATA	 *psDevData,
														IMG_UINT32 ui32ParamBuffSize);

IMG_IMPORT
PVRSRV_ERROR IMG_CALLCONV PVRSRVDestroyParameterBuffer (PVRSRV_DEV_DATA *psDevData);

IMG_IMPORT
PVRSRV_ERROR IMG_CALLCONV PVRSRVAddRenderTarget(PVRSRV_DEV_DATA *psDevData, 
												IMG_UINT32 ui32Width, 
												IMG_UINT32 ui32Height,
												IMG_UINT32 ui32Flags,
												PVRSRV_TARENDERINFO **ppsTARenderInfo);

IMG_IMPORT
PVRSRV_ERROR IMG_CALLCONV PVRSRVRemoveRenderTarget(	PPVRSRV_DEV_DATA	psDevData,
													PVRSRV_TARENDERINFO *psInfo);

IMG_IMPORT
PVRSRV_ERROR IMG_CALLCONV PVRSRVDiscardTAScene (PVRSRV_DEV_INFO			*psDevInfo,
												PVRSRV_TARENDERINFO		*psTARenderInfo,
												PVRSRV_HW_INFO			*psHWInfo,
												IMG_BOOL				bDoIgnoreStreamError);
#ifdef FIX_HW_PRN_335 
IMG_EXPORT
PVRSRV_ERROR IMG_CALLCONV PVRSRVDiscardCompletedTAScene (PVRSRV_DEV_INFO		*psDevInfo,
														 PVRSRV_TARENDERINFO	*psTARenderInfo,
														 PVRSRV_HW_INFO			*psHWInfo);
#endif

IMG_IMPORT
PVRSRV_ERROR IMG_CALLCONV PVRSRVAcquireTA(	PVRSRV_DEV_INFO 	*psDevInfo,
											PVRSRV_TARENDERINFO	*psTARenderInfo,
											PVRSRV_HW_INFO		*psHWInfo,
									   		IMG_BOOL			bFirstTAInScene,		
									   		IMG_BOOL			bBlock,
									   		IMG_BOOL		   	*pbHasContextSwitched);

IMG_IMPORT
PVRSRV_ERROR IMG_CALLCONV PVRSRVReleaseTA(	PVRSRV_DEV_INFO *psDevInfo,
											IMG_BOOL bSceneTerminated);

IMG_IMPORT
PVRSRV_ERROR IMG_CALLCONV PVRSRVAcquireSlavePort(	PVRSRV_DEV_INFO *psDevInfo,
													PVRSRV_SLAVEPORT_TYPE eSlavePortType,
													IMG_BOOL 				bBlock);

IMG_IMPORT
PVRSRV_ERROR IMG_CALLCONV PVRSRVReleaseSlavePort(	PVRSRV_DEV_INFO *psDevInfo,
													PVRSRV_SLAVEPORT_TYPE eSlavePortType);
IMG_IMPORT
PVRSRV_ERROR IMG_CALLCONV PVRSRVAcquire3DFifoSpace (PVRSRV_DEV_INFO	*psDevInfo,
													PVRSRV_HW_INFO	*psHWInfo,
												   	IMG_UINT32	   	*pui32BytesObtained);
IMG_IMPORT												   	
PVRSRV_ERROR IMG_CALLCONV PVRSRVAcquire3DFifoSpaceISR (PVRSRV_DEV_INFO	*psDevInfo,
													IMG_VOID		*pvRegsBase,
												   	IMG_UINT32	   	*pui32BytesObtained);
IMG_IMPORT												   	
PVRSRV_ERROR IMG_CALLCONV PVRSRVAcquire3DFifoSpaceBlock (PVRSRV_DEV_INFO	*psDevInfo,
														PVRSRV_HW_INFO		*psHWInfo,
														IMG_UINT32	  	 	ui32BytesRequired);
IMG_IMPORT														
PVRSRV_ERROR IMG_CALLCONV PVRSRVAcquire2DFifoSpace (PVRSRV_DEV_INFO	*psDevInfo,
													IMG_VOID		*pvRegsBase,
												   	IMG_UINT32	   	*pui32BytesObtained);
IMG_IMPORT												   	
PVRSRV_ERROR IMG_CALLCONV PVRSRVAcquire2DFifoSpaceISR (PVRSRV_DEV_INFO	*psDevInfo,
													IMG_VOID		*pvRegsBase,
												   	IMG_UINT32	   	*pui32BytesObtained);
IMG_IMPORT												   	
PVRSRV_ERROR IMG_CALLCONV PVRSRVAcquire2DFifoSpaceBlock (PVRSRV_DEV_INFO	*psDevInfo,
														IMG_VOID			*pvRegsBase,
														IMG_UINT32	  	 	ui32BytesRequired);
IMG_IMPORT														
PVRSRV_ERROR IMG_CALLCONV PVRSRVRelease3DFifoSpace (PVRSRV_DEV_INFO *psDevInfo,
													IMG_UINT32 ui32Bytes);
IMG_IMPORT													
PVRSRV_ERROR IMG_CALLCONV PVRSRVRelease2DFifoSpace (PVRSRV_DEV_INFO *psDevInfo,
													IMG_UINT32 ui32Bytes);
IMG_IMPORT
IMG_VOID PVRSRVWriteSlavePort (PPVRSRV_DEV_SLAVE_PORT psSlavePort, 
								   IMG_UINT32 ui32Value);
IMG_IMPORT
PVRSRV_ERROR PVRSRVWriteSlavePortBatch (PPVRSRV_DEV_SLAVE_PORT psSlavePort,
							  IMG_PVOID pvLinDataAddr,
							  IMG_UINT32 ui32Bytes);
IMG_IMPORT
PVRSRV_ERROR IMG_CALLCONV PVRSRVCreateCommandQueue(	PVRSRV_DEV_DATA *psDevData, 
													IMG_UINT32 ui32QueueSize, 
												  	PVRSRV_QUEUE_INFO **ppsQueueInfo);

IMG_IMPORT
PVRSRV_ERROR IMG_CALLCONV PVRSRVDestroyCommandQueue(PVRSRV_DEV_DATA *psDevData, 
													PVRSRV_QUEUE_INFO *psQueueInfo);
IMG_IMPORT
PVRSRV_ERROR IMG_CALLCONV PVRSRVFlushQueue (PVRSRV_QUEUE_INFO *psQueueInfo);

IMG_IMPORT
IMG_UINT32 IMG_CALLCONV PVRSRVGetNextWriteOp(PVRSRV_SYNC_INFO *psSyncInfo, IMG_BOOL bIsReadOp);

IMG_IMPORT
IMG_UINT32 IMG_CALLCONV PVRSRVGetReadOpsPending(PVRSRV_SYNC_INFO *psSyncInfo, IMG_BOOL bIsReadOp);

IMG_IMPORT
PVRSRV_ERROR IMG_CALLCONV PVRSRVReleaseQueue(PVRSRV_QUEUE_INFO *psQueue);

IMG_IMPORT
IMG_VOID * IMG_CALLCONV PVRSRVGetQueueSpace(PVRSRV_QUEUE_INFO *psQueue, IMG_UINT32 ui32ParamSize);

IMG_IMPORT
IMG_VOID IMG_CALLCONV PVRSRVUpdateQueue(PVRSRV_QUEUE_INFO *psQueue, 
										IMG_UINT32 ui32ParamSize);

IMG_IMPORT
PVRSRV_ERROR IMG_CALLCONV PVRSRVQueueRender(PVRSRV_QUEUE_INFO *psQueue, 
											PVRSRV_TARENDERINFO *psTARenderInfo,
											PVRSRV_BGOBJ_INFO *psBGObjInfo,
											IMG_BOOL bExternalDepthBuffer,
											PVRSRV_SYNC_INFO *psDstSync,
											IMG_UINT32 ui32NumSrcSyncs, 
											PVRSRV_SYNC_INFO *apsSrcSync[], 
											IMG_UINT32 ui32NumRegs, 
											PVRSRV_HWREG *psRegs);

IMG_IMPORT
PVRSRV_ERROR IMG_CALLCONV PVRSRVQueueBlt(	PVRSRV_QUEUE_INFO *psQueue, 
											PVRSRV_SYNC_INFO *psDstSync,
											IMG_UINT32 ui32NumSrcSyncs, 
											PVRSRV_SYNC_INFO *apsSrcSync[], 
											IMG_UINT32 ui32DataSize, 
											IMG_UINT32 *pui32BltData);
#if defined(SUPPORT_3D_BLIT)

PVRSRV_ERROR IMG_CALLCONV PVRSRVSetup3Dblit ( 	PVRSRV_QUEUE_INFO 	*psQueue,
												PVRSRV_DEV_INFO	*psDevInfo,
								 				PVRSRV_HW_INFO 	*psHWInfo,
								 				MBX_3DBLIT_PARAMS	*ps3DParams );

PVRSRV_ERROR IMG_CALLCONV PVRSRVSetupOverlay3Dblit ( PVRSRV_QUEUE_INFO 	*psQueue,
										 			 PVRSRV_DEV_INFO	*psDevInfo,
													 PVRSRV_HW_INFO 	*psHWInfo,
													 MBX_3DBLIT_PARAMS	*ps3DParams );
#endif

IMG_IMPORT
PVRSRV_ERROR IMG_CALLCONV PVRSRVQueueFlip(PVRSRV_QUEUE_INFO *psQueue, 
											PVRSRV_SYNC_INFO *psToSync,
											PVRSRV_SYNC_INFO *psFromSync,
											PVRSRV_MEM_INFO *psFlipSurface,
											IMG_BOOL		 bFlipOnVsync,
											IMG_UINT32		 ui32FlipInterval);

IMG_IMPORT
PVRSRV_ERROR IMG_CALLCONV PVRSRVQueueOverlayFlip(PVRSRV_QUEUE_INFO *psQueue, 
												PVRSRV_SYNC_INFO *psToSync,
												PVRSRV_SYNC_INFO *psFromSync,
												PVRSRV_MEM_INFO *psFlipSurface,
												IMG_BOOL		 bFlipOnVsync,
												IMG_UINT32		 ui32FlipInterval,
												IMG_UINT32* pui32OverlayConfig,
												IMG_UINT32 ui32OverlayConfigSize);

IMG_IMPORT
PVRSRV_ERROR PVRSRVQueueLock(	PVRSRV_QUEUE_INFO *psQueue, 
								PVRSRV_SYNC_INFO	*psSync,
								PVRSRV_MUTEX_HANDLE *phWaitEventHandle,
								IMG_BOOL			bLockSurface,
								IMG_BOOL			bPrimary);

IMG_IMPORT
PVRSRV_ERROR IMG_CALLCONV PVRSRVQueueUpdateDisplay(PVRSRV_QUEUE_INFO *psQueue, 
										   	PVRSRV_SYNC_INFO *psDestSync);

/***************************************************************************** 
  DISPLAY DEVICE INTERFACE FUNCTIONS
*****************************************************************************/

IMG_IMPORT
PVRSRV_ERROR IMG_CALLCONV PVRSRVQueryPrimary(	PVRSRV_DEV_DATA *psDevData,
												PVRSRV_PRIMARY_SURF_INFO *psPrimarySurfInfo);


IMG_IMPORT
PVRSRV_ERROR IMG_CALLCONV PVRSRVAcquirePrimary(	PVRSRV_DEV_DATA *psDevData,
												IMG_UINT32 ui32Flags,
												IMG_UINT32 uiPixelWidth,
												IMG_UINT32 uiPixelHeight,
												PVRSRV_PIXEL_FORMAT ePixelFormat,
												PVRSRV_PRIMARY_SURF **ppsPrimarySurf);
IMG_IMPORT
PVRSRV_ERROR IMG_CALLCONV PVRSRVReleasePrimary(	PVRSRV_DEV_DATA *psDevData,
												PVRSRV_PRIMARY_SURF *psPrimSurf);
IMG_IMPORT
PVRSRV_ERROR IMG_CALLCONV PVRSRVRegisterPrimary(PVRSRV_DEV_DATA *psDevData,
												PVRSRV_PRIMARY_SURF sPrimSurf);

IMG_IMPORT 
PVRSRV_ERROR IMG_CALLCONV PVRSRVResManConnect(IMG_UINT32 ui32ProcID, IMG_BOOL bConnect);

IMG_IMPORT
PVRSRV_ERROR IMG_CALLCONV PVRSRVGetAppHint (IMG_MODULE_ID eModuleID, IMG_CHAR *pszAppName, 
							   IMG_CHAR *pszHintName, IMG_VOID *pReturn, IMG_DATA_TYPE eDataType, IMG_VOID *pDefault);

IMG_IMPORT
PVRSRV_ERROR PVRSRVConnectMPEGApplication(PVRSRV_DEV_DATA *psDevData, IMG_BOOL bConnect);

#if defined(SUPPORT_3D_BLIT)
PVRSRV_ERROR PVRSRVInitOverlayBltResources(PVRSRV_DEV_DATA *psDevData, 
										   IMG_UINT32		ui32SrcWidth, 
										   IMG_UINT32		ui32SrcHeight,
										   IMG_UINT32		ui32SrcStride,
										   IMG_UINT32		ui32DstStride,
										   IMG_UINT32		ui32Rotation);

IMG_VOID PVRSRVDeInitOverlayBltResources(PVRSRV_DEV_DATA *psDevData);
#endif

PVRSRV_ERROR PVRSRVGetFBStats(PVRSRV_DEV_DATA *psDevData, 
							  IMG_UINT32	  *pui32Total, 
							  IMG_UINT32	  *pui32Available);

#if defined(PDUMP)
/*****************************************************************************
 PDump specifics
*****************************************************************************/

/*****************************************************************************
 Defines
*****************************************************************************/

/*
 *	Initial number of entries in each texture list
 */
#define PDUMP_TEXLIST_SIZE		500

/*
 *	Number of entries to add when growing texture lists
 */
#define PDUMP_TEXLIST_GROWTH		500

/*
 *	Flags for denoting the properties of a dumped texture
 */
#define PDUMP_TEXLIST_FLAGS_MIPMAP	0x00000001
#define PDUMP_TEXLIST_FLAGS_AGP		0x00000002

#define PDUMP_MESSAGE_BUFFER_SIZE 1024

#define PDUMP_BUFSIZE (10*1024)	//in IMG_UINT32S

/*
	Flags to denote the size of data packets passed
	during PDUMP bridging
*/
#define PDUMP_MAX_BRIDGED_REG_COUNT		32
#define PDUMP_MAX_BRIDGED_DATA_COUNT	512 //in IMG_UINT32S

/*****************************************************************************
 Tag enums
*****************************************************************************/

typedef enum _PDUMPTAGS_SP_
{
	PDUMPTAGS_SP_MBX_DATA,					/* MBX */
	PDUMPTAGS_SP_MBX_TERM,
	PDUMPTAGS_SP_MBX_2D,

	PDUMPTAGS_SP_M24VA_CM

⌨️ 快捷键说明

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