diff options
author | Jon Smirl <jonsmirl@gmail.com> | 2005-05-15 04:00:59 +0000 |
---|---|---|
committer | Jon Smirl <jonsmirl@gmail.com> | 2005-05-15 04:00:59 +0000 |
commit | 45472672a2764e2ceaf499f586d7c337ddba731c (patch) | |
tree | 49ba49a0fa357c260b90515c6c1b884732c1e2b9 /src/egl/main | |
parent | aca2e0da3cd1e394673913b2a02ab85396a368a2 (diff) | |
download | external_mesa3d-45472672a2764e2ceaf499f586d7c337ddba731c.zip external_mesa3d-45472672a2764e2ceaf499f586d7c337ddba731c.tar.gz external_mesa3d-45472672a2764e2ceaf499f586d7c337ddba731c.tar.bz2 |
A few egl patches needed for glitz, mainly config BITS
Diffstat (limited to 'src/egl/main')
-rw-r--r-- | src/egl/main/eglconfig.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/egl/main/eglconfig.c b/src/egl/main/eglconfig.c index ff9a647..03f2cd0 100644 --- a/src/egl/main/eglconfig.c +++ b/src/egl/main/eglconfig.c @@ -28,7 +28,8 @@ _eglInitConfig(_EGLConfig *config, EGLint id) _eglSetConfigAtrib(config, EGL_NATIVE_VISUAL_TYPE, EGL_DONT_CARE); _eglSetConfigAtrib(config, EGL_MIN_SWAP_INTERVAL, EGL_DONT_CARE); _eglSetConfigAtrib(config, EGL_MAX_SWAP_INTERVAL, EGL_DONT_CARE); - _eglSetConfigAtrib(config, EGL_SURFACE_TYPE, EGL_WINDOW_BIT); + _eglSetConfigAtrib(config, EGL_SURFACE_TYPE, + EGL_SCREEN_BIT_MESA | EGL_PBUFFER_BIT | EGL_PIXMAP_BIT | EGL_WINDOW_BIT); _eglSetConfigAtrib(config, EGL_TRANSPARENT_TYPE, EGL_NONE); _eglSetConfigAtrib(config, EGL_TRANSPARENT_RED_VALUE, EGL_DONT_CARE); _eglSetConfigAtrib(config, EGL_TRANSPARENT_GREEN_VALUE, EGL_DONT_CARE); @@ -128,6 +129,7 @@ _eglSetConfigAtrib(_EGLConfig *config, EGLint attr, EGLint val) case EGL_SAMPLE_BUFFERS: break; case EGL_SURFACE_TYPE: + config->glmode.drawableType = val; break; case EGL_TRANSPARENT_TYPE: break; @@ -375,13 +377,15 @@ _eglGetConfigs(_EGLDriver *drv, EGLDisplay dpy, EGLConfig *configs, EGLint confi return EGL_FALSE; } - *num_config = MIN2(disp->NumConfigs, config_size); if (configs) { EGLint i; + *num_config = MIN2(disp->NumConfigs, config_size); for (i = 0; i < *num_config; i++) { configs[i] = disp->Configs[i].Handle; } - } + } else + *num_config = disp->NumConfigs; + return EGL_TRUE; } @@ -592,7 +596,9 @@ _eglFillInConfigs(_EGLConfig * configs, config->glmode.visualType = visType; config->glmode.renderType = GLX_RGBA_BIT; - config->glmode.drawableType = GLX_WINDOW_BIT; + _eglSetConfigAtrib(config, EGL_SURFACE_TYPE, EGL_SCREEN_BIT_MESA | + EGL_PBUFFER_BIT | EGL_PIXMAP_BIT | EGL_WINDOW_BIT); + config->glmode.rgbMode = GL_TRUE; if (db_modes[i] == GLX_NONE) { |