From ab820ea7df05b8cd37b50c83267d66566432e1c5 Mon Sep 17 00:00:00 2001 From: espes Date: Thu, 18 Apr 2013 14:52:37 +1000 Subject: [PATCH] glx stuff not used in windows so don't need to be common? --- gl/gloffscreen.h | 10 --- gl/gloffscreen_common.c | 135 ---------------------------------------- 2 files changed, 145 deletions(-) diff --git a/gl/gloffscreen.h b/gl/gloffscreen.h index aab40babab..10fbc82034 100644 --- a/gl/gloffscreen.h +++ b/gl/gloffscreen.h @@ -84,16 +84,6 @@ extern void glo_flags_get_readpixel_type(int formatFlags, int *glFormat, int *gl /* Score how close the given format flags match. 0=great, >0 not so great */ extern int glo_flags_score(int formatFlagsExpected, int formatFlagsReal); -/* Create a set of format flags from a null-terminated list - * of GLX fbConfig flags. If assumeBooleans is set, items such - * as GLX_RGBA/GLX_DOUBLEBUFFER are treated as booleans, not key-value pairs - * (glXChooseVisual treats them as booleans, glXChooseFBConfig as key-value pairs) - */ -extern int glo_flags_get_from_glx(const int *fbConfig, int assumeBooleans); -/* Use in place of glxGetConfig - returns information from flags based on a GLX enum */ -extern int glo_get_glx_from_flags(int formatFlags, int glxEnum); - - /* In terms of speed, glReadPixels actually seems the best we can do. * * On Windows PFB_DRAW_TO_BITMAP is software-only. * * http://www.opengl.org/registry/specs/ARB/pixel_buffer_object.txt would be diff --git a/gl/gloffscreen_common.c b/gl/gloffscreen_common.c index 9a3e289210..8b9da64f4d 100644 --- a/gl/gloffscreen_common.c +++ b/gl/gloffscreen_common.c @@ -38,28 +38,6 @@ #include #include -// --------------------------------------------------- -// Copied from glx.h as we need them in windows too -/* - * Tokens for glXChooseVisual and glXGetConfig: - */ -#define GLX_USE_GL 1 -#define GLX_BUFFER_SIZE 2 -#define GLX_LEVEL 3 -#define GLX_RGBA 4 -#define GLX_DOUBLEBUFFER 5 -#define GLX_STEREO 6 -#define GLX_AUX_BUFFERS 7 -#define GLX_RED_SIZE 8 -#define GLX_GREEN_SIZE 9 -#define GLX_BLUE_SIZE 10 -#define GLX_ALPHA_SIZE 11 -#define GLX_DEPTH_SIZE 12 -#define GLX_STENCIL_SIZE 13 -#define GLX_ACCUM_RED_SIZE 14 -#define GLX_ACCUM_GREEN_SIZE 15 -#define GLX_ACCUM_BLUE_SIZE 16 -#define GLX_ACCUM_ALPHA_SIZE 17 // --------------------------------------------------- extern void glo_surface_getcontents_readpixels(int formatFlags, int stride, @@ -180,116 +158,3 @@ int glo_flags_score(int formatFlagsExpected, int formatFlagsReal) { return score; } -int glo_flags_get_from_glx(const int *fbConfig, int assumeBooleans) { - int bufferSize = 0; - int depthSize = 0; - int stencilSize = 0; - int rgbaSize[] = {0,0,0,0}; - int flags = 0; - - while (*fbConfig) { - int isSingle = 0; - switch (*fbConfig) { - case GLX_USE_GL: - isSingle = 1; - break; - case GLX_BUFFER_SIZE: - bufferSize = fbConfig[1]; - break; - case GLX_LEVEL: - break; - case GLX_RGBA: - flags |= GLO_FF_ALPHA; - break; - case GLX_DOUBLEBUFFER: - isSingle = 1; - break; - case GLX_STEREO: - isSingle = 1; - break; - case GLX_AUX_BUFFERS: - break; - case GLX_RED_SIZE: - rgbaSize[0] = fbConfig[1]; - break; - case GLX_GREEN_SIZE: - rgbaSize[1] = fbConfig[1]; - break; - case GLX_BLUE_SIZE: - rgbaSize[2] = fbConfig[1]; - break; - case GLX_ALPHA_SIZE: - rgbaSize[3] = fbConfig[1]; - break; - case GLX_DEPTH_SIZE: - depthSize = fbConfig[1]; - break; - case GLX_STENCIL_SIZE: - stencilSize = fbConfig[1]; - break; - case GLX_ACCUM_RED_SIZE: - case GLX_ACCUM_GREEN_SIZE: - case GLX_ACCUM_BLUE_SIZE: - case GLX_ACCUM_ALPHA_SIZE: - break; - } - // go to next - if (isSingle && assumeBooleans) - fbConfig++; - else - fbConfig+=2; - } - if (rgbaSize[3]) - flags |= GLO_FF_ALPHA; - // ensure we have room for *some* alpha - if ((flags & GLO_FF_ALPHA) && (rgbaSize[3]==0)) - rgbaSize[3] = 1; - // Buffer size flag - if (bufferSize==0) - bufferSize = rgbaSize[0]+rgbaSize[1]+rgbaSize[2]+rgbaSize[3]; - if (bufferSize==0) - bufferSize = (flags & GLO_FF_ALPHA) ? 32 : 24; - if (bufferSize<=16) - flags |= GLO_FF_BITS_16; - else if (bufferSize<=24) - flags |= GLO_FF_BITS_24; - else flags |= GLO_FF_BITS_32; - // Depth - if (depthSize<=16) - flags |= GLO_FF_DEPTH_16; - else if (depthSize<=24) - flags |= GLO_FF_DEPTH_24; - else flags |= GLO_FF_DEPTH_32; - // Stencil - if (stencilSize>0) - flags |= GLO_FF_STENCIL_8; - return flags; -} - -int glo_get_glx_from_flags(int formatFlags, int glxEnum) { - int rgba[4]; - glo_flags_get_rgba_bits(formatFlags, rgba); - - switch (glxEnum) { - case GLX_USE_GL: return 1; - case GLX_BUFFER_SIZE: return glo_flags_get_bytes_per_pixel(formatFlags)*8; - case GLX_LEVEL: return 0; - case GLX_RGBA: return formatFlags & GLO_FF_ALPHA; - case GLX_DOUBLEBUFFER: return 1; - case GLX_STEREO: return 0; - case GLX_AUX_BUFFERS: return 0; - case GLX_RED_SIZE: return rgba[0]; - case GLX_GREEN_SIZE: return rgba[1]; - case GLX_BLUE_SIZE: return rgba[2]; - case GLX_ALPHA_SIZE: return rgba[3]; - case GLX_DEPTH_SIZE: return glo_flags_get_depth_bits(formatFlags); - case GLX_STENCIL_SIZE: return glo_flags_get_stencil_bits(formatFlags); - case GLX_ACCUM_RED_SIZE: - case GLX_ACCUM_GREEN_SIZE: - case GLX_ACCUM_BLUE_SIZE: - case GLX_ACCUM_ALPHA_SIZE: - return 0; - } - return 0; -} -