Converted ProgramBinary to use Context caps instead of Renderer
BUG=angle:731
Change-Id: I9bbce69cabf767fb5fb2c94f437a9950bc79d1aa
Reviewed-on: https://chromium-review.googlesource.com/215370
Tested-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libGLESv2/Program.cpp b/src/libGLESv2/Program.cpp
index c6964f8..bd9b38b 100644
--- a/src/libGLESv2/Program.cpp
+++ b/src/libGLESv2/Program.cpp
@@ -243,7 +243,7 @@
// Links the HLSL code of the vertex and pixel shader by matching up their varyings,
// compiling them into binaries, determining the attribute mappings, and collecting
// a list of uniforms
-bool Program::link()
+bool Program::link(const Caps &caps)
{
unlink(false);
@@ -252,7 +252,7 @@
mProgramBinary.set(new ProgramBinary(mRenderer));
mLinked = mProgramBinary->link(mInfoLog, mAttributeBindings, mFragmentShader, mVertexShader,
- mTransformFeedbackVaryings, mTransformFeedbackBufferMode);
+ mTransformFeedbackVaryings, mTransformFeedbackBufferMode, caps);
return mLinked;
}
@@ -501,14 +501,14 @@
return mDeleteStatus;
}
-void Program::validate()
+void Program::validate(const Caps &caps)
{
mInfoLog.reset();
ProgramBinary *programBinary = getProgramBinary();
if (isLinked() && programBinary)
{
- programBinary->validate(mInfoLog);
+ programBinary->validate(mInfoLog, caps);
}
else
{