assorted clean-ups
authorBrian <brian.paul@tungstengraphics.com>
Wed, 4 Jul 2007 15:22:15 +0000 (09:22 -0600)
committerBrian <brian.paul@tungstengraphics.com>
Wed, 4 Jul 2007 15:22:15 +0000 (09:22 -0600)
src/mesa/drivers/fbdev/glfbdev.c

index 6c6511b..e95a424 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Mesa 3-D graphics library
- * Version:  6.5.1
+ * Version:  7.1
  *
- * Copyright (C) 1999-2006  Brian Paul   All Rights Reserved.
+ * Copyright (C) 1999-2007  Brian Paul   All Rights Reserved.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
@@ -63,6 +63,9 @@
 #include "drivers/common/driverfuncs.h"
 
 
+/**
+ * Pixel formats we support:
+ */
 #define PF_B8G8R8     1
 #define PF_B8G8R8A8   2
 #define PF_B5G6R5     3
@@ -70,7 +73,7 @@
 #define PF_CI8        5
 
 
-/*
+/**
  * Derived from Mesa's GLvisual class.
  */
 struct GLFBDevVisualRec {
@@ -80,7 +83,7 @@ struct GLFBDevVisualRec {
    int pixelFormat;
 };
 
-/*
+/**
  * Derived from Mesa's GLframebuffer class.
  */
 struct GLFBDevBufferRec {
@@ -92,7 +95,7 @@ struct GLFBDevBufferRec {
    GLuint bytesPerPixel;
 };
 
-/*
+/**
  * Derived from Mesa's GLcontext class.
  */
 struct GLFBDevContextRec {
@@ -103,7 +106,7 @@ struct GLFBDevContextRec {
    GLFBDevBufferPtr curBuffer;
 };
 
-/*
+/**
  * Derived from Mesa's gl_renderbuffer class.
  */
 struct GLFBDevRenderbufferRec {
@@ -114,11 +117,6 @@ struct GLFBDevRenderbufferRec {
 };
 
 
-
-#define GLFBDEV_CONTEXT(CTX)  ((GLFBDevContextPtr) (CTX))
-#define GLFBDEV_BUFFER(BUF)  ((GLFBDevBufferPtr) (BUF))
-
-
 /**********************************************************************/
 /* Internal device driver functions                                   */
 /**********************************************************************/
@@ -151,7 +149,7 @@ update_state( GLcontext *ctx, GLuint new_state )
 static void
 get_buffer_size( GLframebuffer *buffer, GLuint *width, GLuint *height )
 {
-   const GLFBDevBufferPtr fbdevbuffer = GLFBDEV_BUFFER(buffer);
+   const GLFBDevBufferPtr fbdevbuffer = (GLFBDevBufferPtr) buffer;
    *width = fbdevbuffer->var.xres;
    *height = fbdevbuffer->var.yres;
 }
@@ -389,8 +387,8 @@ glFBDevCreateVisual( const struct fb_fix_screeninfo *fixInfo,
          /* ignored for now */
          break;
       case GLFBDEV_MULTISAMPLE:
-        numSamples = attrib[1];
-        attrib++;
+         numSamples = attrib[1];
+         attrib++;
          break;
       default:
          /* unexpected token */
@@ -406,36 +404,36 @@ glFBDevCreateVisual( const struct fb_fix_screeninfo *fixInfo,
       alphaBits = varInfo->transp.length;
 
       if (fixInfo->visual == FB_VISUAL_TRUECOLOR ||
-         fixInfo->visual == FB_VISUAL_DIRECTCOLOR) {
-        if(varInfo->bits_per_pixel == 24
-           && varInfo->red.offset == 16
-           && varInfo->green.offset == 8
-           && varInfo->blue.offset == 0)
-           vis->pixelFormat = PF_B8G8R8;
-
-        else if(varInfo->bits_per_pixel == 32
-                && varInfo->red.offset == 16
-                && varInfo->green.offset == 8
-                && varInfo->blue.offset == 0)
-           vis->pixelFormat = PF_B8G8R8A8;
-
-        else if(varInfo->bits_per_pixel == 16
-                && varInfo->red.offset == 11
-                && varInfo->green.offset == 5
-                && varInfo->blue.offset == 0)
-           vis->pixelFormat = PF_B5G6R5;
-
-        else if(varInfo->bits_per_pixel == 16
-                && varInfo->red.offset == 10
-                && varInfo->green.offset == 5
-                && varInfo->blue.offset == 0)
-           vis->pixelFormat = PF_B5G5R5;
-
-        else {
-           _mesa_problem(NULL, "Unsupported fbdev RGB visual/bitdepth!\n");
-           _mesa_free(vis);
-           return NULL;
-        }
+          fixInfo->visual == FB_VISUAL_DIRECTCOLOR) {
+         if (varInfo->bits_per_pixel == 24
+             && varInfo->red.offset == 16
+             && varInfo->green.offset == 8
+             && varInfo->blue.offset == 0) {
+            vis->pixelFormat = PF_B8G8R8;
+         }
+         else if (varInfo->bits_per_pixel == 32
+                  && varInfo->red.offset == 16
+                  && varInfo->green.offset == 8
+                  && varInfo->blue.offset == 0) {
+            vis->pixelFormat = PF_B8G8R8A8;
+         }
+         else if (varInfo->bits_per_pixel == 16
+                  && varInfo->red.offset == 11
+                  && varInfo->green.offset == 5
+                  && varInfo->blue.offset == 0) {
+            vis->pixelFormat = PF_B5G6R5;
+         }
+         else if (varInfo->bits_per_pixel == 16
+                  && varInfo->red.offset == 10
+                  && varInfo->green.offset == 5
+                  && varInfo->blue.offset == 0) {
+            vis->pixelFormat = PF_B5G5R5;
+         }
+         else {
+            _mesa_problem(NULL, "Unsupported fbdev RGB visual/bitdepth!\n");
+            _mesa_free(vis);
+            return NULL;
+         }
       }
    }
    else {
@@ -578,7 +576,7 @@ new_glfbdev_renderbuffer(void *bufferStart, const GLFBDevVisualPtr visual)
 
       rb->rowStride = visual->var.xres_virtual * visual->var.bits_per_pixel / 8;
       rb->bottom = (GLubyte *) bufferStart
-         + (visual->var.yres - 1) * rb->rowStride;
+                 + (visual->var.yres - 1) * rb->rowStride;
 
       rb->Base.Width = visual->var.xres;
       rb->Base.Height = visual->var.yres;
@@ -635,7 +633,7 @@ glFBDevCreateBuffer( const struct fb_fix_screeninfo *fixInfo,
                           &frontrb->Base);
    /* add back renderbuffer */
    if (visual->glvisual.doubleBufferMode) {
-      int malloced = !backBuffer;
+      const int malloced = !backBuffer;
       if (malloced) {
          /* malloc a back buffer */
          backBuffer = _mesa_malloc(size);
@@ -647,8 +645,11 @@ glFBDevCreateBuffer( const struct fb_fix_screeninfo *fixInfo,
       }
 
       backrb = new_glfbdev_renderbuffer(backBuffer, visual);
-      if(malloced)
-        backrb->mallocedBuffer = GL_TRUE;
+      if (!backrb) {
+         /* out of mem */
+         return NULL;
+      }
+      backrb->mallocedBuffer = malloced;
 
       _mesa_add_renderbuffer(&buf->glframebuffer, BUFFER_BACK_LEFT,
                              &backrb->Base);
@@ -682,16 +683,10 @@ glFBDevDestroyBuffer( GLFBDevBufferPtr buffer )
       if (buffer == curDraw || buffer == curRead) {
          glFBDevMakeCurrent( NULL, NULL, NULL);
       }
-#if 0
-      /* free the software depth, stencil, accum buffers */
-      _mesa_free_framebuffer_data(&buffer->glframebuffer);
-      _mesa_free(buffer);
-#else
       {
          struct gl_framebuffer *fb = &buffer->glframebuffer;
          _mesa_unreference_framebuffer(&fb);
       }
-#endif
    }
 }