Mesa (mesa_7_7_branch): Revert "st/dri: no need to request fake front buffer, only handle it being returned"

Thomas Hellstrom thomash at kemper.freedesktop.org
Mon Jan 11 20:36:42 UTC 2010


Module: Mesa
Branch: mesa_7_7_branch
Commit: cb51f0267853dad419d169587aecbecf1800e8c3
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cb51f0267853dad419d169587aecbecf1800e8c3

Author: Thomas Hellstrom <thellstrom at vmware.com>
Date:   Mon Jan 11 21:32:13 2010 +0100

Revert "st/dri: no need to request fake front buffer, only handle it being returned"

This reverts commit 1336989ec60fff7bd590fefd28945a0e5dc536e3.

The commit breaks frontbuffer rendering and the possibility to do
on-demand frontbuffer requests on all Xservers prior to 1.7.

The commit should be conditioned on a dri2 version check.
I've submitted a patch to Xserver to bump dri2 minor, and it's acked by Ian.

To be able to check the version from within the state tracker, we will
probably need another dri2 extension function that returns the server
version. The protocol has support for it.

Signed-off-by: Thomas Hellstrom <thellstrom at vmware.com>

---

 src/gallium/state_trackers/dri/dri_drawable.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/src/gallium/state_trackers/dri/dri_drawable.c b/src/gallium/state_trackers/dri/dri_drawable.c
index 5625ff5..c4dfb0c 100644
--- a/src/gallium/state_trackers/dri/dri_drawable.c
+++ b/src/gallium/state_trackers/dri/dri_drawable.c
@@ -180,6 +180,7 @@ dri_get_buffers(__DRIdrawablePrivate * dPriv)
 
       switch (buffers[i].attachment) {
       case __DRI_BUFFER_FRONT_LEFT:
+	 continue;
       case __DRI_BUFFER_FAKE_FRONT_LEFT:
 	 index = ST_SURFACE_FRONT_LEFT;
 	 format = drawable->color_format;
@@ -367,6 +368,8 @@ dri_create_buffer(__DRIscreenPrivate * sPriv,
 
    if (visual->doubleBufferMode)
       drawable->attachments[i++] = __DRI_BUFFER_BACK_LEFT;
+   else
+      drawable->attachments[i++] = __DRI_BUFFER_FAKE_FRONT_LEFT;
    if (visual->depthBits && visual->stencilBits)
       drawable->attachments[i++] = __DRI_BUFFER_DEPTH_STENCIL;
    else if (visual->depthBits)




More information about the mesa-commit mailing list