Implement full program binary support for ES3.
Refactor validation to be used in both the OES and ES3 entry points.
BUG=angleproject:600
BUG=angleproject:1101
Change-Id: I2008c4ea04ce07910f03ae0b997f8a77b66203d8
Reviewed-on: https://chromium-review.googlesource.com/316620
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libANGLE/Program.h b/src/libANGLE/Program.h
index ac06ff2..f538ce4 100644
--- a/src/libANGLE/Program.h
+++ b/src/libANGLE/Program.h
@@ -215,6 +215,8 @@
// TODO(jmadill): use unordered/hash map when available
std::map<int, VariableLocation> mOutputVariables;
+
+ bool mBinaryRetrieveableHint;
};
Program(rx::ImplFactory *factory, ResourceManager *manager, GLuint handle);
@@ -237,6 +239,8 @@
Error loadBinary(GLenum binaryFormat, const void *binary, GLsizei length);
Error saveBinary(GLenum *binaryFormat, void *binary, GLsizei bufSize, GLsizei *length) const;
GLint getBinaryLength() const;
+ void setBinaryRetrievableHint(bool retrievable);
+ bool getBinaryRetrievableHint() const;
int getInfoLogLength() const;
void getInfoLog(GLsizei bufSize, GLsizei *length, char *infoLog) const;