summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/angle/src
diff options
context:
space:
mode:
authorYuhang Zhao <2546789017@qq.com>2019-02-13 23:26:55 +0800
committerYuhang Zhao <2546789017@qq.com>2019-02-18 13:04:50 +0000
commit93a78799c3df7c8859b2d9addad45bb4a535dc97 (patch)
treec7c4aac196dead68dcf6205fd661b750c96c88d5 /src/3rdparty/angle/src
parent1366c4f04645d74e83847687adcf61ecfa20b3d2 (diff)
Fix compilation with icc, converting between egl's and gl's Error types
Each has two constructors from the other, one copying the other moving; and this leads to an ambiguous overload when converting Texture::onDestroy()'s gl::error to the egl::Error that gl::Context::onDestroy() returns. Passing the value through a temporary prevents the move-constructor from being attempted and saves the day. Thanks to Ville Voutilainen for suggesting the fix. Fixes: QTBUG-73698 Change-Id: I628173399a73cee2e253201bc3e8d3e6477a2fbf Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Diffstat (limited to 'src/3rdparty/angle/src')
-rw-r--r--src/3rdparty/angle/src/libANGLE/Context.cpp3
-rw-r--r--src/3rdparty/angle/src/libANGLE/Stream.cpp8
-rw-r--r--src/3rdparty/angle/src/libANGLE/Texture.cpp3
-rw-r--r--src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp3
4 files changed, 11 insertions, 6 deletions
diff --git a/src/3rdparty/angle/src/libANGLE/Context.cpp b/src/3rdparty/angle/src/libANGLE/Context.cpp
index f638beda58..84f7936feb 100644
--- a/src/3rdparty/angle/src/libANGLE/Context.cpp
+++ b/src/3rdparty/angle/src/libANGLE/Context.cpp
@@ -451,7 +451,8 @@ egl::Error Context::onDestroy(const egl::Display *display)
for (auto &zeroTexture : mZeroTextures)
{
- ANGLE_TRY(zeroTexture.second->onDestroy(this));
+ auto result = zeroTexture.second->onDestroy(this);
+ ANGLE_TRY(egl::Error(result));
zeroTexture.second.set(this, nullptr);
}
mZeroTextures.clear();
diff --git a/src/3rdparty/angle/src/libANGLE/Stream.cpp b/src/3rdparty/angle/src/libANGLE/Stream.cpp
index 68279976b7..e384c7d486 100644
--- a/src/3rdparty/angle/src/libANGLE/Stream.cpp
+++ b/src/3rdparty/angle/src/libANGLE/Stream.cpp
@@ -192,8 +192,9 @@ Error Stream::consumerAcquire(const gl::Context *context)
{
if (mPlanes[i].texture != nullptr)
{
- ANGLE_TRY(mPlanes[i].texture->acquireImageFromStream(
- context, mProducerImplementation->getGLFrameDescription(i)));
+ auto result = mPlanes[i].texture->acquireImageFromStream(
+ context, mProducerImplementation->getGLFrameDescription(i));
+ ANGLE_TRY(Error(result));
}
}
@@ -213,7 +214,8 @@ Error Stream::consumerRelease(const gl::Context *context)
{
if (mPlanes[i].texture != nullptr)
{
- ANGLE_TRY(mPlanes[i].texture->releaseImageFromStream(context));
+ auto result = mPlanes[i].texture->releaseImageFromStream(context);
+ ANGLE_TRY(Error(result));
}
}
diff --git a/src/3rdparty/angle/src/libANGLE/Texture.cpp b/src/3rdparty/angle/src/libANGLE/Texture.cpp
index da92e65916..7447604fe6 100644
--- a/src/3rdparty/angle/src/libANGLE/Texture.cpp
+++ b/src/3rdparty/angle/src/libANGLE/Texture.cpp
@@ -550,7 +550,8 @@ Error Texture::onDestroy(const Context *context)
{
if (mBoundSurface)
{
- ANGLE_TRY(mBoundSurface->releaseTexImage(context, EGL_BACK_BUFFER));
+ auto result = mBoundSurface->releaseTexImage(context, EGL_BACK_BUFFER);
+ ANGLE_TRY(Error(result));
mBoundSurface = nullptr;
}
if (mBoundStream)
diff --git a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp
index 75c6298868..b583273641 100644
--- a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp
+++ b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp
@@ -376,7 +376,8 @@ egl::Error Renderer9::initializeDevice()
ASSERT(!mBlit);
mBlit = new Blit9(this);
- ANGLE_TRY(mBlit->initialize());
+ auto result = mBlit->initialize();
+ ANGLE_TRY(egl::Error(result));
ASSERT(!mVertexDataManager && !mIndexDataManager);
mVertexDataManager = new VertexDataManager(this);