diff options
author | Mark Janes <[email protected]> | 2017-08-30 08:45:36 -0700 |
---|---|---|
committer | Mark Janes <[email protected]> | 2017-08-30 08:45:36 -0700 |
commit | 8c9df0daf20206fafb7df77b1edcbc41b8e91372 (patch) | |
tree | cd2dc03fab1854604010cad0be163125675c9fd6 /src/egl/drivers/dri2/egl_dri2.c | |
parent | 783f2b70c0013c4079af842c5e6e91f3ff9f5535 (diff) |
Revert "egl: Allow creation of per surface out fence"
This reverts commit 13c23b19d0b3b965d666498eb759e63fc4a625d9.
Mesa CI was brought down by this commit, with:
mesa/drivers/dri/i965/brw_sync.c:491: brw_dri_create_fence_fd:
Assertion `brw->screen->has_exec_fence' failed.
Diffstat (limited to 'src/egl/drivers/dri2/egl_dri2.c')
-rw-r--r-- | src/egl/drivers/dri2/egl_dri2.c | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c index af238a974c9..2667aa5d647 100644 --- a/src/egl/drivers/dri2/egl_dri2.c +++ b/src/egl/drivers/dri2/egl_dri2.c @@ -1388,45 +1388,6 @@ dri2_destroy_context(_EGLDriver *drv, _EGLDisplay *disp, _EGLContext *ctx) return EGL_TRUE; } -EGLBoolean -dri2_init_surface(_EGLSurface *surf, _EGLDisplay *dpy, EGLint type, - _EGLConfig *conf, const EGLint *attrib_list, EGLBoolean enable_out_fence) -{ - struct dri2_egl_surface *dri2_surf = dri2_egl_surface(surf); - struct dri2_egl_display *dri2_dpy = dri2_egl_display(dpy); - - dri2_surf->out_fence_fd = -1; - dri2_surf->enable_out_fence = false; - if (dri2_dpy->fence && dri2_dpy->fence->base.version >= 2 && - dri2_dpy->fence->get_capabilities && - (dri2_dpy->fence->get_capabilities(dri2_dpy->dri_screen) & - __DRI_FENCE_CAP_NATIVE_FD)) { - dri2_surf->enable_out_fence = enable_out_fence; - } - - return _eglInitSurface(surf, dpy, type, conf, attrib_list); -} - -static void -dri2_surface_set_out_fence_fd( _EGLSurface *surf, int fence_fd) -{ - struct dri2_egl_surface *dri2_surf = dri2_egl_surface(surf); - - if (dri2_surf->out_fence_fd >=0) - close(dri2_surf->out_fence_fd); - - dri2_surf->out_fence_fd = fence_fd; -} - -void -dri2_fini_surface(_EGLSurface *surf) -{ - struct dri2_egl_surface *dri2_surf = dri2_egl_surface(surf); - - dri2_surface_set_out_fence_fd(surf, -1); - dri2_surf->enable_out_fence = false; -} - static EGLBoolean dri2_destroy_surface(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surf) { @@ -1438,28 +1399,6 @@ dri2_destroy_surface(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surf) return dri2_dpy->vtbl->destroy_surface(drv, dpy, surf); } -static void -dri2_surf_update_fence_fd(_EGLContext *ctx, - _EGLDisplay *dpy, _EGLSurface *surf) -{ - __DRIcontext *dri_ctx = dri2_egl_context(ctx)->dri_context; - struct dri2_egl_display *dri2_dpy = dri2_egl_display(dpy); - struct dri2_egl_surface *dri2_surf = dri2_egl_surface(surf); - int fence_fd = -1; - void *fence; - - if (!dri2_surf->enable_out_fence) - return; - - fence = dri2_dpy->fence->create_fence_fd(dri_ctx, -1); - if (fence) { - fence_fd = dri2_dpy->fence->get_fence_fd(dri2_dpy->dri_screen, - fence); - dri2_dpy->fence->destroy_fence(dri2_dpy->dri_screen, fence); - } - dri2_surface_set_out_fence_fd(surf, fence_fd); -} - /** * Called via eglMakeCurrent(), drv->API.MakeCurrent(). */ @@ -1496,8 +1435,6 @@ dri2_make_current(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *dsurf, if (old_ctx) { __DRIcontext *old_cctx = dri2_egl_context(old_ctx)->dri_context; - if (old_dsurf) - dri2_surf_update_fence_fd(old_ctx, disp, old_dsurf); dri2_dpy->core->unbindContext(old_cctx); } @@ -1636,10 +1573,6 @@ static EGLBoolean dri2_swap_buffers(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surf) { struct dri2_egl_display *dri2_dpy = dri2_egl_display(dpy); - _EGLContext *ctx = _eglGetCurrentContext(); - - if (ctx && surf) - dri2_surf_update_fence_fd(ctx, dpy, surf); return dri2_dpy->vtbl->swap_buffers(drv, dpy, surf); } @@ -1649,10 +1582,6 @@ dri2_swap_buffers_with_damage(_EGLDriver *drv, _EGLDisplay *dpy, const EGLint *rects, EGLint n_rects) { struct dri2_egl_display *dri2_dpy = dri2_egl_display(dpy); - _EGLContext *ctx = _eglGetCurrentContext(); - - if (ctx && surf) - dri2_surf_update_fence_fd(ctx, dpy, surf); return dri2_dpy->vtbl->swap_buffers_with_damage(drv, dpy, surf, rects, n_rects); } |