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

📄 pvr_bridge.h

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

	PVRSRV_DEV_INFO *psDevInfo;
	PVRSRV_PRIMARY_SURF *psPrimSurf;
}PVRSRV_BRIDGE_IN_RELEASEPRIMARY;

/*!
 *****************************************************************************
 *	`bridge in' register primary
 *****************************************************************************/ 

typedef struct PVRSRV_BRIDGE_IN_REGISTERPRIMARY_TAG {
	PVRSRV_DEV_INFO *psDevInfo;
	PVRSRV_PRIMARY_SURF sPrimary;
}PVRSRV_BRIDGE_IN_REGISTERPRIMARY;

/*!
 *****************************************************************************
 *	`bridge in' unmap memory
 *****************************************************************************/ 
typedef struct PVRSRV_BRIDGE_IN_UNMAPMEMORY_TAG {
	IMG_VOID *pvUserAddress;
	IMG_UINT32 ui32Length;
} PVRSRV_BRIDGE_IN_UNMAPMEMORY;

/*!
 *****************************************************************************
 *	`bridge in' wrap memory
 *****************************************************************************/ 

typedef struct PVRSRV_BRIDGE_IN_WRAPDEVICEMEM_TAG {
	PVRSRV_DEV_INFO *psDevInfo;
	IMG_UINT32 ui32Flags;
	IMG_UINT32 ui32Size;
	IMG_UINT32 ui32Alignment;
	IMG_SYS_PHYADDR baseAddr;
}PVRSRV_BRIDGE_IN_WRAPDEVICEMEM;


#ifdef PDUMP
/*!
 *****************************************************************************
 *	`bridge in' pdump data
 *****************************************************************************/ 
typedef struct PVRSRV_BRIDGE_IN_PDUMP_DATA_TAG {
	IMG_VOID *pvData;
	IMG_UINT32 ui32Bytes;
} PVRSRV_BRIDGE_IN_PDUMP_DATA;


/*!
 *****************************************************************************
 *	`bridge in' pdump cmd
 *****************************************************************************/ 
typedef struct PVRSRV_BRIDGE_IN_PDUMP_COMMAND_TAG {

	PDUMP_TYPE						ePDumpCommandType;
	PDUMP_CONTEXT					*psPDumpContext;
	IMG_HANDLE						hServicesHandleUM;

	/*
	* Union to hold info specific to pdump command info
	*/
	union {
		struct {
			IMG_BOOL		bInitialise;
		} sInit;

		struct {
			PVRSRV_MEM_INFO	*psMemInfo;
		} sDumpTex;

		struct {
			IMG_UINT32		ui32PDumpRegType;
			IMG_UINT32		ui32RegCount;
			PVRSRV_HWREG	psRegs[PDUMP_MAX_BRIDGED_REG_COUNT];
		} sWriteReg;

		struct {
			IMG_UINT32		ui32PDumpSPType;
			IMG_UINT32		ui32DataCount;
			IMG_UINT32		pui32Data[PDUMP_MAX_BRIDGED_DATA_COUNT];
		} sWriteSP;

		struct {
			IMG_UINT32		ui32PDumpRegType;
			IMG_UINT32		ui32Addr;
			IMG_UINT32		ui32Mask;
			IMG_UINT32		ui32Value;
			IMG_UINT32		ui32A;
			IMG_UINT32		ui32B;
			IMG_UINT32		ui32C;
		} sWritePoll;

		struct {
			IMG_UINT32		ui32StrLen;
			IMG_CHAR		pszString[256];
		} sWriteString;
	 }sPDumpData;
} PVRSRV_BRIDGE_IN_PDUMP_COMMAND;

#endif /* PDUMP */

/*****************************************************************************
 * Output structures for BRIDGEs 
 ****************************************************************************/

/*!
 *****************************************************************************
 *	`bridge out' enum. devices
 *****************************************************************************/ 
typedef struct PVRSRV_BRIDGE_OUT_ENUMDEVICE_TAG {
	PVRSRV_ERROR eError;
	IMG_UINT32 ui32NumDevices;
	PVRSRV_DEVICE_IDENTIFIER asDeviceIdentifier[PVRSRV_MAX_DEVICES];

}PVRSRV_BRIDGE_OUT_ENUMDEVICE;


/*!
 *****************************************************************************
 *	`bridge out' acquire device info
 *****************************************************************************/ 
typedef struct PVRSRV_BRIDGE_OUT_ACQUIRE_DEVICEINFO_TAG {

	PVRSRV_ERROR		eError;
	PVRSRV_DEV_DATA		sDevData;

} PVRSRV_BRIDGE_OUT_ACQUIRE_DEVICEINFO;


