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