diff --git a/src/sna/sna_render.c b/src/sna/sna_render.c index cf227c6e..13c0526d 100644 --- a/src/sna/sna_render.c +++ b/src/sna/sna_render.c @@ -900,6 +900,9 @@ sna_render_picture_fixup(struct sna *sna, __FUNCTION__, channel->pict_format, pitch, picture->format)); } + if (picture->pDrawable) + sna_drawable_move_to_cpu(picture->pDrawable, false); + channel->bo = kgem_create_buffer(&sna->kgem, pitch*h, KGEM_BUFFER_WRITE, &ptr); @@ -923,9 +926,6 @@ sna_render_picture_fixup(struct sna *sna, return 0; } - if (picture->pDrawable) - sna_drawable_move_to_cpu(picture->pDrawable, false); - src = image_from_pict(picture, FALSE, &dx, &dy); if (src == NULL) { pixman_image_unref(dst);