summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2010-04-30 13:33:54 -0700
committerKeith Packard <keithp@keithp.com>2010-06-06 16:00:12 -0700
commit42ddc39430a10513c49a415ddf1a0dc5fa52089e (patch)
tree017a90e54a017bd36d74fa592eb9ff85c16255d3
parent2c1fda08e889cad07acb452230da06f9c383d21c (diff)
Adapt to DevPrivate API changes
This allows the driver to be built against either the old or new DevPrivate API. Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r--src/i830.h4
-rw-r--r--src/i830_uxa.c8
-rw-r--r--uxa/uxa-priv.h5
-rw-r--r--uxa/uxa.c8
4 files changed, 25 insertions, 0 deletions
diff --git a/src/i830.h b/src/i830.h
index 8c968414..ea4f2c40 100644
--- a/src/i830.h
+++ b/src/i830.h
@@ -154,7 +154,11 @@ struct intel_pixmap {
struct list flush, batch, in_flight;
};
+#if HAS_DEVPRIVATEKEYREC
+extern DevPrivateKeyRec uxa_pixmap_index;
+#else
extern int uxa_pixmap_index;
+#endif
static inline struct intel_pixmap *i830_get_pixmap_intel(PixmapPtr pixmap)
{
diff --git a/src/i830_uxa.c b/src/i830_uxa.c
index e76f2cff..bf364f83 100644
--- a/src/i830_uxa.c
+++ b/src/i830_uxa.c
@@ -79,7 +79,11 @@ const int I830PatternROP[16] = {
ROP_1
};
+#if HAS_DEVPRIVATEKEYREC
+DevPrivateKeyRec uxa_pixmap_index;
+#else
int uxa_pixmap_index;
+#endif
static void
ironlake_blt_workaround(ScrnInfoPtr scrn)
@@ -1076,7 +1080,11 @@ Bool i830_uxa_init(ScreenPtr screen)
ScrnInfoPtr scrn = xf86Screens[screen->myNum];
intel_screen_private *intel = intel_get_screen_private(scrn);
+#if HAS_DIXREGISTERPRIVATEKEY
+ if (!dixRegisterPrivateKey(&uxa_pixmap_index, PRIVATE_PIXMAP, 0))
+#else
if (!dixRequestPrivate(&uxa_pixmap_index, 0))
+#endif
return FALSE;
intel->uxa_driver = uxa_driver_alloc();
diff --git a/uxa/uxa-priv.h b/uxa/uxa-priv.h
index 9d99a731..47b62d4f 100644
--- a/uxa/uxa-priv.h
+++ b/uxa/uxa-priv.h
@@ -166,7 +166,12 @@ typedef struct {
(PixmapWidthPaddingInfo[d].padRoundUp+1)))
#endif
+#if HAS_DEVPRIVATEKEYREC
+extern DevPrivateKeyRec uxa_screen_index;
+#else
extern int uxa_screen_index;
+#endif
+
static inline uxa_screen_t *uxa_get_screen(ScreenPtr screen)
{
return (uxa_screen_t *) dixLookupPrivate(&screen->devPrivates,
diff --git a/uxa/uxa.c b/uxa/uxa.c
index 32b007d6..cef480f7 100644
--- a/uxa/uxa.c
+++ b/uxa/uxa.c
@@ -39,7 +39,11 @@
#include "dixfontstr.h"
#include "uxa.h"
+#if HAS_DEVPRIVATEKEYREC
+DevPrivateKeyRec uxa_screen_index;
+#else
int uxa_screen_index;
+#endif
/**
* uxa_get_drawable_pixmap() returns a backing pixmap for a given drawable.
@@ -467,6 +471,10 @@ Bool uxa_driver_init(ScreenPtr screen, uxa_driver_t * uxa_driver)
"non-NULL\n", screen->myNum);
return FALSE;
}
+#if HAS_DIXREGISTERPRIVATEKEY
+ if (!dixRegisterPrivateKey(&uxa_screen_index, PRIVATE_SCREEN, 0))
+ return FALSE;
+#endif
uxa_screen = calloc(sizeof(uxa_screen_t), 1);
if (!uxa_screen) {