assorted clean-ups
This commit is contained in:
parent
bd9db5eed2
commit
9aa8223605
|
@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue