check buffer->UseSoftware*Buffer in _mesa_free_framebuffer_data()
authorBrian Paul <brian.paul@tungstengraphics.com>
Tue, 27 May 2003 15:20:43 +0000 (15:20 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Tue, 27 May 2003 15:20:43 +0000 (15:20 +0000)
src/mesa/main/context.c

index aaba851165dd5a1dee4830c06df68e6c02c4543c..1101045afd3c57ea1b610a674f4a4ca11f8d719b 100644 (file)
@@ -507,33 +507,35 @@ _mesa_free_framebuffer_data( GLframebuffer *buffer )
    if (!buffer)
       return;
 
-   if (buffer->DepthBuffer) {
+   if (buffer->UseSoftwareDepthBuffer && buffer->DepthBuffer) {
       MESA_PBUFFER_FREE( buffer->DepthBuffer );
       buffer->DepthBuffer = NULL;
    }
-   if (buffer->Accum) {
+   if (buffer->UseSoftwareAccumBuffer && buffer->Accum) {
       MESA_PBUFFER_FREE( buffer->Accum );
       buffer->Accum = NULL;
    }
-   if (buffer->Stencil) {
+   if (buffer->UseSoftwareStencilBuffer && buffer->Stencil) {
       MESA_PBUFFER_FREE( buffer->Stencil );
       buffer->Stencil = NULL;
    }
-   if (buffer->FrontLeftAlpha) {
-      MESA_PBUFFER_FREE( buffer->FrontLeftAlpha );
-      buffer->FrontLeftAlpha = NULL;
-   }
-   if (buffer->BackLeftAlpha) {
-      MESA_PBUFFER_FREE( buffer->BackLeftAlpha );
-      buffer->BackLeftAlpha = NULL;
-   }
-   if (buffer->FrontRightAlpha) {
-      MESA_PBUFFER_FREE( buffer->FrontRightAlpha );
-      buffer->FrontRightAlpha = NULL;
-   }
-   if (buffer->BackRightAlpha) {
-      MESA_PBUFFER_FREE( buffer->BackRightAlpha );
-      buffer->BackRightAlpha = NULL;
+   if (buffer->UseSoftwareAlphaBuffers){
+      if (buffer->FrontLeftAlpha) {
+         MESA_PBUFFER_FREE( buffer->FrontLeftAlpha );
+         buffer->FrontLeftAlpha = NULL;
+      }
+      if (buffer->BackLeftAlpha) {
+         MESA_PBUFFER_FREE( buffer->BackLeftAlpha );
+         buffer->BackLeftAlpha = NULL;
+      }
+      if (buffer->FrontRightAlpha) {
+         MESA_PBUFFER_FREE( buffer->FrontRightAlpha );
+         buffer->FrontRightAlpha = NULL;
+      }
+      if (buffer->BackRightAlpha) {
+         MESA_PBUFFER_FREE( buffer->BackRightAlpha );
+         buffer->BackRightAlpha = NULL;
+      }
    }
 }