accum buffer support
authorBrian <brian.paul@tungstengraphics.com>
Sun, 14 Oct 2007 17:55:45 +0000 (11:55 -0600)
committerBrian <brian.paul@tungstengraphics.com>
Sun, 14 Oct 2007 17:55:45 +0000 (11:55 -0600)
src/mesa/drivers/x11/xm_api.c
src/mesa/drivers/x11/xm_surface.c

index 254d686..1d3f799 100644 (file)
@@ -442,15 +442,21 @@ create_xmesa_buffer(XMesaDrawable d, BufferType type,
       _mesa_add_renderbuffer(&b->mesa_buffer, BUFFER_STENCIL, rb);
    }
 
+   if (vis->mesa_visual.accumRedBits > 0) {
+      struct gl_renderbuffer *rb
+         = st_new_renderbuffer_fb(GL_RGBA16);
+      _mesa_add_renderbuffer(&b->mesa_buffer, BUFFER_ACCUM, rb);
+   }
+
 
    /*
     * Other renderbuffer (depth, stencil, etc)
     */
    _mesa_add_soft_renderbuffers(&b->mesa_buffer,
-                                GL_FALSE,  /* color */
-                                GL_FALSE,/*vis->mesa_visual.haveDepthBuffer,*/
-                                GL_FALSE,
-                                vis->mesa_visual.haveAccumBuffer,
+                                GL_FALSE, /* color */
+                                GL_FALSE, /*vis->mesa_visual.haveDepthBuffer,*/
+                                GL_FALSE, /* stencil */
+                                GL_FALSE, /* accum */
                                 b->swAlpha,
                                 vis->mesa_visual.numAuxBuffers > 0 );
 
index d40d9ed..70fa97b 100644 (file)
@@ -277,10 +277,11 @@ xmesa_supported_formats(struct pipe_context *pipe, GLuint *numFormats)
 {
    static const GLuint formats[] = {
       PIPE_FORMAT_U_A8_R8_G8_B8,
+      PIPE_FORMAT_S_R16_G16_B16_A16,
       PIPE_FORMAT_S8_Z24
    };
 
-   *numFormats = 2;
+   *numFormats = sizeof(formats) / sizeof(formats[0]);
 
    return formats;
 }