diff options
author | Eric Engestrom <[email protected]> | 2017-09-26 13:13:39 +0100 |
---|---|---|
committer | Eric Engestrom <[email protected]> | 2017-10-12 14:38:55 +0100 |
commit | 9690759d0ccadd9527dee892eedc2f9d4baadf59 (patch) | |
tree | 94a10b8762a62bbf3585d30bd597d85295e02e22 | |
parent | 6049fa454e4752a527cb8e13779082b27adcfb97 (diff) |
egl: replace _egl_driver->Unload() callback with a simple free()
Bonus: fixes a memleak on haiku when unloading the driver
Signed-off-by: Eric Engestrom <[email protected]>
Reviewed-by: Emil Velikov <[email protected]>
-rw-r--r-- | src/egl/drivers/dri2/egl_dri2.c | 9 | ||||
-rw-r--r-- | src/egl/drivers/haiku/egl_haiku.cpp | 9 | ||||
-rw-r--r-- | src/egl/main/egldriver.c | 4 | ||||
-rw-r--r-- | src/egl/main/egldriver.h | 7 |
4 files changed, 1 insertions, 28 deletions
diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c index 171858bbcd9..5334384d2f5 100644 --- a/src/egl/drivers/dri2/egl_dri2.c +++ b/src/egl/drivers/dri2/egl_dri2.c @@ -3178,14 +3178,6 @@ dri2_interop_export_object(_EGLDisplay *dpy, _EGLContext *ctx, return dri2_dpy->interop->export_object(dri2_ctx->dri_context, in, out); } -static void -dri2_unload(_EGLDriver *drv) -{ - struct dri2_egl_driver *dri2_drv = dri2_egl_driver(drv); - - free(dri2_drv); -} - static EGLBoolean dri2_load(_EGLDriver *drv) { @@ -3272,7 +3264,6 @@ _eglBuiltInDriver(void) dri2_drv->base.API.DupNativeFenceFDANDROID = dri2_dup_native_fence_fd; dri2_drv->base.Name = "DRI2"; - dri2_drv->base.Unload = dri2_unload; return &dri2_drv->base; } diff --git a/src/egl/drivers/haiku/egl_haiku.cpp b/src/egl/drivers/haiku/egl_haiku.cpp index c17198d6dd8..29ef7e854c7 100644 --- a/src/egl/drivers/haiku/egl_haiku.cpp +++ b/src/egl/drivers/haiku/egl_haiku.cpp @@ -308,14 +308,6 @@ haiku_swap_buffers(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surf) } -extern "C" -void -haiku_unload(_EGLDriver* drv) -{ - -} - - /** * This is the main entrypoint into the driver, called by libEGL. * Create a new _EGLDriver object and init its dispatch table. @@ -347,7 +339,6 @@ _eglBuiltInDriver(void) driver->base.API.SwapBuffers = haiku_swap_buffers; driver->base.Name = "Haiku"; - driver->base.Unload = haiku_unload; TRACE("API Calls defined\n"); diff --git a/src/egl/main/egldriver.c b/src/egl/main/egldriver.c index 1ede95ea6f4..5d5b7daa418 100644 --- a/src/egl/main/egldriver.c +++ b/src/egl/main/egldriver.c @@ -120,8 +120,6 @@ void _eglUnloadDrivers(void) { /* this is called at atexit time */ - if (_eglDriver && _eglDriver->Unload) - _eglDriver->Unload(_eglDriver); - + free(_eglDriver); _eglDriver = NULL; } diff --git a/src/egl/main/egldriver.h b/src/egl/main/egldriver.h index a8b0cab2b1a..fc27f1ffa3c 100644 --- a/src/egl/main/egldriver.h +++ b/src/egl/main/egldriver.h @@ -80,13 +80,6 @@ struct _egl_driver { const char *Name; /**< name of this driver */ - /** - * Release the driver resource. - * - * It is called before dlclose(). - */ - void (*Unload)(_EGLDriver *drv); - _EGLAPI API; /**< EGL API dispatch table */ }; |