summaryrefslogtreecommitdiff
path: root/src/egl/main
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@bitplanet.net>2010-09-09 15:00:02 -0400
committerKristian Høgsberg <krh@bitplanet.net>2010-09-09 15:00:18 -0400
commit6eda3f311bc24999835003e404d5eda5599bc5de (patch)
treeeaeed72865a322334f18b60ab0f0b12f29ec935c /src/egl/main
parent01a7eebc4c3591eecb59e42409790bf1d6344847 (diff)
eglglx: Convert glx visuals/fbconfigs straight to EGL configs
In other words, skip the __GLcontextModes middle man.
Diffstat (limited to 'src/egl/main')
-rw-r--r--src/egl/main/Makefile2
-rw-r--r--src/egl/main/SConscript1
-rw-r--r--src/egl/main/eglconfigutil.c128
-rw-r--r--src/egl/main/eglconfigutil.h19
4 files changed, 0 insertions, 150 deletions
diff --git a/src/egl/main/Makefile b/src/egl/main/Makefile
index d92fbf6d9a..baee1a2f9d 100644
--- a/src/egl/main/Makefile
+++ b/src/egl/main/Makefile
@@ -12,7 +12,6 @@ INCLUDE_DIRS = -I$(TOP)/include
HEADERS = \
eglcompiler.h \
eglconfig.h \
- eglconfigutil.h \
eglcontext.h \
eglcurrent.h \
egldefines.h \
@@ -33,7 +32,6 @@ SOURCES = \
eglapi.c \
eglarray.c \
eglconfig.c \
- eglconfigutil.c \
eglcontext.c \
eglcurrent.c \
egldisplay.c \
diff --git a/src/egl/main/SConscript b/src/egl/main/SConscript
index 06846475ba..45d40e2650 100644
--- a/src/egl/main/SConscript
+++ b/src/egl/main/SConscript
@@ -24,7 +24,6 @@ if env['platform'] != 'winddk':
'eglapi.c',
'eglarray.c',
'eglconfig.c',
- 'eglconfigutil.c',
'eglcontext.c',
'eglcurrent.c',
'egldisplay.c',
diff --git a/src/egl/main/eglconfigutil.c b/src/egl/main/eglconfigutil.c
deleted file mode 100644
index e416b190f0..0000000000
--- a/src/egl/main/eglconfigutil.c
+++ /dev/null
@@ -1,128 +0,0 @@
-/**
- * Extra utility functions related to EGL configs.
- */
-
-
-#include <stdlib.h>
-#include <string.h>
-#include "eglconfigutil.h"
-
-
-/**
- * Convert an _EGLConfig to a __GLcontextModes object.
- * NOTE: This routine may be incomplete - we're only making sure that
- * the fields needed by Mesa (for _mesa_create_context/framebuffer) are
- * set correctly.
- */
-void
-_eglConfigToContextModesRec(const _EGLConfig *config, __GLcontextModes *mode)
-{
- memset(mode, 0, sizeof(*mode));
-
- mode->rgbMode = GL_TRUE; /* no color index */
- mode->colorIndexMode = GL_FALSE;
- mode->doubleBufferMode = GL_TRUE; /* always DB for now */
- mode->stereoMode = GL_FALSE;
-
- mode->redBits = GET_CONFIG_ATTRIB(config, EGL_RED_SIZE);
- mode->greenBits = GET_CONFIG_ATTRIB(config, EGL_GREEN_SIZE);
- mode->blueBits = GET_CONFIG_ATTRIB(config, EGL_BLUE_SIZE);
- mode->alphaBits = GET_CONFIG_ATTRIB(config, EGL_ALPHA_SIZE);
- mode->rgbBits = GET_CONFIG_ATTRIB(config, EGL_BUFFER_SIZE);
-
- /* no rgba masks - fix? */
-
- mode->depthBits = GET_CONFIG_ATTRIB(config, EGL_DEPTH_SIZE);
- mode->haveDepthBuffer = mode->depthBits > 0;
-
- mode->stencilBits = GET_CONFIG_ATTRIB(config, EGL_STENCIL_SIZE);
- mode->haveStencilBuffer = mode->stencilBits > 0;
-
- /* no accum */
-
- mode->level = GET_CONFIG_ATTRIB(config, EGL_LEVEL);
- mode->samples = GET_CONFIG_ATTRIB(config, EGL_SAMPLES);
- mode->sampleBuffers = GET_CONFIG_ATTRIB(config, EGL_SAMPLE_BUFFERS);
-
- /* surface type - not really needed */
- mode->visualType = GLX_TRUE_COLOR;
- mode->renderType = GLX_RGBA_BIT;
-}
-
-
-/**
- * Convert a __GLcontextModes object to an _EGLConfig.
- */
-EGLBoolean
-_eglConfigFromContextModesRec(_EGLConfig *conf, const __GLcontextModes *m,
- EGLint conformant, EGLint renderable_type)
-{
- EGLint config_caveat, surface_type;
-
- /* must be RGBA */
- if (!m->rgbMode || !(m->renderType & GLX_RGBA_BIT))
- return EGL_FALSE;
-
- config_caveat = EGL_NONE;
- if (m->visualRating == GLX_SLOW_CONFIG)
- config_caveat = EGL_SLOW_CONFIG;
-
- if (m->visualRating == GLX_NON_CONFORMANT_CONFIG)
- conformant &= ~EGL_OPENGL_BIT;
- if (!(conformant & EGL_OPENGL_ES_BIT))
- config_caveat = EGL_NON_CONFORMANT_CONFIG;
-
- surface_type = 0;
- if (m->drawableType & GLX_WINDOW_BIT)
- surface_type |= EGL_WINDOW_BIT;
- if (m->drawableType & GLX_PIXMAP_BIT)
- surface_type |= EGL_PIXMAP_BIT;
- if (m->drawableType & GLX_PBUFFER_BIT)
- surface_type |= EGL_PBUFFER_BIT;
-
- SET_CONFIG_ATTRIB(conf, EGL_BUFFER_SIZE, m->rgbBits);
- SET_CONFIG_ATTRIB(conf, EGL_RED_SIZE, m->redBits);
- SET_CONFIG_ATTRIB(conf, EGL_GREEN_SIZE, m->greenBits);
- SET_CONFIG_ATTRIB(conf, EGL_BLUE_SIZE, m->blueBits);
- SET_CONFIG_ATTRIB(conf, EGL_ALPHA_SIZE, m->alphaBits);
-
- SET_CONFIG_ATTRIB(conf, EGL_BIND_TO_TEXTURE_RGB, m->bindToTextureRgb);
- SET_CONFIG_ATTRIB(conf, EGL_BIND_TO_TEXTURE_RGBA, m->bindToTextureRgba);
- SET_CONFIG_ATTRIB(conf, EGL_COLOR_BUFFER_TYPE, EGL_RGB_BUFFER);
- SET_CONFIG_ATTRIB(conf, EGL_CONFIG_CAVEAT, config_caveat);
-
- SET_CONFIG_ATTRIB(conf, EGL_CONFORMANT, conformant);
- SET_CONFIG_ATTRIB(conf, EGL_DEPTH_SIZE, m->depthBits);
- SET_CONFIG_ATTRIB(conf, EGL_LEVEL, m->level);
- SET_CONFIG_ATTRIB(conf, EGL_MAX_PBUFFER_WIDTH, m->maxPbufferWidth);
- SET_CONFIG_ATTRIB(conf, EGL_MAX_PBUFFER_HEIGHT, m->maxPbufferHeight);
- SET_CONFIG_ATTRIB(conf, EGL_MAX_PBUFFER_PIXELS, m->maxPbufferPixels);
-
- SET_CONFIG_ATTRIB(conf, EGL_NATIVE_RENDERABLE, m->xRenderable);
- SET_CONFIG_ATTRIB(conf, EGL_NATIVE_VISUAL_ID, m->visualID);
-
- if (m->visualType != GLX_NONE)
- SET_CONFIG_ATTRIB(conf, EGL_NATIVE_VISUAL_TYPE, m->visualType);
- else
- SET_CONFIG_ATTRIB(conf, EGL_NATIVE_VISUAL_TYPE, EGL_NONE);
-
- SET_CONFIG_ATTRIB(conf, EGL_RENDERABLE_TYPE, renderable_type);
- SET_CONFIG_ATTRIB(conf, EGL_SAMPLE_BUFFERS, m->sampleBuffers);
- SET_CONFIG_ATTRIB(conf, EGL_SAMPLES, m->samples);
- SET_CONFIG_ATTRIB(conf, EGL_STENCIL_SIZE, m->stencilBits);
-
- SET_CONFIG_ATTRIB(conf, EGL_SURFACE_TYPE, surface_type);
-
- /* what to do with GLX_TRANSPARENT_INDEX? */
- if (m->transparentPixel == GLX_TRANSPARENT_RGB) {
- SET_CONFIG_ATTRIB(conf, EGL_TRANSPARENT_TYPE, EGL_TRANSPARENT_RGB);
- SET_CONFIG_ATTRIB(conf, EGL_TRANSPARENT_RED_VALUE, m->transparentRed);
- SET_CONFIG_ATTRIB(conf, EGL_TRANSPARENT_GREEN_VALUE, m->transparentGreen);
- SET_CONFIG_ATTRIB(conf, EGL_TRANSPARENT_BLUE_VALUE, m->transparentBlue);
- }
- else {
- SET_CONFIG_ATTRIB(conf, EGL_TRANSPARENT_TYPE, EGL_NONE);
- }
-
- return EGL_TRUE;
-}
diff --git a/src/egl/main/eglconfigutil.h b/src/egl/main/eglconfigutil.h
deleted file mode 100644
index c6f4819960..0000000000
--- a/src/egl/main/eglconfigutil.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef EGLCONFIGUTIL_INCLUDED
-#define EGLCONFIGUTIL_INCLUDED
-
-
-#include "GL/gl.h"
-#include "GL/internal/glcore.h"
-#include "eglconfig.h"
-
-
-PUBLIC void
-_eglConfigToContextModesRec(const _EGLConfig *config, __GLcontextModes *mode);
-
-
-PUBLIC EGLBoolean
-_eglConfigFromContextModesRec(_EGLConfig *conf, const __GLcontextModes *m,
- EGLint conformant, EGLint renderable_type);
-
-
-#endif /* EGLCONFIGUTIL_INCLUDED */