Use angle::Result in front-end. (Part 1)
This covers most of the hot paths used in draw calls. Gives in the
order of a 5% reduction in draw call overhead.
Bug: angleproject:2491
Change-Id: I2d53afb1163eaceed61fb9cd9ce6c1267c85c0fa
Reviewed-on: https://chromium-review.googlesource.com/c/1258149
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/Context.cpp b/src/libANGLE/Context.cpp
index c99cbe5..bfd5815 100644
--- a/src/libANGLE/Context.cpp
+++ b/src/libANGLE/Context.cpp
@@ -3455,7 +3455,7 @@
return (instanceCount == 0) || noopDraw(mode, count);
}
-Error Context::prepareForDraw(PrimitiveMode mode)
+angle::Result Context::prepareForDraw(PrimitiveMode mode)
{
if (mGLES1Renderer)
{
@@ -3471,7 +3471,7 @@
}
ANGLE_TRY(syncDirtyBits());
- return NoError();
+ return angle::Result::Continue();
}
Error Context::prepareForClear(GLbitfield mask)
@@ -3498,23 +3498,23 @@
return NoError();
}
-Error Context::syncDirtyBits()
+angle::Result Context::syncDirtyBits()
{
const State::DirtyBits &dirtyBits = mGLState.getDirtyBits();
ANGLE_TRY(mImplementation->syncState(this, dirtyBits));
mGLState.clearDirtyBits();
- return NoError();
+ return angle::Result::Continue();
}
-Error Context::syncDirtyBits(const State::DirtyBits &bitMask)
+angle::Result Context::syncDirtyBits(const State::DirtyBits &bitMask)
{
const State::DirtyBits &dirtyBits = (mGLState.getDirtyBits() & bitMask);
ANGLE_TRY(mImplementation->syncState(this, dirtyBits));
mGLState.clearDirtyBits(dirtyBits);
- return NoError();
+ return angle::Result::Continue();
}
-Error Context::syncDirtyObjects(const State::DirtyObjects &objectMask)
+angle::Result Context::syncDirtyObjects(const State::DirtyObjects &objectMask)
{
return mGLState.syncDirtyObjects(this, objectMask);
}