Make compile optimization level hidden outside D3D.
BUG=angle:773
Change-Id: Ia6f16d2e4644c02d94cf99b73f70d05486886925
Reviewed-on: https://chromium-review.googlesource.com/232696
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
diff --git a/src/libANGLE/renderer/d3d/ProgramD3D.cpp b/src/libANGLE/renderer/d3d/ProgramD3D.cpp
index e7317e6..6b94b7a 100644
--- a/src/libANGLE/renderer/d3d/ProgramD3D.cpp
+++ b/src/libANGLE/renderer/d3d/ProgramD3D.cpp
@@ -402,6 +402,13 @@
LinkResult ProgramD3D::load(gl::InfoLog &infoLog, gl::BinaryInputStream *stream)
{
+ int compileFlags = stream->readInt<int>();
+ if (compileFlags != ANGLE_COMPILE_OPTIMIZATION_LEVEL)
+ {
+ infoLog.append("Mismatched compilation flags.");
+ return LinkResult(false, gl::Error(GL_NO_ERROR));
+ }
+
stream->readInt(&mShaderVersion);
const unsigned int psSamplerCount = stream->readInt<unsigned int>();
@@ -654,6 +661,8 @@
gl::Error ProgramD3D::save(gl::BinaryOutputStream *stream)
{
+ stream->writeInt(ANGLE_COMPILE_OPTIMIZATION_LEVEL);
+
stream->writeInt(mShaderVersion);
stream->writeInt(mSamplersPS.size());