Commit 189ad877 by Jamie Madill Committed by Commit Bot

Return an Error from ContextImpl::syncState.

This will allow the Vulkan back-end to call Vulkan commands that return VkResult within syncState. Bug: angleproject:2717 Change-Id: I05e1379e71acaac56bcc9493c8561e82da000934 Reviewed-on: https://chromium-review.googlesource.com/1120150 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org> Reviewed-by: 's avatarLuc Ferron <lucferron@chromium.org>
parent d7890bca
......@@ -3438,7 +3438,7 @@ Error Context::syncState(const State::DirtyBits &bitMask, const State::DirtyObje
Error Context::syncDirtyBits()
{
const State::DirtyBits &dirtyBits = mGLState.getDirtyBits();
mImplementation->syncState(this, dirtyBits);
ANGLE_TRY(mImplementation->syncState(this, dirtyBits));
mGLState.clearDirtyBits();
return NoError();
}
......@@ -3446,7 +3446,7 @@ Error Context::syncDirtyBits()
Error Context::syncDirtyBits(const State::DirtyBits &bitMask)
{
const State::DirtyBits &dirtyBits = (mGLState.getDirtyBits() & bitMask);
mImplementation->syncState(this, dirtyBits);
ANGLE_TRY(mImplementation->syncState(this, dirtyBits));
mGLState.clearDirtyBits(dirtyBits);
return NoError();
}
......
......@@ -140,7 +140,8 @@ class ContextImpl : public GLImplFactory
virtual void popDebugGroup() = 0;
// State sync with dirty bits.
virtual void syncState(const gl::Context *context, const gl::State::DirtyBits &dirtyBits) = 0;
virtual gl::Error syncState(const gl::Context *context,
const gl::State::DirtyBits &dirtyBits) = 0;
// Disjoint timer queries
virtual GLint getGPUDisjoint() = 0;
......
......@@ -403,9 +403,10 @@ void Context11::popDebugGroup()
popGroupMarker();
}
void Context11::syncState(const gl::Context *context, const gl::State::DirtyBits &dirtyBits)
gl::Error Context11::syncState(const gl::Context *context, const gl::State::DirtyBits &dirtyBits)
{
mRenderer->getStateManager()->syncState(context, dirtyBits);
return gl::NoError();
}
GLint Context11::getGPUDisjoint()
......
......@@ -120,7 +120,7 @@ class Context11 : public ContextImpl
void popDebugGroup() override;
// State sync with dirty bits.
void syncState(const gl::Context *context, const gl::State::DirtyBits &dirtyBits) override;
gl::Error syncState(const gl::Context *context, const gl::State::DirtyBits &dirtyBits) override;
// Disjoint timer queries
GLint getGPUDisjoint() override;
......
......@@ -255,9 +255,10 @@ void Context9::popDebugGroup()
popGroupMarker();
}
void Context9::syncState(const gl::Context *context, const gl::State::DirtyBits &dirtyBits)
gl::Error Context9::syncState(const gl::Context *context, const gl::State::DirtyBits &dirtyBits)
{
mRenderer->getStateManager()->syncState(mState.getState(), dirtyBits);
return gl::NoError();
}
GLint Context9::getGPUDisjoint()
......
......@@ -120,7 +120,7 @@ class Context9 : public ContextImpl
void popDebugGroup() override;
// State sync with dirty bits.
void syncState(const gl::Context *context, const gl::State::DirtyBits &dirtyBits) override;
gl::Error syncState(const gl::Context *context, const gl::State::DirtyBits &dirtyBits) override;
// Disjoint timer queries
GLint getGPUDisjoint() override;
......
......@@ -365,9 +365,10 @@ void ContextGL::popDebugGroup()
mRenderer->popDebugGroup();
}
void ContextGL::syncState(const gl::Context *context, const gl::State::DirtyBits &dirtyBits)
gl::Error ContextGL::syncState(const gl::Context *context, const gl::State::DirtyBits &dirtyBits)
{
mRenderer->getStateManager()->syncState(context, dirtyBits);
return gl::NoError();
}
GLint ContextGL::getGPUDisjoint()
......
......@@ -174,7 +174,7 @@ class ContextGL : public ContextImpl
void popDebugGroup() override;
// State sync with dirty bits.
void syncState(const gl::Context *context, const gl::State::DirtyBits &dirtyBits) override;
gl::Error syncState(const gl::Context *context, const gl::State::DirtyBits &dirtyBits) override;
// Disjoint timer queries
GLint getGPUDisjoint() override;
......
......@@ -295,8 +295,9 @@ void ContextNULL::popDebugGroup()
{
}
void ContextNULL::syncState(const gl::Context *context, const gl::State::DirtyBits &dirtyBits)
gl::Error ContextNULL::syncState(const gl::Context *context, const gl::State::DirtyBits &dirtyBits)
{
return gl::NoError();
}
GLint ContextNULL::getGPUDisjoint()
......
......@@ -142,7 +142,7 @@ class ContextNULL : public ContextImpl
void popDebugGroup() override;
// State sync with dirty bits.
void syncState(const gl::Context *context, const gl::State::DirtyBits &dirtyBits) override;
gl::Error syncState(const gl::Context *context, const gl::State::DirtyBits &dirtyBits) override;
// Disjoint timer queries
GLint getGPUDisjoint() override;
......
......@@ -414,7 +414,7 @@ void ContextVk::updateScissor(const gl::State &glState)
}
}
void ContextVk::syncState(const gl::Context *context, const gl::State::DirtyBits &dirtyBits)
gl::Error ContextVk::syncState(const gl::Context *context, const gl::State::DirtyBits &dirtyBits)
{
if (dirtyBits.any())
{
......@@ -655,6 +655,8 @@ void ContextVk::syncState(const gl::Context *context, const gl::State::DirtyBits
programVk->invalidateTextures();
mTexturesDirty = true;
}
return gl::NoError();
}
GLint ContextVk::getGPUDisjoint()
......
......@@ -90,7 +90,7 @@ class ContextVk : public ContextImpl
bool isViewportFlipEnabled();
// State sync with dirty bits.
void syncState(const gl::Context *context, const gl::State::DirtyBits &dirtyBits) override;
gl::Error syncState(const gl::Context *context, const gl::State::DirtyBits &dirtyBits) override;
// Disjoint timer queries
GLint getGPUDisjoint() override;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment