summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2010-04-30 13:33:54 -0700
committerOwain G. Ainsworth <oga@openbsd.org>2010-06-07 21:07:57 +0100
commit34ce21b8537a1873b70437b273f3d6b46ed5b443 (patch)
tree71c565c4e48398df927da1e1aa290abafcd5144d
parentae9f6675da8663d3b2706c7975c6160fea23f676 (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> (cherry picked from commit 42ddc39430a10513c49a415ddf1a0dc5fa52089e) Signed-off-by: Owain G. Ainsworth <oga@openbsd.org>
-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 b4f7a2a8..d57192d1 100644
--- a/src/i830.h
+++ b/src/i830.h
@@ -155,7 +155,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 6ac2f431..ac4317c8 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)
@@ -1064,7 +1068,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 36625de8..01a292e2 100644
--- a/uxa/uxa-priv.h
+++ b/uxa/uxa-priv.h
@@ -165,7 +165,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 e6f96705..19c6a2d1 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.
@@ -460,6 +464,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) {