diff options
author | Jesse Barnes <jbarnes@virtuousgeek.org> | 2008-08-29 09:23:35 -0700 |
---|---|---|
committer | Jesse Barnes <jbarnes@virtuousgeek.org> | 2008-08-29 09:23:35 -0700 |
commit | a1c802e4a0324386cf7370594a46354c89e3b646 (patch) | |
tree | a460684984ff5ca86d0e9cac2a83c774c95c8496 | |
parent | 3733a1b54c95aa378f32577f9e996946e8e8e48c (diff) | |
parent | 808b72f81454061c815321e51a9b9f925c4bf786 (diff) |
Merge branch 'master' of ssh://git.freedesktop.org/git/xorg/driver/xf86-video-intel
-rw-r--r-- | src/i830.h | 3 | ||||
-rw-r--r-- | src/i830_display.c | 3 | ||||
-rw-r--r-- | src/i830_driver.c | 7 | ||||
-rw-r--r-- | src/i830_exa.c | 13 | ||||
-rw-r--r-- | uxa/uxa-priv.h | 4 | ||||
-rw-r--r-- | uxa/uxa.c | 4 |
6 files changed, 17 insertions, 17 deletions
@@ -934,7 +934,8 @@ i830_wait_ring_idle(ScrnInfoPtr pScrn) { I830Ptr pI830 = I830PTR(pScrn); - I830WaitLpRing(pScrn, pI830->LpRing->mem->size - 8, 0); + if (pI830->accel != ACCEL_NONE) + I830WaitLpRing(pScrn, pI830->LpRing->mem->size - 8, 0); } static inline int i830_fb_compression_supported(I830Ptr pI830) diff --git a/src/i830_display.c b/src/i830_display.c index f81847b5..ed49fb0e 100644 --- a/src/i830_display.c +++ b/src/i830_display.c @@ -753,6 +753,9 @@ static void i830_modeset_ctl(xf86CrtcPtr crtc, int pre) I830CrtcPrivatePtr intel_crtc = crtc->driver_private; struct drm_modeset_ctl modeset; + if (!pI830->directRenderingEnabled) + return; + modeset.crtc = intel_crtc->plane; /* diff --git a/src/i830_driver.c b/src/i830_driver.c index 2ce8942c..afce7188 100644 --- a/src/i830_driver.c +++ b/src/i830_driver.c @@ -3786,9 +3786,6 @@ I830CloseScreen(int scrnIndex, ScreenPtr pScreen) I830LeaveVT(scrnIndex, 0); } - dri_bufmgr_destroy(pI830->bufmgr); - pI830->bufmgr = NULL; - if (pI830->devicesTimer) TimerCancel(pI830->devicesTimer); pI830->devicesTimer = NULL; @@ -3828,6 +3825,10 @@ I830CloseScreen(int scrnIndex, ScreenPtr pScreen) xf86_cursors_fini (pScreen); i830_allocator_fini(pScrn); + + dri_bufmgr_destroy(pI830->bufmgr); + pI830->bufmgr = NULL; + #ifdef XF86DRI if (pI830->directRenderingOpen) { #ifdef DAMAGE diff --git a/src/i830_exa.c b/src/i830_exa.c index e73bc36a..fd29df11 100644 --- a/src/i830_exa.c +++ b/src/i830_exa.c @@ -465,8 +465,6 @@ i830_transform_is_affine (PictTransformPtr t) return t->matrix[2][0] == 0 && t->matrix[2][1] == 0; } -static DevPrivateKey exa_pixmap_key = &exa_pixmap_key; - #ifdef XF86DRM_MODE static void * @@ -618,9 +616,6 @@ I830EXAInit(ScreenPtr pScreen) ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; I830Ptr pI830 = I830PTR(pScrn); - if (!dixRequestPrivate(exa_pixmap_key, 0)) - return FALSE; - pI830->EXADriverPtr = exaDriverAlloc(); if (pI830->EXADriverPtr == NULL) { pI830->accel = ACCEL_NONE; @@ -731,12 +726,12 @@ I830EXAInit(ScreenPtr pScreen) return TRUE; } -static DevPrivateKey uxa_pixmap_key = &uxa_pixmap_key; +static int uxa_pixmap_index; static void i830_uxa_set_pixmap_bo (PixmapPtr pixmap, dri_bo *bo) { - dixSetPrivate(&pixmap->devPrivates, uxa_pixmap_key, bo); + dixSetPrivate(&pixmap->devPrivates, &uxa_pixmap_index, bo); } dri_bo * @@ -747,7 +742,7 @@ i830_get_pixmap_bo(PixmapPtr pixmap) I830Ptr i830 = I830PTR(scrn); if (i830->accel == ACCEL_UXA) { - return dixLookupPrivate(&pixmap->devPrivates, uxa_pixmap_key); + return dixLookupPrivate(&pixmap->devPrivates, &uxa_pixmap_index); } else if (i830->accel == ACCEL_EXA) { struct i830_exa_pixmap_priv *driver_priv = exaGetPixmapDriverPrivate(pixmap); @@ -879,7 +874,7 @@ i830_uxa_init (ScreenPtr pScreen) ScrnInfoPtr scrn = xf86Screens[pScreen->myNum]; I830Ptr i830 = I830PTR(scrn); - if (!dixRequestPrivate(uxa_pixmap_key, 0)) + if (!dixRequestPrivate(&uxa_pixmap_index, 0)) return FALSE; i830->uxa_driver = uxa_driver_alloc(); diff --git a/uxa/uxa-priv.h b/uxa/uxa-priv.h index c50ab3af..13535876 100644 --- a/uxa/uxa-priv.h +++ b/uxa/uxa-priv.h @@ -155,8 +155,8 @@ typedef struct { (PixmapWidthPaddingInfo[d].padRoundUp+1))) #endif -extern DevPrivateKey uxa_screen_key; -#define uxa_get_screen(s) ((uxa_screen_t *)dixLookupPrivate(&(s)->devPrivates, uxa_screen_key)) +extern int uxa_screen_index; +#define uxa_get_screen(s) ((uxa_screen_t *)dixLookupPrivate(&(s)->devPrivates, &uxa_screen_index)) /** Align an offset to an arbitrary alignment */ #define UXA_ALIGN(offset, align) (((offset) + (align) - 1) - \ @@ -39,7 +39,7 @@ #include "dixfontstr.h" #include "uxa.h" -DevPrivateKey uxa_screen_key = &uxa_screen_key; +int uxa_screen_index; /** * uxa_get_drawable_pixmap() returns a backing pixmap for a given drawable. @@ -422,7 +422,7 @@ uxa_driver_init(ScreenPtr screen, uxa_driver_t *uxa_driver) uxa_screen->info = uxa_driver; - dixSetPrivate(&screen->devPrivates, uxa_screen_key, uxa_screen); + dixSetPrivate(&screen->devPrivates, &uxa_screen_index, uxa_screen); // exaDDXDriverInit(screen); |