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: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Luc Ferron <lucferron@chromium.org>
diff --git a/src/libANGLE/Context.cpp b/src/libANGLE/Context.cpp
index be15449..881b75a 100644
--- a/src/libANGLE/Context.cpp
+++ b/src/libANGLE/Context.cpp
@@ -3438,7 +3438,7 @@
 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(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();
 }