Framebuffer: Handle errors in checkStatus.
This pipes a lot more errors around in the Validation, where
they now will be caught.
Bug: angleproject:2372
Change-Id: Ibb4e47ddc932995a02dd92e10578b7a4097182a9
Reviewed-on: https://chromium-review.googlesource.com/954406
Reviewed-by: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/validationES31.cpp b/src/libANGLE/validationES31.cpp
index 2ceabf0..f9cf8d5 100644
--- a/src/libANGLE/validationES31.cpp
+++ b/src/libANGLE/validationES31.cpp
@@ -1048,8 +1048,10 @@
}
Framebuffer *framebuffer = context->getGLState().getDrawFramebuffer();
+ GLint samples = 0;
+ ANGLE_VALIDATION_TRY(framebuffer->getSamples(context, &samples));
- if (index >= static_cast<GLuint>(framebuffer->getSamples(context)))
+ if (index >= static_cast<GLuint>(samples))
{
context->handleError(InvalidValue() << "Index must be less than the value of SAMPLES.");
return false;