From a31e2e3312cae5c4253a47dc30926ceb8c821ce3 Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Wed, 22 Dec 2010 14:21:21 +0800 Subject: [PATCH] st/egl: Fix eglCopyBuffers. Flush before presenting. --- src/gallium/state_trackers/egl/common/egl_g3d_api.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/gallium/state_trackers/egl/common/egl_g3d_api.c b/src/gallium/state_trackers/egl/common/egl_g3d_api.c index 07ea6dc8b99..bce901ac9a9 100644 --- a/src/gallium/state_trackers/egl/common/egl_g3d_api.c +++ b/src/gallium/state_trackers/egl/common/egl_g3d_api.c @@ -665,14 +665,13 @@ egl_g3d_copy_buffers(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surf, ptex = get_pipe_resource(gdpy->native, nsurf, NATIVE_ATTACHMENT_FRONT_LEFT); if (ptex) { - struct pipe_resource *psrc = gsurf->render_texture; struct pipe_box src_box; + u_box_origin_2d(ptex->width0, ptex->height0, &src_box); - if (psrc) { - gdpy->pipe->resource_copy_region(gdpy->pipe, ptex, 0, 0, 0, 0, - gsurf->render_texture, 0, &src_box); - nsurf->present(nsurf, NATIVE_ATTACHMENT_FRONT_LEFT, FALSE, 0); - } + gdpy->pipe->resource_copy_region(gdpy->pipe, ptex, 0, 0, 0, 0, + gsurf->render_texture, 0, &src_box); + gdpy->pipe->flush(gdpy->pipe, PIPE_FLUSH_RENDER_CACHE, NULL); + nsurf->present(nsurf, NATIVE_ATTACHMENT_FRONT_LEFT, FALSE, 0); pipe_resource_reference(&ptex, NULL); } -- 2.30.2