diff options
-rw-r--r-- | src/i830.h | 4 | ||||
-rw-r--r-- | src/i830_uxa.c | 8 | ||||
-rw-r--r-- | uxa/uxa-priv.h | 5 | ||||
-rw-r--r-- | uxa/uxa.c | 8 |
4 files changed, 25 insertions, 0 deletions
@@ -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, @@ -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) { |