Xext: add a private field to SyncSystemCounters

Will be used to store counter-specific data.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: James Jones <jajones@nvidia.com>
This commit is contained in:
Peter Hutterer 2012-03-13 09:28:15 +10:00
parent 3ddae647c3
commit 90e6dc6de1
2 changed files with 11 additions and 0 deletions

View File

@ -113,6 +113,14 @@ static void SyncInitServerTime(void);
static void SyncInitIdleTime(void);
static inline void*
SysCounterGetPrivate(SyncCounter *counter)
{
BUG_WARN(!IsSystemCounter(counter));
return counter->pSysCounterInfo ? counter->pSysCounterInfo->private : NULL;
}
static Bool
SyncCheckWarnIsCounter(const SyncObject * pSync, const char *warning)
{
@ -958,6 +966,7 @@ SyncCreateSystemCounter(const char *name,
psci->counterType = counterType;
psci->QueryValue = QueryValue;
psci->BracketValues = BracketValues;
psci->private = NULL;
XSyncMaxValue(&psci->bracket_greater);
XSyncMinValue(&psci->bracket_less);
xorg_list_add(&psci->entry, &SysCounterList);
@ -1106,6 +1115,7 @@ FreeCounter(void *env, XID id)
}
if (IsSystemCounter(pCounter)) {
xorg_list_del(&pCounter->pSysCounterInfo->entry);
free(pCounter->pSysCounterInfo->private);
free(pCounter->pSysCounterInfo);
}
free(pCounter);

View File

@ -83,6 +83,7 @@ typedef struct _SysCounterInfo {
SyncCounterType counterType; /* how can this counter change */
SyncSystemCounterQueryValue QueryValue;
SyncSystemCounterBracketValues BracketValues;
void *private;
struct xorg_list entry;
} SysCounterInfo;