diff --git a/src/gallium/state_trackers/egl/android/native_android.cpp b/src/gallium/state_trackers/egl/android/native_android.cpp index 4eb0497..889b644 100644 --- a/src/gallium/state_trackers/egl/android/native_android.cpp +++ b/src/gallium/state_trackers/egl/android/native_android.cpp @@ -392,6 +392,13 @@ android_surface_swap_buffers(struct native_surface *nsurf) struct android_surface *asurf = android_surface(nsurf); struct android_display *adpy = asurf->adpy; + struct native_display *ndpy = &adpy->base; + struct pipe_context *pipe = ndpy_get_copy_context(ndpy); + + /* flush buffer */ + pipe->flush_resource(pipe, asurf->buf_res); + pipe->flush(pipe, NULL, 0); + android_surface_enqueue_buffer(&asurf->base); asurf->stamp++;