On 12/08/2011 07:00 AM, jfons...@vmware.com wrote:
From: José Fonseca<jfons...@vmware.com>

It sets the wrong values (GL_XXX_LEFT instead of GL_XXX), and no other
Mesa driver does this, given that Mesa sets the right draw/read buffers
provided the Mesa visual has the doublebuffer flag filled correctly
which is the case.
---
  src/mesa/state_tracker/st_manager.c |   64 -----------------------------------
  1 files changed, 0 insertions(+), 64 deletions(-)

diff --git a/src/mesa/state_tracker/st_manager.c 
b/src/mesa/state_tracker/st_manager.c
index d5228d3..55699e7 100644
--- a/src/mesa/state_tracker/st_manager.c
+++ b/src/mesa/state_tracker/st_manager.c
@@ -404,54 +404,6 @@ st_visual_to_context_mode(const struct st_visual *visual,
  }

  /**
- * Determine the default draw or read buffer from a visual.
- */
-static void
-st_visual_to_default_buffer(const struct st_visual *visual,
-                            GLenum *buffer, GLint *index)
-{
-   enum st_attachment_type statt;
-   GLenum buf;
-   gl_buffer_index idx;
-
-   statt = visual->render_buffer;
-   /* do nothing if an invalid render buffer is specified */
-   if (statt == ST_ATTACHMENT_INVALID ||
-       !st_visual_have_buffers(visual, 1<<  statt))
-      return;
-
-   switch (statt) {
-   case ST_ATTACHMENT_FRONT_LEFT:
-      buf = GL_FRONT_LEFT;
-      idx = BUFFER_FRONT_LEFT;
-      break;
-   case ST_ATTACHMENT_BACK_LEFT:
-      buf = GL_BACK_LEFT;
-      idx = BUFFER_BACK_LEFT;
-      break;
-   case ST_ATTACHMENT_FRONT_RIGHT:
-      buf = GL_FRONT_RIGHT;
-      idx = BUFFER_FRONT_RIGHT;
-      break;
-   case ST_ATTACHMENT_BACK_RIGHT:
-      buf = GL_BACK_RIGHT;
-      idx = BUFFER_BACK_RIGHT;
-      break;
-   default:
-      buf = GL_NONE;
-      idx = BUFFER_COUNT;
-      break;
-   }
-
-   if (buf != GL_NONE) {
-      if (buffer)
-         *buffer = buf;
-      if (index)
-         *index = idx;
-   }
-}
-
-/**
   * Create a framebuffer from a manager interface.
   */
  static struct st_framebuffer *
@@ -471,12 +423,6 @@ st_framebuffer_create(struct st_framebuffer_iface *stfbi)
     st_visual_to_context_mode(stfbi->visual,&mode);
     _mesa_initialize_window_framebuffer(&stfb->Base,&mode);

-   /* modify the draw/read buffers of the fb */
-   st_visual_to_default_buffer(stfbi->visual,&stfb->Base.ColorDrawBuffer[0],
-&stfb->Base._ColorDrawBufferIndexes[0]);
-   st_visual_to_default_buffer(stfbi->visual,&stfb->Base.ColorReadBuffer,
-&stfb->Base._ColorReadBufferIndex);
-
     stfb->iface = stfbi;
     stfb->iface_stamp = p_atomic_read(&stfbi->stamp) - 1;

@@ -776,16 +722,6 @@ st_api_make_current(struct st_api *stapi, struct 
st_context_iface *stctxi,
           if (stread != stdraw)
              st_framebuffer_validate(stread, st);

-         /* modify the draw/read buffers of the context */
-         if (stdraw->iface) {
-            st_visual_to_default_buffer(stdraw->iface->visual,
-&st->ctx->Color.DrawBuffer[0], NULL);
-         }
-         if (stread->iface) {
-            st_visual_to_default_buffer(stread->iface->visual,
-&st->ctx->Pixel.ReadBuffer, NULL);
-         }
-
           ret = _mesa_make_current(st->ctx,&stdraw->Base,&stread->Base);

           st->draw_stamp = stdraw->stamp - 1;

Looks good to me.

Reviewed-by: Brian Paul <bri...@vmware.com>

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to