egl/dri2: call static functions directly, not via _EGLDriver::API
authorEmil Velikov <emil.velikov@collabora.com>
Thu, 18 Aug 2016 15:33:39 +0000 (16:33 +0100)
committerEmil Velikov <emil.l.velikov@gmail.com>
Fri, 14 Oct 2016 11:16:08 +0000 (12:16 +0100)
The indirection is meant to be used by the core EGL implementation in
main. Not in the drivers themselves.

Move the dri2_destroy_surface definition to avoid forward declaration of
the static function.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
src/egl/drivers/dri2/egl_dri2.c

index 5ad97b9c81b905dd03650c44967d96eb56456ccf..cc10e604bbdecb11425f6d986bf39a3ca1272b9f 100644 (file)
@@ -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);
       }
 
@@ -1364,17 +1375,6 @@ dri2_create_pbuffer_surface(_EGLDriver *drv, _EGLDisplay *dpy,
    return dri2_dpy->vtbl->create_pbuffer_surface(drv, dpy, conf, attrib_list);
 }
 
-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)