Pass GL caps and version to compiler.
This allows us to get rid of some of the reliance on storing the
current context client version in the Renderer. A subsequent
patch will allow us to remove the client version ugly hack.
BUG=angle:789
Change-Id: I139e0f66e1d39e5cd41a484c841a7101b1f29540
Reviewed-on: https://chromium-review.googlesource.com/227712
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libGLESv2/Program.cpp b/src/libGLESv2/Program.cpp
index 990bcec..3faa8c5 100644
--- a/src/libGLESv2/Program.cpp
+++ b/src/libGLESv2/Program.cpp
@@ -244,7 +244,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
-Error Program::link(const Caps &caps)
+Error Program::link(const Data &data)
{
unlink(false);
@@ -252,8 +252,8 @@
resetUniformBlockBindings();
mProgramBinary.set(new ProgramBinary(mRenderer->createProgram()));
- LinkResult result = mProgramBinary->link(mInfoLog, mAttributeBindings, mFragmentShader, mVertexShader,
- mTransformFeedbackVaryings, mTransformFeedbackBufferMode, caps);
+ LinkResult result = mProgramBinary->link(data, mInfoLog, mAttributeBindings, mFragmentShader, mVertexShader,
+ mTransformFeedbackVaryings, mTransformFeedbackBufferMode);
if (result.error.isError())
{
return result.error;