egl/dri2: call static functions directly, not via _EGLDriver::API

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>
This commit is contained in:
Emil Velikov 2016-08-18 16:33:39 +01:00 committed by Emil Velikov
parent 532ec2edd8
commit 8cf83f9c08

View 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)