From c276aa51303b7c6f8e4cd854aadf8344a906e50f Mon Sep 17 00:00:00 2001 From: Oliver Wolff Date: Thu, 19 May 2016 10:55:46 +0200 Subject: ANGLE: fixed usage of shared handles for WinRT/WinPhone applications Both checks are not relevant in Qt's context and were skipped before but they sneaked back in with the latest ANGLE update. Change-Id: Ic44de5468a3254afd76ef4804d97d245676daeb1 Reviewed-by: Maurice Kalinowski --- src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp | 3 +++ src/3rdparty/angle/src/libANGLE/validationEGL.cpp | 3 +++ 2 files changed, 6 insertions(+) (limited to 'src/3rdparty/angle') diff --git a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp index 62badccefc..0173311bc6 100644 --- a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp +++ b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp @@ -2618,12 +2618,15 @@ bool Renderer11::getShareHandleSupport() const return false; } + // Qt: we don't care about the 9_3 limitation +#if 0 // Also disable share handles on Feature Level 9_3, since it doesn't support share handles on RGBA8 textures/swapchains. if (mRenderer11DeviceCaps.featureLevel <= D3D_FEATURE_LEVEL_9_3) { mSupportsShareHandles = false; return false; } +#endif // Find out which type of D3D11 device the Renderer11 is using d3d11::ANGLED3D11DeviceType deviceType = getDeviceType(); diff --git a/src/3rdparty/angle/src/libANGLE/validationEGL.cpp b/src/3rdparty/angle/src/libANGLE/validationEGL.cpp index 972f6a7a5a..903f51b158 100644 --- a/src/3rdparty/angle/src/libANGLE/validationEGL.cpp +++ b/src/3rdparty/angle/src/libANGLE/validationEGL.cpp @@ -642,11 +642,14 @@ Error ValidateCreatePbufferFromClientBuffer(Display *display, EGLenum buftype, E return Error(EGL_BAD_ATTRIBUTE); } +// On Windows Store, we know the originating texture came from D3D11, so bypass this check +#if !defined(ANGLE_ENABLE_WINDOWS_STORE) const Caps &caps = display->getCaps(); if (textureFormat != EGL_NO_TEXTURE && !caps.textureNPOT && (!gl::isPow2(width) || !gl::isPow2(height))) { return Error(EGL_BAD_MATCH); } +#endif } return Error(EGL_SUCCESS); -- cgit v1.2.3