winrt: Fix backing store blit

The calculation forgot to take the mirrored texture upload into account.

Change-Id: Ia69c9c4b9d852d9ac652e71aaa466c5387ff5bca
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
This commit is contained in:
Andrew Knight 2014-08-08 13:26:53 +03:00
parent 00f3f5c0a6
commit 3846aec83b

View File

@ -128,12 +128,12 @@ void QWinRTBackingStore::flush(QWindow *window, const QRegion &region, const QPo
glBindFramebuffer(GL_READ_FRAMEBUFFER, d->fbo->handle()); glBindFramebuffer(GL_READ_FRAMEBUFFER, d->fbo->handle());
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0);
const int y1 = bounds.height() + bounds.y(); const int y1 = bounds.y();
const int y2 = d->size.height() - y1; const int y2 = y1 + bounds.height();
const int x1 = bounds.x(); const int x1 = bounds.x();
const int x2 = x1 + bounds.width(); const int x2 = x1 + bounds.width();
glBlitFramebuffer(x1, y2, x2, y1, glBlitFramebuffer(x1, y1, x2, y2,
x1, y1, x2, y2, x1, d->size.height() - y1, x2, d->size.height() - y2,
GL_COLOR_BUFFER_BIT, GL_NEAREST); GL_COLOR_BUFFER_BIT, GL_NEAREST);
d->context->swapBuffers(window); d->context->swapBuffers(window);