summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Engestrom <eric@engestrom.ch>2017-09-26 13:13:39 +0100
committerEric Engestrom <eric.engestrom@imgtec.com>2017-10-12 14:38:55 +0100
commit9690759d0ccadd9527dee892eedc2f9d4baadf59 (patch)
tree94a10b8762a62bbf3585d30bd597d85295e02e22
parent6049fa454e4752a527cb8e13779082b27adcfb97 (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 <eric@engestrom.ch> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
-rw-r--r--src/egl/drivers/dri2/egl_dri2.c9
-rw-r--r--src/egl/drivers/haiku/egl_haiku.cpp9
-rw-r--r--src/egl/main/egldriver.c4
-rw-r--r--src/egl/main/egldriver.h7
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 171858bbcd..5334384d2f 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 c17198d6dd..29ef7e854c 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 1ede95ea6f..5d5b7daa41 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 a8b0cab2b1..fc27f1ffa3 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 */
};