From 656d8a67723be480878b7b9bba4fd5e9bd2c9270 Mon Sep 17 00:00:00 2001 From: Zeno Albisser Date: Fri, 30 Nov 2012 13:37:22 +0100 Subject: [PATCH] ANGLE Patch file: Do not reset the share handle when resetting the swap chain. Change-Id: I7ddc0f31b342ba40d4e14a99afdf237cb37d7ace Reviewed-by: Simon Hausmann --- ...et-the-share-handle-when-resetting-t.patch | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/angle/patches/0006-ANGLE-Do-not-reset-the-share-handle-when-resetting-t.patch diff --git a/src/angle/patches/0006-ANGLE-Do-not-reset-the-share-handle-when-resetting-t.patch b/src/angle/patches/0006-ANGLE-Do-not-reset-the-share-handle-when-resetting-t.patch new file mode 100644 index 0000000000..7d4c7af3f8 --- /dev/null +++ b/src/angle/patches/0006-ANGLE-Do-not-reset-the-share-handle-when-resetting-t.patch @@ -0,0 +1,32 @@ +From 7a2483c26eebf1c06924143108186eae59d85d98 Mon Sep 17 00:00:00 2001 +From: Zeno Albisser +Date: Fri, 30 Nov 2012 13:20:44 +0100 +Subject: [PATCH] ANGLE: Do not reset the share handle when resetting the swap + chain. + +This change only affects the ANGLE_surface_d3d_texture_2d_share_handle +extension. The patch is necessary to have WebGL running in Qt/WebKit2. + +If the share handle is reset, we are loosing the reference to the +EGLSurface and cannot actually reuse it in a different context anymore. + +Change-Id: I0138432dd8ff60ea57e7e591cfa2f8db1d324f53 +--- + src/3rdparty/angle/src/libEGL/Surface.cpp | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/3rdparty/angle/src/libEGL/Surface.cpp b/src/3rdparty/angle/src/libEGL/Surface.cpp +index 174b403..d9e1887 100644 +--- a/src/3rdparty/angle/src/libEGL/Surface.cpp ++++ b/src/3rdparty/angle/src/libEGL/Surface.cpp +@@ -217,7 +217,6 @@ bool Surface::resetSwapChain(int backbufferWidth, int backbufferHeight) + mDepthStencil = NULL; + } + +- mShareHandle = NULL; + HANDLE *pShareHandle = NULL; + if (!mWindow && mDisplay->shareHandleSupported()) + { +-- +1.7.9.5 +