diff options
Diffstat (limited to 'x11-drivers/xf86-video-qxl/files/xf86-video-qxl-0.0.17-xorg-server-1.13.patch')
-rw-r--r-- | x11-drivers/xf86-video-qxl/files/xf86-video-qxl-0.0.17-xorg-server-1.13.patch | 538 |
1 files changed, 538 insertions, 0 deletions
diff --git a/x11-drivers/xf86-video-qxl/files/xf86-video-qxl-0.0.17-xorg-server-1.13.patch b/x11-drivers/xf86-video-qxl/files/xf86-video-qxl-0.0.17-xorg-server-1.13.patch new file mode 100644 index 000000000000..cfb476649125 --- /dev/null +++ b/x11-drivers/xf86-video-qxl/files/xf86-video-qxl-0.0.17-xorg-server-1.13.patch @@ -0,0 +1,538 @@ +From f1a9c1b33bff038807755824190c69889ef6d794 Mon Sep 17 00:00:00 2001 +From: Dave Airlie <airlied@redhat.com> +Date: Wed, 06 Jun 2012 13:19:04 +0000 +Subject: qxl: add API compat for latest X server. + +Signed-off-by: Dave Airlie <airlied@redhat.com> +--- +diff --git a/src/Makefile.am b/src/Makefile.am +index c3ba074..79ea3cc 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -47,7 +47,8 @@ qxl_drv_la_SOURCES = \ + mspace.h \ + murmurhash3.c \ + murmurhash3.h \ +- qxl_cursor.c ++ qxl_cursor.c \ ++ compat-api.h + endif + + if BUILD_XSPICE +diff --git a/src/compat-api.h b/src/compat-api.h +new file mode 100644 +index 0000000..6bc946f +--- a/dev/null ++++ b/src/compat-api.h +@@ -0,0 +1,99 @@ ++/* ++ * Copyright 2012 Red Hat, Inc. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a ++ * copy of this software and associated documentation files (the "Software"), ++ * to deal in the Software without restriction, including without limitation ++ * the rights to use, copy, modify, merge, publish, distribute, sublicense, ++ * and/or sell copies of the Software, and to permit persons to whom the ++ * Software is furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice (including the next ++ * paragraph) shall be included in all copies or substantial portions of the ++ * Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING ++ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER ++ * DEALINGS IN THE SOFTWARE. ++ * ++ * Author: Dave Airlie <airlied@redhat.com> ++ */ ++ ++/* this file provides API compat between server post 1.13 and pre it, ++ it should be reused inside as many drivers as possible */ ++#ifndef COMPAT_API_H ++#define COMPAT_API_H ++ ++#ifndef GLYPH_HAS_GLYPH_PICTURE_ACCESSOR ++#define GetGlyphPicture(g, s) GlyphPicture((g))[(s)->myNum] ++#define SetGlyphPicture(g, s, p) GlyphPicture((g))[(s)->myNum] = p ++#endif ++ ++#ifndef XF86_HAS_SCRN_CONV ++#define xf86ScreenToScrn(s) xf86Screens[(s)->myNum] ++#define xf86ScrnToScreen(s) screenInfo.screens[(s)->scrnIndex] ++#endif ++ ++#ifndef XF86_SCRN_INTERFACE ++ ++#define SCRN_ARG_TYPE int ++#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = xf86Screens[(arg1)] ++ ++#define SCREEN_ARG_TYPE int ++#define SCREEN_PTR(arg1) ScreenPtr pScreen = screenInfo.screens[(arg1)] ++ ++#define SCREEN_INIT_ARGS_DECL int i, ScreenPtr pScreen, int argc, char **argv ++ ++#define BLOCKHANDLER_ARGS_DECL int arg, pointer blockData, pointer pTimeout, pointer pReadmask ++#define BLOCKHANDLER_ARGS arg, blockData, pTimeout, pReadmask ++ ++#define CLOSE_SCREEN_ARGS_DECL int scrnIndex, ScreenPtr pScreen ++#define CLOSE_SCREEN_ARGS scrnIndex, pScreen ++ ++#define ADJUST_FRAME_ARGS_DECL int arg, int x, int y, int flags ++#define ADJUST_FRAME_ARGS(arg, x, y) (arg)->scrnIndex, x, y, 0 ++ ++#define SWITCH_MODE_ARGS_DECL int arg, DisplayModePtr mode, int flags ++#define SWITCH_MODE_ARGS(arg, m) (arg)->scrnIndex, m, 0 ++ ++#define FREE_SCREEN_ARGS_DECL int arg, int flags ++ ++#define VT_FUNC_ARGS_DECL int arg, int flags ++#define VT_FUNC_ARGS pScrn->scrnIndex, 0 ++ ++#define XF86_SCRN_ARG(x) ((x)->scrnIndex) ++#else ++#define SCRN_ARG_TYPE ScrnInfoPtr ++#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = (arg1) ++ ++#define SCREEN_ARG_TYPE ScreenPtr ++#define SCREEN_PTR(arg1) ScreenPtr pScreen = (arg1) ++ ++#define SCREEN_INIT_ARGS_DECL ScreenPtr pScreen, int argc, char **argv ++ ++#define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout, pointer pReadmask ++#define BLOCKHANDLER_ARGS arg, pTimeout, pReadmask ++ ++#define CLOSE_SCREEN_ARGS_DECL ScreenPtr pScreen ++#define CLOSE_SCREEN_ARGS pScreen ++ ++#define ADJUST_FRAME_ARGS_DECL ScrnInfoPtr arg, int x, int y ++#define ADJUST_FRAME_ARGS(arg, x, y) arg, x, y ++ ++#define SWITCH_MODE_ARGS_DECL ScrnInfoPtr arg, DisplayModePtr mode ++#define SWITCH_MODE_ARGS(arg, m) arg, m ++ ++#define FREE_SCREEN_ARGS_DECL ScrnInfoPtr arg ++ ++#define VT_FUNC_ARGS_DECL ScrnInfoPtr arg ++#define VT_FUNC_ARGS pScrn ++ ++#define XF86_SCRN_ARG(x) (x) ++ ++#endif ++ ++#endif +diff --git a/src/qxl.h b/src/qxl.h +index ed12680..46155c9 100644 +--- a/src/qxl.h ++++ b/src/qxl.h +@@ -50,6 +50,7 @@ + #include "vgaHW.h" + #endif /* XSPICE */ + ++#include "compat-api.h" + #define hidden _X_HIDDEN + + #ifdef XSPICE +diff --git a/src/qxl_driver.c b/src/qxl_driver.c +index f7ccbbf..b0250e5 100644 +--- a/src/qxl_driver.c ++++ b/src/qxl_driver.c +@@ -328,7 +328,7 @@ qxl_blank_screen(ScreenPtr pScreen, int mode) + + #ifdef XSPICE + static void +-unmap_memory_helper(qxl_screen_t *qxl, int scrnIndex) ++unmap_memory_helper(qxl_screen_t *qxl) + { + free(qxl->ram); + free(qxl->vram); +@@ -336,7 +336,7 @@ unmap_memory_helper(qxl_screen_t *qxl, int scrnIndex) + } + + static void +-map_memory_helper(qxl_screen_t *qxl, int scrnIndex) ++map_memory_helper(qxl_screen_t *qxl) + { + qxl->ram = malloc(RAM_SIZE); + qxl->ram_physical = qxl->ram; +@@ -349,7 +349,7 @@ map_memory_helper(qxl_screen_t *qxl, int scrnIndex) + } + #else /* Default */ + static void +-unmap_memory_helper(qxl_screen_t *qxl, int scrnIndex) ++unmap_memory_helper(qxl_screen_t *qxl) + { + #ifdef XSERVER_LIBPCIACCESS + if (qxl->ram) +@@ -369,7 +369,7 @@ unmap_memory_helper(qxl_screen_t *qxl, int scrnIndex) + } + + static void +-map_memory_helper(qxl_screen_t *qxl, int scrnIndex) ++map_memory_helper(qxl_screen_t *qxl) + { + #ifdef XSERVER_LIBPCIACCESS + pci_device_map_range(qxl->pci, qxl->pci->regions[0].base_addr, +@@ -412,7 +412,7 @@ map_memory_helper(qxl_screen_t *qxl, int scrnIndex) + #endif /* XSPICE */ + + static void +-qxl_unmap_memory(qxl_screen_t *qxl, int scrnIndex) ++qxl_unmap_memory(qxl_screen_t *qxl) + { + #ifdef XSPICE + if (qxl->worker) { +@@ -420,7 +420,7 @@ qxl_unmap_memory(qxl_screen_t *qxl, int scrnIndex) + qxl->worker_running = FALSE; + } + #endif +- unmap_memory_helper(qxl, scrnIndex); ++ unmap_memory_helper(qxl); + qxl->ram = qxl->ram_physical = qxl->vram = qxl->rom = NULL; + + qxl->num_modes = 0; +@@ -430,7 +430,7 @@ qxl_unmap_memory(qxl_screen_t *qxl, int scrnIndex) + static Bool + qxl_map_memory(qxl_screen_t *qxl, int scrnIndex) + { +- map_memory_helper(qxl, scrnIndex); ++ map_memory_helper(qxl); + + if (!qxl->ram || !qxl->vram || !qxl->rom) + return FALSE; +@@ -556,9 +556,9 @@ qxl_reset (qxl_screen_t *qxl) + } + + static Bool +-qxl_close_screen(int scrnIndex, ScreenPtr pScreen) ++qxl_close_screen(CLOSE_SCREEN_ARGS_DECL) + { +- ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; ++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); + qxl_screen_t *qxl = pScrn->driverPrivate; + Bool result; + +@@ -569,7 +569,7 @@ qxl_close_screen(int scrnIndex, ScreenPtr pScreen) + pScreen->CreateScreenResources = qxl->create_screen_resources; + pScreen->CloseScreen = qxl->close_screen; + +- result = pScreen->CloseScreen(scrnIndex, pScreen); ++ result = pScreen->CloseScreen(CLOSE_SCREEN_ARGS); + + #ifndef XSPICE + if (!xf86IsPrimaryPci (qxl->pci) && qxl->primary) +@@ -579,7 +579,7 @@ qxl_close_screen(int scrnIndex, ScreenPtr pScreen) + if (pScrn->vtSema) + { + qxl_restore_state(pScrn); +- qxl_unmap_memory(qxl, scrnIndex); ++ qxl_unmap_memory(qxl); + } + pScrn->vtSema = FALSE; + +@@ -589,7 +589,7 @@ qxl_close_screen(int scrnIndex, ScreenPtr pScreen) + static void + set_screen_pixmap_header (ScreenPtr pScreen) + { +- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; ++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); + qxl_screen_t *qxl = pScrn->driverPrivate; + PixmapPtr pPixmap = pScreen->GetScreenPixmap(pScreen); + +@@ -611,10 +611,11 @@ set_screen_pixmap_header (ScreenPtr pScreen) + } + + static Bool +-qxl_switch_mode(int scrnIndex, DisplayModePtr p, int flags) ++qxl_switch_mode(SWITCH_MODE_ARGS_DECL) + { +- qxl_screen_t *qxl = xf86Screens[scrnIndex]->driverPrivate; +- int mode_index = (int)(unsigned long)p->Private; ++ SCRN_INFO_PTR(arg); ++ qxl_screen_t *qxl = pScrn->driverPrivate; ++ int mode_index = (int)(unsigned long)mode->Private; + struct QXLMode *m = qxl->modes + mode_index; + ScreenPtr pScreen; + void *evacuated; +@@ -680,7 +681,7 @@ enum ROPDescriptor + static Bool + qxl_create_screen_resources(ScreenPtr pScreen) + { +- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; ++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); + qxl_screen_t *qxl = pScrn->driverPrivate; + Bool ret; + PixmapPtr pPixmap; +@@ -848,7 +849,7 @@ qxl_set_screen_pixmap (PixmapPtr pixmap) + static PixmapPtr + qxl_create_pixmap (ScreenPtr screen, int w, int h, int depth, unsigned usage) + { +- ScrnInfoPtr scrn = xf86Screens[screen->myNum]; ++ ScrnInfoPtr scrn = xf86ScreenToScrn(screen); + PixmapPtr pixmap; + qxl_screen_t *qxl = scrn->driverPrivate; + qxl_surface_t *surface; +@@ -906,7 +907,7 @@ static Bool + qxl_destroy_pixmap (PixmapPtr pixmap) + { + ScreenPtr screen = pixmap->drawable.pScreen; +- ScrnInfoPtr scrn = xf86Screens[screen->myNum]; ++ ScrnInfoPtr scrn = xf86ScreenToScrn(screen); + qxl_screen_t *qxl = scrn->driverPrivate; + qxl_surface_t *surface = NULL; + +@@ -936,7 +937,7 @@ qxl_destroy_pixmap (PixmapPtr pixmap) + static Bool + setup_uxa (qxl_screen_t *qxl, ScreenPtr screen) + { +- ScrnInfoPtr scrn = xf86Screens[screen->myNum]; ++ ScrnInfoPtr scrn = xf86ScreenToScrn(screen); + #if HAS_DIXREGISTERPRIVATEKEY + if (!dixRegisterPrivateKey(&uxa_pixmap_index, PRIVATE_PIXMAP, 0)) + return FALSE; +@@ -1030,9 +1031,9 @@ spiceqxl_screen_init(int scrnIndex, ScrnInfoPtr pScrn, qxl_screen_t *qxl) + #endif + + static Bool +-qxl_screen_init(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) ++qxl_screen_init(SCREEN_INIT_ARGS_DECL) + { +- ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; ++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); + qxl_screen_t *qxl = pScrn->driverPrivate; + struct QXLRam *ram_header; + VisualPtr visual; +@@ -1041,7 +1042,7 @@ qxl_screen_init(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + + qxl->pScrn = pScrn; + +- if (!qxl_map_memory(qxl, scrnIndex)) ++ if (!qxl_map_memory(qxl, pScrn->scrnIndex)) + return FALSE; + + #ifdef XSPICE +@@ -1160,7 +1161,7 @@ qxl_screen_init(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + pScreen->width = pScrn->currentMode->HDisplay; + pScreen->height = pScrn->currentMode->VDisplay; + +- qxl_switch_mode(scrnIndex, pScrn->currentMode, 0); ++ qxl_switch_mode(SWITCH_MODE_ARGS(pScrn, pScrn->currentMode)); + + CHECK_POINT(); + +@@ -1171,13 +1172,13 @@ out: + } + + static Bool +-qxl_enter_vt(int scrnIndex, int flags) ++qxl_enter_vt(VT_FUNC_ARGS_DECL) + { +- ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; ++ SCRN_INFO_PTR(arg); + qxl_screen_t *qxl = pScrn->driverPrivate; + + qxl_save_state(pScrn); +- qxl_switch_mode(scrnIndex, pScrn->currentMode, 0); ++ qxl_switch_mode(SWITCH_MODE_ARGS(pScrn, pScrn->currentMode)); + + if (qxl->vt_surfaces) + { +@@ -1186,18 +1187,18 @@ qxl_enter_vt(int scrnIndex, int flags) + qxl->vt_surfaces = NULL; + } + +- pScrn->EnableDisableFBAccess (scrnIndex, TRUE); ++ pScrn->EnableDisableFBAccess (XF86_SCRN_ARG(pScrn), TRUE); + + return TRUE; + } + + static void +-qxl_leave_vt(int scrnIndex, int flags) ++qxl_leave_vt(VT_FUNC_ARGS_DECL) + { +- ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; ++ SCRN_INFO_PTR(arg); + qxl_screen_t *qxl = pScrn->driverPrivate; + +- pScrn->EnableDisableFBAccess (scrnIndex, FALSE); ++ pScrn->EnableDisableFBAccess (XF86_SCRN_ARG(pScrn), FALSE); + + qxl->vt_surfaces = qxl_surface_cache_evacuate_all (qxl->surface_cache); + +@@ -1327,9 +1328,9 @@ qxl_find_native_mode(ScrnInfoPtr pScrn, DisplayModePtr p) + } + + static ModeStatus +-qxl_valid_mode(int scrn, DisplayModePtr p, Bool flag, int pass) ++qxl_valid_mode(SCRN_ARG_TYPE arg, DisplayModePtr p, Bool flag, int pass) + { +- ScrnInfoPtr pScrn = xf86Screens[scrn]; ++ SCRN_INFO_PTR(arg); + int scrnIndex = pScrn->scrnIndex; + qxl_screen_t *qxl = pScrn->driverPrivate; + int bpp = pScrn->bitsPerPixel; +@@ -1550,7 +1551,7 @@ qxl_pre_init(ScrnInfoPtr pScrn, int flags) + #endif + + /* hate */ +- qxl_unmap_memory(qxl, scrnIndex); ++ qxl_unmap_memory(qxl); + + CHECK_POINT(); + +diff --git a/src/qxl_surface.c b/src/qxl_surface.c +index a8901f0..c6f21a9 100644 +--- a/src/qxl_surface.c ++++ b/src/qxl_surface.c +@@ -842,7 +842,7 @@ qxl_surface_prepare_access (qxl_surface_t *surface, + int n_boxes; + BoxPtr boxes; + ScreenPtr pScreen = pixmap->drawable.pScreen; +- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; ++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); + RegionRec new; + + if (!pScrn->vtSema) +diff --git a/src/uxa/uxa-glyphs.c b/src/uxa/uxa-glyphs.c +index c9fae0f..dd50dfc 100644 +--- a/src/uxa/uxa-glyphs.c ++++ b/src/uxa/uxa-glyphs.c +@@ -221,7 +221,7 @@ uxa_glyph_cache_upload_glyph(ScreenPtr screen, + GlyphPtr glyph, + int x, int y) + { +- PicturePtr pGlyphPicture = GlyphPicture(glyph)[screen->myNum]; ++ PicturePtr pGlyphPicture = GetGlyphPicture(glyph, screen); + PixmapPtr pGlyphPixmap = (PixmapPtr) pGlyphPicture->pDrawable; + PixmapPtr pCachePixmap = (PixmapPtr) cache->picture->pDrawable; + PixmapPtr scratch; +@@ -430,7 +430,7 @@ uxa_check_glyphs(CARD8 op, + INT16 xSrc, + INT16 ySrc, int nlist, GlyphListPtr list, GlyphPtr * glyphs) + { +- int screen = dst->pDrawable->pScreen->myNum; ++ ScreenPtr pScreen = dst->pDrawable->pScreen; + pixman_image_t *image; + PixmapPtr scratch; + PicturePtr mask; +@@ -494,7 +494,7 @@ uxa_check_glyphs(CARD8 op, + n = list->len; + while (n--) { + GlyphPtr glyph = *glyphs++; +- PicturePtr g = GlyphPicture(glyph)[screen]; ++ PicturePtr g = GetGlyphPicture(glyph, pScreen); + if (g) { + if (maskFormat) { + CompositePicture(PictOpAdd, g, NULL, mask, +@@ -560,7 +560,7 @@ static PicturePtr + uxa_glyph_cache(ScreenPtr screen, GlyphPtr glyph, int *out_x, int *out_y) + { + uxa_screen_t *uxa_screen = uxa_get_screen(screen); +- PicturePtr glyph_picture = GlyphPicture(glyph)[screen->myNum]; ++ PicturePtr glyph_picture = GetGlyphPicture(glyph, screen); + uxa_glyph_cache_t *cache = &uxa_screen->glyphCaches[PICT_FORMAT_RGB(glyph_picture->format) != 0]; + struct uxa_glyph *priv = NULL; + int size, mask, pos, s; +@@ -760,7 +760,7 @@ uxa_glyphs_to_dst(CARD8 op, + this_atlas = uxa_glyph_cache(screen, glyph, &mask_x, &mask_y); + if (this_atlas == NULL) { + /* no cache for this glyph */ +- this_atlas = GlyphPicture(glyph)[screen->myNum]; ++ this_atlas = GetGlyphPicture(glyph, screen); + mask_x = mask_y = 0; + } + } +@@ -970,7 +970,7 @@ uxa_glyphs_via_mask(CARD8 op, + this_atlas = uxa_glyph_cache(screen, glyph, &src_x, &src_y); + if (this_atlas == NULL) { + /* no cache for this glyph */ +- this_atlas = GlyphPicture(glyph)[screen->myNum]; ++ this_atlas = GetGlyphPicture(glyph, screen); + src_x = src_y = 0; + } + } +diff --git a/src/uxa/uxa-priv.h b/src/uxa/uxa-priv.h +index 80095ac..7a3c85e 100644 +--- a/src/uxa/uxa-priv.h ++++ b/src/uxa/uxa-priv.h +@@ -60,6 +60,7 @@ + #endif + #include "damage.h" + ++#include "../compat-api.h" + /* Provide substitutes for gcc's __FUNCTION__ on other compilers */ + #if !defined(__GNUC__) && !defined(__FUNCTION__) + # if defined(__STDC__) && (__STDC_VERSION__>=199901L) /* C99 */ +@@ -110,7 +111,7 @@ typedef struct { + + #define UXA_NUM_SOLID_CACHE 16 + +-typedef void (*EnableDisableFBAccessProcPtr) (int, Bool); ++typedef void (*EnableDisableFBAccessProcPtr) (SCREEN_ARG_TYPE, Bool); + typedef struct { + uxa_driver_t *info; + CreateGCProcPtr SavedCreateGC; +diff --git a/src/uxa/uxa.c b/src/uxa/uxa.c +index dc973ef..4acf53f 100644 +--- a/src/uxa/uxa.c ++++ b/src/uxa/uxa.c +@@ -361,10 +361,10 @@ static RegionPtr uxa_bitmap_to_region(PixmapPtr pPix) + return ret; + } + +-static void uxa_xorg_enable_disable_fb_access(int index, Bool enable) ++static void uxa_xorg_enable_disable_fb_access(SCREEN_ARG_TYPE arg, Bool enable) + { +- ScreenPtr screen = screenInfo.screens[index]; +- uxa_screen_t *uxa_screen = uxa_get_screen(screen); ++ SCREEN_PTR(arg); ++ uxa_screen_t *uxa_screen = uxa_get_screen(pScreen); + + if (!enable && uxa_screen->disableFbCount++ == 0) + uxa_screen->swappedOut = TRUE; +@@ -373,7 +373,7 @@ static void uxa_xorg_enable_disable_fb_access(int index, Bool enable) + uxa_screen->swappedOut = FALSE; + + if (uxa_screen->SavedEnableDisableFBAccess) +- uxa_screen->SavedEnableDisableFBAccess(index, enable); ++ uxa_screen->SavedEnableDisableFBAccess(arg, enable); + } + + void uxa_set_fallback_debug(ScreenPtr screen, Bool enable) +@@ -401,10 +401,10 @@ Bool uxa_swapped_out(ScreenPtr screen) + * uxa_close_screen() unwraps its wrapped screen functions and tears down UXA's + * screen private, before calling down to the next CloseSccreen. + */ +-static Bool uxa_close_screen(int i, ScreenPtr pScreen) ++static Bool uxa_close_screen(CLOSE_SCREEN_ARGS_DECL) + { + uxa_screen_t *uxa_screen = uxa_get_screen(pScreen); +- ScrnInfoPtr scrn = xf86Screens[pScreen->myNum]; ++ ScrnInfoPtr scrn = xf86ScreenToScrn(pScreen); + #ifdef RENDER + PictureScreenPtr ps = GetPictureScreenIfSet(pScreen); + #endif +@@ -447,7 +447,7 @@ static Bool uxa_close_screen(int i, ScreenPtr pScreen) + + free(uxa_screen); + +- return (*pScreen->CloseScreen) (i, pScreen); ++ return (*pScreen->CloseScreen) (CLOSE_SCREEN_ARGS); + } + + /** +@@ -478,7 +478,7 @@ uxa_driver_t *uxa_driver_alloc(void) + Bool uxa_driver_init(ScreenPtr screen, uxa_driver_t * uxa_driver) + { + uxa_screen_t *uxa_screen; +- ScrnInfoPtr scrn = xf86Screens[screen->myNum]; ++ ScrnInfoPtr scrn = xf86ScreenToScrn(screen); + + if (!uxa_driver) + return FALSE; +-- +cgit v0.9.0.2-2-gbebe |