diff options
author | Liang Qi <liang.qi@qt.io> | 2016-05-12 07:31:50 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2016-05-12 08:33:08 +0200 |
commit | 990969655c5fb4d03682e96df9b12101f5ee9815 (patch) | |
tree | b8fb5c50285105c8bc5a938fb50f93ff9f24889d /src/3rdparty/angle/src/libANGLE/Fence.cpp | |
parent | a213011a53f12f101d08a04afc8fdacd2d54a232 (diff) | |
parent | e64b2234e829cc47872225debcf80d6c06db18f0 (diff) |
Merge remote-tracking branch 'origin/5.7' into dev
Conflicts:
config_help.txt
configure
src/corelib/io/qprocess_wince.cpp
src/plugins/platforms/windows/qwindowstheme.cpp
src/plugins/platforms/xcb/qxcbbackingstore.cpp
tests/auto/corelib/tools/qtimezone/BLACKLIST
tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp
tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp
Change-Id: I26644d1cb3b78412c8ff285e2a55bea1bd641c01
Diffstat (limited to 'src/3rdparty/angle/src/libANGLE/Fence.cpp')
-rw-r--r-- | src/3rdparty/angle/src/libANGLE/Fence.cpp | 46 |
1 files changed, 28 insertions, 18 deletions
diff --git a/src/3rdparty/angle/src/libANGLE/Fence.cpp b/src/3rdparty/angle/src/libANGLE/Fence.cpp index 8ab4cc9daa..ff32f4bbe9 100644 --- a/src/3rdparty/angle/src/libANGLE/Fence.cpp +++ b/src/3rdparty/angle/src/libANGLE/Fence.cpp @@ -32,16 +32,9 @@ FenceNV::~FenceNV() SafeDelete(mFence); } -GLboolean FenceNV::isFence() const +Error FenceNV::set(GLenum condition) { - // GL_NV_fence spec: - // A name returned by GenFencesNV, but not yet set via SetFenceNV, is not the name of an existing fence. - return (mIsSet ? GL_TRUE : GL_FALSE); -} - -Error FenceNV::setFence(GLenum condition) -{ - Error error = mFence->set(); + Error error = mFence->set(condition); if (error.isError()) { return error; @@ -54,10 +47,10 @@ Error FenceNV::setFence(GLenum condition) return Error(GL_NO_ERROR); } -Error FenceNV::testFence(GLboolean *outResult) +Error FenceNV::test(GLboolean *outResult) { // Flush the command buffer by default - Error error = mFence->test(true, &mStatus); + Error error = mFence->test(&mStatus); if (error.isError()) { return error; @@ -67,17 +60,23 @@ Error FenceNV::testFence(GLboolean *outResult) return Error(GL_NO_ERROR); } -Error FenceNV::finishFence() +Error FenceNV::finish() { ASSERT(mIsSet); - return mFence->finishFence(&mStatus); + gl::Error error = mFence->finish(); + if (error.isError()) + { + return error; + } + + mStatus = GL_TRUE; + + return Error(GL_NO_ERROR); } FenceSync::FenceSync(rx::FenceSyncImpl *impl, GLuint id) - : RefCountObject(id), - mFence(impl), - mCondition(GL_NONE) + : RefCountObject(id), mFence(impl), mLabel(), mCondition(GL_NONE), mFlags(0) { } @@ -86,15 +85,26 @@ FenceSync::~FenceSync() SafeDelete(mFence); } -Error FenceSync::set(GLenum condition) +void FenceSync::setLabel(const std::string &label) +{ + mLabel = label; +} + +const std::string &FenceSync::getLabel() const +{ + return mLabel; +} + +Error FenceSync::set(GLenum condition, GLbitfield flags) { - Error error = mFence->set(); + Error error = mFence->set(condition, flags); if (error.isError()) { return error; } mCondition = condition; + mFlags = flags; return Error(GL_NO_ERROR); } |