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/Framebuffer.h b/src/libANGLE/Framebuffer.h
index 9d6b3fd..32a8938 100644
--- a/src/libANGLE/Framebuffer.h
+++ b/src/libANGLE/Framebuffer.h
@@ -214,7 +214,7 @@
bool usingExtendedDrawBuffers() const;
// This method calls checkStatus.
- int getSamples(const Context *context);
+ Error getSamples(const Context *context, int *samplesOut);
Error getSamplePosition(size_t index, GLfloat *xy) const;
@@ -229,13 +229,13 @@
void invalidateCompletenessCache();
- GLenum checkStatus(const Context *context);
+ Error checkStatus(const Context *context, GLenum *statusOut);
// For when we don't want to check completeness in getSamples().
int getCachedSamples(const Context *context);
// Helper for checkStatus == GL_FRAMEBUFFER_COMPLETE.
- bool complete(const Context *context);
+ Error isComplete(const Context *context, bool *completeOut);
bool hasValidDepthStencil() const;
@@ -328,7 +328,7 @@
GLenum matchType,
GLuint matchId,
size_t dirtyBit);
- GLenum checkStatusImpl(const Context *context);
+ GLenum checkStatusWithGLFrontEnd(const Context *context);
void setAttachment(const Context *context,
GLenum type,
GLenum binding,