xserver: Branch 'master' - 2 commits

Kristian Høgsberg krh at kemper.freedesktop.org
Sun Mar 9 22:43:18 PDT 2008


 GL/glx/glxdri.c        |    2 +-
 GL/glx/glxdri2.c       |   13 ++++++-------
 hw/xfree86/dri2/dri2.c |    5 +++--
 hw/xfree86/dri2/dri2.h |    3 ++-
 4 files changed, 12 insertions(+), 11 deletions(-)

New commits:
commit 01c2e01f2aee580438b74bfb9da8f584f3878e6b
Author: Kristian Høgsberg <krh at sasori.boston.redhat.com>
Date:   Sun Mar 9 21:40:27 2008 -0400

    GLX: Track changes to DRI_TEX_BUFFER extension.
    
    We now just pass in the __DRIdrawable.

diff --git a/GL/glx/glxdri2.c b/GL/glx/glxdri2.c
index fbc018c..fecfb19 100644
--- a/GL/glx/glxdri2.c
+++ b/GL/glx/glxdri2.c
@@ -225,7 +225,7 @@ __glXDRIbindTexImage(__GLXcontext *baseContext,
     __GLXDRIscreen * const screen = (__GLXDRIscreen *) glxGetScreen(pScreen);
     PixmapPtr pixmap;
     __GLXDRIcontext *context = (__GLXDRIcontext *) baseContext;
-    unsigned int flags;
+    __GLXDRIdrawable *drawable = (__GLXDRIdrawable *) glxPixmap;
 
     if (screen->texBuffer == NULL)
         return Success;
@@ -233,10 +233,7 @@ __glXDRIbindTexImage(__GLXcontext *baseContext,
     pixmap = (PixmapPtr) glxPixmap->pDraw;
     screen->texBuffer->setTexBuffer(&context->driContext,
 				    glxPixmap->target,
-				    DRI2GetPixmapHandle(pixmap, &flags),
-				    pixmap->drawable.depth,
-				    pixmap->devKind,
-				    pixmap->drawable.height);
+				    &drawable->driDrawable);
 
     return Success;
 }
commit acedc03367e9e69f03b4838f0f0e8d8a8e872b9b
Author: Kristian Høgsberg <krh at sasori.boston.redhat.com>
Date:   Sun Mar 9 21:39:19 2008 -0400

    DRI2: Return event buffer head index in DRI2CreateDrawable.
    
    And pass it to the DRI driver in AIGLX.

diff --git a/GL/glx/glxdri.c b/GL/glx/glxdri.c
index dc15b0f..1e17911 100644
--- a/GL/glx/glxdri.c
+++ b/GL/glx/glxdri.c
@@ -704,7 +704,7 @@ __glXDRIscreenCreateDrawable(__GLXscreen *screen,
 	(driScreen->driScreen.createNewDrawable)(&driScreen->driScreen,
 						 modes,
 						 &private->driDrawable,
-						 hwDrawable, 0, NULL);
+						 hwDrawable, 0, 0, NULL);
 
     if (private->driDrawable.private == NULL) {
 	__glXenterServer(GL_FALSE);
diff --git a/GL/glx/glxdri2.c b/GL/glx/glxdri2.c
index 27257d3..fbc018c 100644
--- a/GL/glx/glxdri2.c
+++ b/GL/glx/glxdri2.c
@@ -341,6 +341,7 @@ __glXDRIscreenCreateDrawable(__GLXscreen *screen,
     __GLXDRIdrawable *private;
     GLboolean retval;
     drm_drawable_t hwDrawable;
+    unsigned int head;
 
     private = xalloc(sizeof *private);
     if (private == NULL)
@@ -359,13 +360,14 @@ __glXDRIscreenCreateDrawable(__GLXscreen *screen,
     private->base.swapBuffers   = __glXDRIdrawableSwapBuffers;
     private->base.copySubBuffer = __glXDRIdrawableCopySubBuffer;
 
-    retval = DRI2CreateDrawable(screen->pScreen, pDraw, &hwDrawable);
+    retval = DRI2CreateDrawable(screen->pScreen, pDraw,
+				&hwDrawable, &head);
 
     private->driDrawable.private =
 	(driScreen->driScreen.createNewDrawable)(&driScreen->driScreen,
 						 modes,
 						 &private->driDrawable,
-						 hwDrawable, 0, NULL);
+						 hwDrawable, head, 0, NULL);
 
     return &private->base;
 }
diff --git a/hw/xfree86/dri2/dri2.c b/hw/xfree86/dri2/dri2.c
index 9b4c18c..d2664b1 100644
--- a/hw/xfree86/dri2/dri2.c
+++ b/hw/xfree86/dri2/dri2.c
@@ -262,8 +262,8 @@ DRI2CloseScreen(ScreenPtr pScreen)
 }
 
 Bool
-DRI2CreateDrawable(ScreenPtr pScreen,
-		   DrawablePtr pDraw, drm_drawable_t *pDrmDrawable)
+DRI2CreateDrawable(ScreenPtr pScreen, DrawablePtr pDraw,
+		   drm_drawable_t *pDrmDrawable, unsigned int *head)
 {
     DRI2ScreenPtr	ds = DRI2GetScreen(pScreen);
     WindowPtr		pWin;
@@ -293,6 +293,7 @@ DRI2CreateDrawable(ScreenPtr pScreen,
 
     *pDrmDrawable = pPriv->drawable;
 
+    *head = ds->buffer->head;
     DRI2PostDrawableConfig(pDraw);
     DRI2PostBufferAttach(pDraw);
     DRI2ScreenCommitEvents(ds);
diff --git a/hw/xfree86/dri2/dri2.h b/hw/xfree86/dri2/dri2.h
index c848247..a319085 100644
--- a/hw/xfree86/dri2/dri2.h
+++ b/hw/xfree86/dri2/dri2.h
@@ -66,7 +66,8 @@ void DRI2Unlock(ScreenPtr pScreen);
 
 Bool DRI2CreateDrawable(ScreenPtr	 pScreen,
 			DrawablePtr	 pDraw,
-			drm_drawable_t	*pDrmDrawable);
+			drm_drawable_t	*pDrmDrawable,
+			unsigned int    *head);
 
 void DRI2DestroyDrawable(ScreenPtr	pScreen,
 			 DrawablePtr	pDraw);


More information about the xorg-commit mailing list