📄 services.h
字号:
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 + -