Smart caching of VAO input layout.
Don't recompute the cached attribute layout for a program if the
vertex array info hasn't changed. We can use the Serial class to
know when a vertex array has identical state.
BUG=angleproject:1156
Change-Id: Ia11f6ac268f63c3299f6d6d80c2866009cb8429c
Reviewed-on: https://chromium-review.googlesource.com/529768
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/Context.cpp b/src/libANGLE/Context.cpp
index 349491d..240dcd8 100644
--- a/src/libANGLE/Context.cpp
+++ b/src/libANGLE/Context.cpp
@@ -4649,6 +4649,7 @@
Program *programObject = getProgram(program);
ASSERT(programObject);
handleError(programObject->link(this));
+ mGLState.onProgramExecutableChange(programObject);
}
void Context::releaseShaderCompiler()
@@ -4843,8 +4844,8 @@
{
Program *programObject = getProgram(program);
ASSERT(programObject != nullptr);
-
handleError(programObject->loadBinary(this, binaryFormat, binary, length));
+ mGLState.onProgramExecutableChange(programObject);
}
} // namespace gl