egl: Initialize display configs with the display.
authorChia-I Wu <olvaffe@gmail.com>
Sun, 31 Jan 2010 06:32:31 +0000 (14:32 +0800)
committerChia-I Wu <olvaffe@gmail.com>
Sun, 31 Jan 2010 06:46:14 +0000 (14:46 +0800)
This changes _eglInitConfig to take the display as its argument.

src/egl/drivers/glx/egl_glx.c
src/egl/drivers/xdri/egl_xdri.c
src/egl/main/eglconfig.c
src/egl/main/eglconfig.h
src/gallium/state_trackers/egl/common/egl_g3d.c

index 82d256c52d7ff91dd8f4a82d4fd9d1d7fcef17d4..8e6b5b07a2fec0a720b4a1c3032e18d440294163 100644 (file)
@@ -422,7 +422,7 @@ create_configs(_EGLDisplay *dpy, struct GLX_egl_display *GLX_dpy,
       EGLBoolean ok;
 
       memset(&template, 0, sizeof(template));
-      _eglInitConfig(&template.Base, id);
+      _eglInitConfig(&template.Base, dpy, id);
       if (GLX_dpy->have_fbconfig)
          ok = convert_fbconfig(GLX_dpy->dpy, GLX_dpy->fbconfigs[i], &template);
       else
index 2d868cbeea687f82e4ce9208d13914111415df6b..68e659eb2760a400753d91e352d770fa9bd001fe 100644 (file)
@@ -171,7 +171,6 @@ convert_config(_EGLConfig *conf, EGLint id, const __GLcontextModes *m)
 {
    EGLint val;
 
-   _eglInitConfig(conf, id);
    if (!_eglConfigFromContextModesRec(conf, m, EGL_OPENGL_BIT, EGL_OPENGL_BIT))
       return EGL_FALSE;
 
@@ -221,6 +220,7 @@ create_configs(_EGLDisplay *disp, const __GLcontextModes *m, EGLint first_id)
       _EGLConfig conf;
       EGLint rb;
 
+      _eglInitConfig(&conf, disp, id);
       if (!convert_config(&conf, id, m))
          continue;
       if (m->doubleBufferMode) {
index b974e40cce68822e27f17189975995909d3120c5..1a5fdbd4250e75823b8600fa62ab69c8f55d7397 100644 (file)
  * IDs are from 1 to N respectively.
  */
 void
-_eglInitConfig(_EGLConfig *config, EGLint id)
+_eglInitConfig(_EGLConfig *config, _EGLDisplay *dpy, EGLint id)
 {
    memset(config, 0, sizeof(*config));
 
+   config->Display = dpy;
+
    /* some attributes take non-zero default values */
    SET_CONFIG_ATTRIB(config, EGL_CONFIG_ID,               id);
    SET_CONFIG_ATTRIB(config, EGL_CONFIG_CAVEAT,           EGL_NONE);
@@ -730,7 +732,7 @@ _eglChooseConfig(_EGLDriver *drv, _EGLDisplay *disp, const EGLint *attrib_list,
    if (!num_configs)
       return _eglError(EGL_BAD_PARAMETER, "eglChooseConfigs");
 
-   _eglInitConfig(&criteria, 0);
+   _eglInitConfig(&criteria, disp, 0);
    if (!_eglParseConfigAttribList(&criteria, attrib_list))
       return _eglError(EGL_BAD_ATTRIBUTE, "eglChooseConfig");
 
index 799bf4ee2424e557a18d0195bc476e6b6633e4a1..09dc61f547361980c6e32a6c00ecf406d9459155 100644 (file)
@@ -92,7 +92,7 @@ _eglSetConfigAttrib(_EGLConfig *conf, EGLint attr, EGLint val)
 
 
 PUBLIC void
-_eglInitConfig(_EGLConfig *config, EGLint id);
+_eglInitConfig(_EGLConfig *config, _EGLDisplay *dpy, EGLint id);
 
 
 PUBLIC EGLConfig
index 3fd775abe5af2c831defae87c6015a5cf6e9c574..8a73e81d4ac0d94c432162e0a4bf642ea768d707 100644 (file)
@@ -468,7 +468,7 @@ egl_g3d_add_configs(_EGLDriver *drv, _EGLDisplay *dpy, EGLint id)
       if (!gconf)
          continue;
 
-      _eglInitConfig(&gconf->base, id);
+      _eglInitConfig(&gconf->base, dpy, id);
 
       api_mask = get_mode_api_mask(&native_configs[i]->mode, gdrv->api_mask);
       if (!api_mask) {