Make output variables part of Program's shared data.

Also initialize this structure within Program instead of DynamicHLSL.
This should have benefits for other back-ends. Also these variables
weren't being serialized and de-serialized with the program binary,
which could mess up WebGL apps that use MRT.

BUG=angleproject:1123

Change-Id: Ic0dd4840f26441a1bee8527dfa178b24daf82f8a
Reviewed-on: https://chromium-review.googlesource.com/294571
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/renderer/d3d/ProgramD3D.cpp b/src/libANGLE/renderer/d3d/ProgramD3D.cpp
index 9b3f963..bc5f971 100644
--- a/src/libANGLE/renderer/d3d/ProgramD3D.cpp
+++ b/src/libANGLE/renderer/d3d/ProgramD3D.cpp
@@ -1112,8 +1112,7 @@
 LinkResult ProgramD3D::link(const gl::Data &data,
                             gl::InfoLog &infoLog,
                             gl::Shader *fragmentShader,
-                            gl::Shader *vertexShader,
-                            std::map<int, gl::VariableLocation> *outputVariables)
+                            gl::Shader *vertexShader)
 {
     ShaderD3D *vertexShaderD3D = GetImplAs<ShaderD3D>(vertexShader);
     ShaderD3D *fragmentShaderD3D = GetImplAs<ShaderD3D>(fragmentShader);
@@ -1150,10 +1149,9 @@
     LinkVaryingRegisters(infoLog, vertexShaderD3D, fragmentShaderD3D);
 
     std::vector<gl::LinkedVarying> linkedVaryings;
-    if (!mDynamicHLSL->generateShaderLinkHLSL(
-            data, infoLog, registers, packing, mPixelHLSL, mVertexHLSL, fragmentShaderD3D,
-            vertexShaderD3D, mData.getTransformFeedbackVaryingNames(), &linkedVaryings,
-            outputVariables, &mPixelShaderKey, &mUsesFragDepth))
+    if (!mDynamicHLSL->generateShaderLinkHLSL(data, mData, infoLog, registers, packing, mPixelHLSL,
+                                              mVertexHLSL, &linkedVaryings, &mPixelShaderKey,
+                                              &mUsesFragDepth))
     {
         return LinkResult(false, gl::Error(GL_NO_ERROR));
     }