Compute packed varyings in ProgramD3D only.

Instead of storing varying information in the shader, use a temporary
set when linking a D3D program. This also means we won't have to
modify information in the Shader object when linking a D3D program.

This completes the refactoring for PackedVaryings.

BUG=angleproject:1123

Change-Id: I241610e87f7d14f3e18b0d8bd84f1a3509c05dfd
Reviewed-on: https://chromium-review.googlesource.com/295193
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
diff --git a/src/libANGLE/renderer/d3d/ProgramD3D.h b/src/libANGLE/renderer/d3d/ProgramD3D.h
index 37a476f..9ce3b0d 100644
--- a/src/libANGLE/renderer/d3d/ProgramD3D.h
+++ b/src/libANGLE/renderer/d3d/ProgramD3D.h
@@ -207,7 +207,9 @@
                                    sh::BlockLayoutEncoder *encoder, std::vector<unsigned int> *blockUniformIndexes,
                                    bool inRowMajorLayout);
 
-    LinkResult compileProgramExecutables(gl::InfoLog &infoLog, int registers);
+    LinkResult compileProgramExecutables(gl::InfoLog &infoLog,
+                                         int registers,
+                                         const std::vector<PackedVarying> &packedVaryings);
 
     void gatherTransformFeedbackVaryings(const std::vector<gl::LinkedVarying> &varyings);