mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 07:28:11 +02:00
st/egl: flush resources before presentation
Fixes regression on r600g due to fast clear introduced by commit
edbbfac6.
Signed-off-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
parent
d99b5b2d82
commit
6349b3235c
1 changed files with 11 additions and 0 deletions
|
|
@ -290,6 +290,12 @@ dri2_surface_flush_frontbuffer(struct native_surface *nsurf)
|
|||
{
|
||||
struct dri2_surface *dri2surf = dri2_surface(nsurf);
|
||||
struct dri2_display *dri2dpy = dri2surf->dri2dpy;
|
||||
struct native_display *ndpy = &dri2dpy->base;
|
||||
struct pipe_context *pipe = ndpy_get_copy_context(ndpy);
|
||||
|
||||
/* flush buffer */
|
||||
pipe->flush_resource(pipe, dri2surf->textures[NATIVE_ATTACHMENT_FRONT_LEFT]);
|
||||
pipe->flush(pipe, NULL, 0);
|
||||
|
||||
/* copy to real front buffer */
|
||||
if (dri2surf->have_fake)
|
||||
|
|
@ -313,9 +319,14 @@ dri2_surface_swap_buffers(struct native_surface *nsurf, int num_rects,
|
|||
{
|
||||
struct dri2_surface *dri2surf = dri2_surface(nsurf);
|
||||
struct dri2_display *dri2dpy = dri2surf->dri2dpy;
|
||||
struct native_display *ndpy = &dri2dpy->base;
|
||||
struct pipe_context *pipe = ndpy_get_copy_context(ndpy);
|
||||
|
||||
/* copy to front buffer */
|
||||
if (dri2surf->have_back) {
|
||||
pipe->flush_resource(pipe, dri2surf->textures[NATIVE_ATTACHMENT_BACK_LEFT]);
|
||||
pipe->flush(pipe, NULL, 0);
|
||||
|
||||
if (num_rects > 0)
|
||||
x11_drawable_copy_buffers_region(dri2dpy->xscr, dri2surf->drawable,
|
||||
num_rects, rects,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue