Mesa (gallium-map-range): st/dri2: Fake frontbuffer changes

Jose Fonseca jrfonseca at kemper.freedesktop.org
Wed Mar 4 15:44:59 UTC 2009


Module: Mesa
Branch: gallium-map-range
Commit: 145aa57e45d5492278ae4fe182a77b0d02ecc6f5
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=145aa57e45d5492278ae4fe182a77b0d02ecc6f5

Author: Jakob Bornecrantz <wallbraker at gmail.com>
Date:   Wed Mar  4 00:36:59 2009 +0100

st/dri2: Fake frontbuffer changes

	Front buffer rendering works as it stands but it completely
	wrong. But as it stands fake front buffer rendering is
	completely broken. So we keep it as it is. But lets atleast
	handle it in the get buffers code.

---

 src/gallium/state_trackers/dri2/dri_drawable.c |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/src/gallium/state_trackers/dri2/dri_drawable.c b/src/gallium/state_trackers/dri2/dri_drawable.c
index 8a00c6c..2f6913e 100644
--- a/src/gallium/state_trackers/dri2/dri_drawable.c
+++ b/src/gallium/state_trackers/dri2/dri_drawable.c
@@ -153,6 +153,10 @@ dri_get_buffers(__DRIdrawablePrivate *dPriv)
             index = ST_SURFACE_FRONT_LEFT;
             format = PIPE_FORMAT_A8R8G8B8_UNORM;
             break;
+         case __DRI_BUFFER_FAKE_FRONT_LEFT:
+            index = ST_SURFACE_FRONT_LEFT;
+            format = PIPE_FORMAT_A8R8G8B8_UNORM;
+            break;
          case __DRI_BUFFER_BACK_LEFT:
             index = ST_SURFACE_BACK_LEFT;
             format = PIPE_FORMAT_A8R8G8B8_UNORM;
@@ -275,7 +279,12 @@ dri_create_buffer(__DRIscreenPrivate *sPriv,
    /* setup dri2 buffers information */
    i = 0;
    drawable->attachments[i++] = __DRI_BUFFER_FRONT_LEFT;
-   drawable->attachments[i++] = __DRI_BUFFER_BACK_LEFT;
+#if 0
+   /* TODO incase of double buffer visual, delay fake creation */
+   drawable->attachments[i++] = __DRI_BUFFER_FAKE_FRONT_LEFT;
+#endif
+   if (visual->doubleBufferMode)
+      drawable->attachments[i++] = __DRI_BUFFER_BACK_LEFT;
    if (visual->depthBits)
       drawable->attachments[i++] = __DRI_BUFFER_DEPTH;
    if (visual->stencilBits)




More information about the mesa-commit mailing list