From 2773f888dc9cde61dedf1b004e35efcc72ca9240 Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Wed, 5 May 2010 18:27:29 +0800 Subject: egl_g3d: Check external modules for client APIs first. dlopen api_.so before dlopening the process itself in case the client APIs are implemented in external modules. --- src/gallium/state_trackers/egl/common/egl_g3d.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'src/gallium/state_trackers/egl/common/egl_g3d.c') diff --git a/src/gallium/state_trackers/egl/common/egl_g3d.c b/src/gallium/state_trackers/egl/common/egl_g3d.c index 3ab72dce2f..5c6fe97922 100644 --- a/src/gallium/state_trackers/egl/common/egl_g3d.c +++ b/src/gallium/state_trackers/egl/common/egl_g3d.c @@ -50,8 +50,8 @@ egl_g3d_init_st(_EGLDriver *drv) if (gdrv->api_mask) return; + egl_g3d_init_st_apis(gdrv->stapis); for (i = 0; i < ST_API_COUNT; i++) { - gdrv->stapis[i] = egl_g3d_create_st_api(i); if (gdrv->stapis[i]) gdrv->api_mask |= egl_g3d_st_api_bit(i); } @@ -581,13 +581,8 @@ static void egl_g3d_unload(_EGLDriver *drv) { struct egl_g3d_driver *gdrv = egl_g3d_driver(drv); - EGLint i; - - for (i = 0; i < ST_API_COUNT; i++) { - if (gdrv->stapis[i]) - gdrv->stapis[i]->destroy(gdrv->stapis[i]); - } + egl_g3d_destroy_st_apis(); egl_g3d_destroy_probe(drv, NULL); FREE(gdrv); } -- cgit v1.2.3