diff options
author | Andrew Knight <andrew.knight@intopalo.com> | 2015-05-03 20:56:04 +0300 |
---|---|---|
committer | Andrew Knight <qt@panimo.net> | 2015-05-08 02:34:03 +0000 |
commit | 916cfede0536ce63a1a5851bc675f5082e3c641c (patch) | |
tree | 8b94f8b3f0736d1cb3a5710284a21034b3789a2b /src/3rdparty/angle/src/libGLESv2 | |
parent | 00a341daa7c55926ce4d1c1f0290520b5e6c22a5 (diff) |
ANGLE: Allow Windows Phone to communicate swap region
eglPostSubBufferNV is used to communicate the size of the window, as
otherwise there is no way for the renderer to know if the last frame was
rendered in landscape or portrait, causing rendering glitches when the
orientation changes. The rotation flags are utilized in a few additional
places now to fix some corner cases where the rotation was not applied.
This patch should be squashed into "ANGLE-Improve-Windows-Phone-Support"
during the next ANGLE rebase.
Task-number: QTBUG-44333
Task-number: QTBUG-43502
Change-Id: Iec37f7531854184819c30c87eab82d96d56ff133
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
Diffstat (limited to 'src/3rdparty/angle/src/libGLESv2')
-rw-r--r-- | src/3rdparty/angle/src/libGLESv2/entry_points_egl_ext.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/3rdparty/angle/src/libGLESv2/entry_points_egl_ext.cpp b/src/3rdparty/angle/src/libGLESv2/entry_points_egl_ext.cpp index ded73dbb48..62f3ca1207 100644 --- a/src/3rdparty/angle/src/libGLESv2/entry_points_egl_ext.cpp +++ b/src/3rdparty/angle/src/libGLESv2/entry_points_egl_ext.cpp @@ -101,12 +101,14 @@ EGLBoolean EGLAPIENTRY PostSubBufferNV(EGLDisplay dpy, EGLSurface surface, EGLin return EGL_FALSE; } +#if !defined(ANGLE_ENABLE_WINDOWS_STORE) || (defined(ANGLE_ENABLE_WINDOWS_STORE) && WINAPI_FAMILY == WINAPI_FAMILY_PC_APP) // Qt WP: Allow this entry point as a workaround if (!display->getExtensions().postSubBuffer) { // Spec is not clear about how this should be handled. SetGlobalError(Error(EGL_SUCCESS)); return EGL_TRUE; } +#endif error = eglSurface->postSubBuffer(x, y, width, height); if (error.isError()) |