/*!
 *****************************************************************************
 *	`bridge out' get free device memory
 *****************************************************************************/ 
typedef struct PVRSRV_BRIDGE_OUT_GETFREEDEVICEMEM_TAG {
	PVRSRV_ERROR eError;
	IMG_UINT32 ui32Total;
	IMG_UINT32 ui32Free;
	IMG_UINT32 ui32LargestBlock;

} PVRSRV_BRIDGE_OUT_GETFREEDEVICEMEM;

/*!
 *****************************************************************************
 *	`bridge out' query primary
 *****************************************************************************/ 

typedef struct PVRSRV_BRIDGE_OUT_QUERYPRIMARY_TAG {
	PVRSRV_ERROR eError;
	PVRSRV_PRIMARY_SURF_INFO sPrimarySurfInfo;
} PVRSRV_BRIDGE_OUT_QUERYPRIMARY;

/*!
 *****************************************************************************
 *	`bridge out' wrap device mem
 *****************************************************************************/ 
typedef struct PVRSRV_BRIDGE_OUT_WRAPDEVICEMEM_TAG {
	PVRSRV_ERROR eError;
	PVRSRV_MEM_INFO *psMemInfo;
}PVRSRV_BRIDGE_OUT_WRAPDEVICEMEM;


#ifdef SUPPORT_DEVCLASS_MPEG
/*!
 *****************************************************************************
 *	`bridge out' mpeg connect
 *****************************************************************************/ 
typedef struct PVRSRV_BRIDGE_IN_MPEGCONNECT_TAG 
{
	PVRSRV_DEV_INFO *psDevInfo;
	IMG_BOOL		bConnect;
} PVRSRV_BRIDGE_IN_MPEGCONNECT;

#ifdef SUPPORT_3D_BLIT
/*!
 *****************************************************************************
 *	`bridge out' overlay blit resource init
 *****************************************************************************/ 
typedef struct PVRSRV_BRIDGE_IN_INIT_OVL_BLIT_RSC_TAG 
{
	PVRSRV_DEV_INFO *psDevInfo;
	IMG_BOOL		bConnect;
	IMG_UINT32		ui32SrcWidth;
	IMG_UINT32		ui32SrcHeight;
	IMG_UINT32		ui32SrcStride;
	IMG_UINT32		ui32DstStride;
	IMG_UINT32		ui32Rotation;
} PVRSRV_BRIDGE_IN_INIT_OVL_BLIT_RSC;
/*!
 *****************************************************************************
 *	`bridge out' overlay blit resource deinit
 *****************************************************************************/ 
typedef struct PVRSRV_BRIDGE_IN_DEINIT_OVL_BLIT_RSC_TAG 
{
	PVRSRV_DEV_INFO *psDevInfo;
} PVRSRV_BRIDGE_IN_DEINIT_OVL_BLIT_RSC;
#endif /* SUPPORT_3D_BLIT */

#endif
/*****************************************************************************
 *	`bridge out' get FB mem stats
 *****************************************************************************/ 
typedef struct PVRSRV_BRIDGE_IN_GET_FB_STATS_TAG 
{
	IMG_UINT32 ui32Total;
	IMG_UINT32 ui32Available;
} PVRSRV_BRIDGE_IN_GET_FB_STATS;


#if defined(NEW_LINUX_MUTEX)
typedef struct PVRSRV_BRIDGE_OUT_MUTEX_TABLE_TAG {
	PVRSRV_ERROR eError;
	IMG_UINT32  ui32TableSize;
	IMG_VOID  * pvTableAddress;

} PVRSRV_BRIDGE_OUT_MUTEX_TABLE;
#endif

/***************************************************************************** 
 * Function prototypes 
 *****************************************************************************/

PVRSRV_ERROR OpenServices(IMG_CHAR* szDevicePath, IMG_HANDLE *phServices);
PVRSRV_ERROR CloseServices(IMG_HANDLE hServices);
IMG_RESULT PVRSRVBridgeCall(IMG_HANDLE hServices,
							IMG_UINT32 ui32FunctionID,
							IMG_VOID *pvParamIn,
							IMG_UINT32 ui32InBufferSize,
							IMG_VOID *pvParamOut,
							IMG_UINT32	ui32OutBufferSize);
#if defined PDUMP
PVRSRV_ERROR PVRSRVPDumpCommand (PVRSRV_BRIDGE_IN_PDUMP_COMMAND *psCommandData);
#endif /* PDUMP */

#if defined (__cplusplus)
}
#endif

⌨️ 快捷键说明

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