Program: Make LinkResult use gl::ErrorOrResult.
This simplifies the error handling code, and allows the use of the
ANGLE_TRY macro (and friends).
BUG=angleproject:1576
Change-Id: I3142388b10d0dd67a7f49a5c8c3d11102996be93
Reviewed-on: https://chromium-review.googlesource.com/411201
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libANGLE/Program.cpp b/src/libANGLE/Program.cpp
index 0e0c649..724bcf0 100644
--- a/src/libANGLE/Program.cpp
+++ b/src/libANGLE/Program.cpp
@@ -597,11 +597,10 @@
return NoError();
}
- rx::LinkResult result = mProgram->link(data, mInfoLog);
-
- if (result.error.isError() || !result.linkSuccess)
+ ANGLE_TRY_RESULT(mProgram->link(data, mInfoLog), mLinked);
+ if (!mLinked)
{
- return result.error;
+ return NoError();
}
}
else
@@ -654,10 +653,10 @@
linkOutputVariables();
- rx::LinkResult result = mProgram->link(data, mInfoLog);
- if (result.error.isError() || !result.linkSuccess)
+ ANGLE_TRY_RESULT(mProgram->link(data, mInfoLog), mLinked);
+ if (!mLinked)
{
- return result.error;
+ return NoError();
}
gatherTransformFeedbackVaryings(mergedVaryings);
@@ -665,7 +664,6 @@
gatherInterfaceBlockInfo();
- mLinked = true;
return NoError();
}
@@ -845,14 +843,9 @@
stream.readInt(&mSamplerUniformRange.start);
stream.readInt(&mSamplerUniformRange.end);
- rx::LinkResult result = mProgram->load(mInfoLog, &stream);
- if (result.error.isError() || !result.linkSuccess)
- {
- return result.error;
- }
+ ANGLE_TRY_RESULT(mProgram->load(mInfoLog, &stream), mLinked);
- mLinked = true;
- return Error(GL_NO_ERROR);
+ return NoError();
#endif // #if ANGLE_PROGRAM_BINARY_LOAD == ANGLE_ENABLED
}