Merge branch 'master' of git+ssh://joukj@git.freedesktop.org/git/mesa/mesa
[mesa.git] / src / mesa / drivers / dri / r300 / radeon_context.c
index e9634b427a66970695817f7d1c48bf1882ab2413..787d4b5c57c7b818c045c4199f4bbfcbf24a8b8d 100644 (file)
@@ -156,7 +156,7 @@ GLboolean radeonInitContext(radeonContextPtr radeon,
        radeon->dri.hwContext = driContextPriv->hHWContext;
        radeon->dri.hwLock = &sPriv->pSAREA->lock;
        radeon->dri.fd = sPriv->fd;
-       radeon->dri.drmMinor = sPriv->drmMinor;
+       radeon->dri.drmMinor = sPriv->drm_version.minor;
 
        radeon->radeonScreen = screen;
        radeon->sarea = (drm_radeon_sarea_t *) ((GLubyte *) sPriv->pSAREA +
@@ -177,9 +177,6 @@ GLboolean radeonInitContext(radeonContextPtr radeon,
                        radeon->do_usleeps ? "usleeps" : "busy waits",
                        fthrottle_mode, radeon->radeonScreen->irq);
 
-       radeon->vblank_flags = (radeon->radeonScreen->irq != 0)
-           ? driGetDefaultVBlankFlags(&radeon->optionCache) : VBLANK_FLAG_NO_IRQ;
-
        (*dri_interface->getUST) (&radeon->swap_ust);
 
        return GL_TRUE;
@@ -277,9 +274,15 @@ GLboolean radeonMakeCurrent(__DRIcontextPrivate * driContextPriv,
                                radeon->glCtx);
 
                if (radeon->dri.drawable != driDrawPriv) {
-                       driDrawableInitVBlank(driDrawPriv,
-                                             radeon->vblank_flags,
-                                             &radeon->vbl_seq);
+                       if (driDrawPriv->swap_interval == (unsigned)-1) {
+                               driDrawPriv->vblFlags =
+                                       (radeon->radeonScreen->irq != 0)
+                                       ? driGetDefaultVBlankFlags(&radeon->
+                                                                  optionCache)
+                                       : VBLANK_FLAG_NO_IRQ;
+
+                               driDrawableInitVBlank(driDrawPriv);
+                       }
                }
 
                radeon->dri.readable = driReadPriv;