Store un-linked shader attributes in ProgramBinary.
Our caching of compiled vertex shaders according to their input
signature needs a consistent input signature to match up shaders.
Since the linking step currently shuffles attributes according
to API specified locations we need a separate list.
BUG=angle:560
Change-Id: Icc4d5df1d37ae895d5c882b86e60f05b5c268461
Reviewed-on: https://chromium-review.googlesource.com/185193
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libGLESv2/ProgramBinary.h b/src/libGLESv2/ProgramBinary.h
index 808f387..24825ee 100644
--- a/src/libGLESv2/ProgramBinary.h
+++ b/src/libGLESv2/ProgramBinary.h
@@ -212,6 +212,7 @@
rx::ShaderExecutable *mPixelExecutable;
sh::Attribute mLinkedAttribute[MAX_VERTEX_ATTRIBS];
+ sh::Attribute mShaderAttributes[MAX_VERTEX_ATTRIBS];
int mSemanticIndex[MAX_VERTEX_ATTRIBS];
int mAttributesByLayout[MAX_VERTEX_ATTRIBS];