diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c index cf194a937fc..6177ac63f03 100644 --- a/src/mesa/state_tracker/st_cb_texture.c +++ b/src/mesa/state_tracker/st_cb_texture.c @@ -1098,6 +1098,10 @@ st_copy_texsubimage(GLcontext *ctx, stImage->face, stImage->level, destZ, PIPE_BUFFER_USAGE_GPU_WRITE); + if (do_flip) + srcY = strb->surface->height - srcY - height; + + /* for surface_copy(), y=0=top, always */ pipe->surface_copy(pipe, do_flip, /* dest */