summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/egl/drivers/dri2/egl_dri2.c28
1 files changed, 14 insertions, 14 deletions
diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c
index 5ad97b9c81b..cc10e604bbd 100644
--- a/src/egl/drivers/dri2/egl_dri2.c
+++ b/src/egl/drivers/dri2/egl_dri2.c
@@ -1238,6 +1238,17 @@ dri2_destroy_context(_EGLDriver *drv, _EGLDisplay *disp, _EGLContext *ctx)
return EGL_TRUE;
}
+static EGLBoolean
+dri2_destroy_surface(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surf)
+{
+ struct dri2_egl_display *dri2_dpy = dri2_egl_display(dpy);
+
+ if (!_eglPutSurface(surf))
+ return EGL_TRUE;
+
+ return dri2_dpy->vtbl->destroy_surface(drv, dpy, surf);
+}
+
/**
* Called via eglMakeCurrent(), drv->API.MakeCurrent().
*/
@@ -1281,15 +1292,15 @@ dri2_make_current(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *dsurf,
if (unbind || dri2_dpy->core->bindContext(cctx, ddraw, rdraw)) {
if (old_dsurf)
- drv->API.DestroySurface(drv, disp, old_dsurf);
+ dri2_destroy_surface(drv, disp, old_dsurf);
if (old_rsurf)
- drv->API.DestroySurface(drv, disp, old_rsurf);
+ dri2_destroy_surface(drv, disp, old_rsurf);
if (!unbind)
dri2_dpy->ref_count++;
if (old_ctx) {
EGLDisplay old_disp = _eglGetDisplayHandle(old_ctx->Resource.Display);
- drv->API.DestroyContext(drv, disp, old_ctx);
+ dri2_destroy_context(drv, disp, old_ctx);
dri2_display_release(old_disp);
}
@@ -1365,17 +1376,6 @@ dri2_create_pbuffer_surface(_EGLDriver *drv, _EGLDisplay *dpy,
}
static EGLBoolean
-dri2_destroy_surface(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surf)
-{
- struct dri2_egl_display *dri2_dpy = dri2_egl_display(dpy);
-
- if (!_eglPutSurface(surf))
- return EGL_TRUE;
-
- return dri2_dpy->vtbl->destroy_surface(drv, dpy, surf);
-}
-
-static EGLBoolean
dri2_swap_interval(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surf,
EGLint interval)
{