blob: cc149e81a221289cf05e4c1acde1f013af7e6464 [file] [log] [blame]
#ifndef _PVRSRV_SYNC_SERVER_H_
#define _PVRSRV_SYNC_SERVER_H_
#include "img_types.h"
#include "pvrsrv_sync_km.h"
#define SYNC_SW_TIMELINE_MAX_LENGTH PVRSRV_SYNC_NAME_LENGTH
#define SYNC_SW_FENCE_MAX_LENGTH PVRSRV_SYNC_NAME_LENGTH
/*****************************************************************************/
/* */
/* SW TIMELINE SPECIFIC FUNCTIONS */
/* */
/*****************************************************************************/
PVRSRV_ERROR SyncSWTimelineFenceCreateKM(PVRSRV_TIMELINE iSWTimeline,
IMG_UINT32 ui32NextSyncPtVal,
const IMG_CHAR *pszFenceName,
PVRSRV_FENCE *piOutputFence);
PVRSRV_ERROR SyncSWTimelineAdvanceKM(SYNC_TIMELINE_OBJ pvSWTimelineObj);
PVRSRV_ERROR SyncSWTimelineReleaseKM(SYNC_TIMELINE_OBJ pvSWTimelineObj);
PVRSRV_ERROR SyncSWTimelineFenceReleaseKM(SYNC_FENCE_OBJ pvSWFenceObj);
PVRSRV_ERROR SyncSWTimelineFenceWaitKM(SYNC_FENCE_OBJ pvSWFenceObj,
IMG_UINT32 uiTimeout);
PVRSRV_ERROR SyncSWGetTimelineObj(PVRSRV_TIMELINE iSWTimeline,
SYNC_TIMELINE_OBJ *ppvSWTimelineObj);
PVRSRV_ERROR SyncSWGetFenceObj(PVRSRV_FENCE iSWFence,
SYNC_FENCE_OBJ *ppvSWFenceObj);
IMG_BOOL PVRSRVIsTimelineValidKM(PVRSRV_TIMELINE iTimeline);
IMG_BOOL PVRSRVIsFenceValidKM(PVRSRV_FENCE iFence);
#endif /* _PVRSRV_SYNC_SERVER_H_ */