Rename LinkedVarying to D3DVarying.

Also move this type to D3D-only world. It was only used in the D3D
renderer and has specific stuff like register/semantic indexes.

Refactoring patch to clean up further work with Varyings.

BUG=angleproject:1202

Change-Id: I4b1d6899e9eef356efc7d11e9cd6cf88b234aa76
Reviewed-on: https://chromium-review.googlesource.com/311240
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 5eba95c..9268bff 100644
--- a/src/libANGLE/renderer/d3d/ProgramD3D.cpp
+++ b/src/libANGLE/renderer/d3d/ProgramD3D.cpp
@@ -291,6 +291,8 @@
 
 }  // anonymous namespace
 
+// D3DUniform Implementation
+
 D3DUniform::D3DUniform(GLenum typeIn,
                        const std::string &nameIn,
                        unsigned int arraySizeIn,
@@ -339,6 +341,29 @@
     return psRegisterIndex != GL_INVALID_INDEX;
 }
 
+// D3DVarying Implementation
+
+D3DVarying::D3DVarying()
+{
+}
+
+D3DVarying::D3DVarying(const std::string &name,
+                       GLenum type,
+                       GLsizei size,
+                       const std::string &semanticName,
+                       unsigned int semanticIndex,
+                       unsigned int semanticIndexCount)
+    : name(name),
+      type(type),
+      size(size),
+      semanticName(semanticName),
+      semanticIndex(semanticIndex),
+      semanticIndexCount(semanticIndexCount)
+{
+}
+
+// ProgramD3D Implementation
+
 ProgramD3D::VertexExecutable::VertexExecutable(const gl::InputLayout &inputLayout,
                                                const Signature &signature,
                                                ShaderExecutableD3D *shaderExecutable)
@@ -664,18 +689,18 @@
     }
 
     const unsigned int transformFeedbackVaryingCount = stream->readInt<unsigned int>();
-    mTransformFeedbackLinkedVaryings.resize(transformFeedbackVaryingCount);
+    mTransformFeedbackD3DVaryings.resize(transformFeedbackVaryingCount);
     for (unsigned int varyingIndex = 0; varyingIndex < transformFeedbackVaryingCount;
          varyingIndex++)
     {
-        gl::LinkedVarying &varying = mTransformFeedbackLinkedVaryings[varyingIndex];
+        D3DVarying *varying = &mTransformFeedbackD3DVaryings[varyingIndex];
 
-        stream->readString(&varying.name);
-        stream->readInt(&varying.type);
-        stream->readInt(&varying.size);
-        stream->readString(&varying.semanticName);
-        stream->readInt(&varying.semanticIndex);
-        stream->readInt(&varying.semanticIndexCount);
+        stream->readString(&varying->name);
+        stream->readInt(&varying->type);
+        stream->readInt(&varying->size);
+        stream->readString(&varying->semanticName);
+        stream->readInt(&varying->semanticIndex);
+        stream->readInt(&varying->semanticIndexCount);
     }
 
     stream->readString(&mVertexHLSL);
@@ -721,7 +746,7 @@
         ShaderExecutableD3D *shaderExecutable = nullptr;
 
         gl::Error error = mRenderer->loadExecutable(
-            vertexShaderFunction, vertexShaderSize, SHADER_VERTEX, mTransformFeedbackLinkedVaryings,
+            vertexShaderFunction, vertexShaderSize, SHADER_VERTEX, mTransformFeedbackD3DVaryings,
             (mData.getTransformFeedbackBufferMode() == GL_SEPARATE_ATTRIBS), &shaderExecutable);
         if (error.isError())
         {
@@ -760,7 +785,7 @@
         ShaderExecutableD3D *shaderExecutable    = nullptr;
 
         gl::Error error = mRenderer->loadExecutable(
-            pixelShaderFunction, pixelShaderSize, SHADER_PIXEL, mTransformFeedbackLinkedVaryings,
+            pixelShaderFunction, pixelShaderSize, SHADER_PIXEL, mTransformFeedbackD3DVaryings,
             (mData.getTransformFeedbackBufferMode() == GL_SEPARATE_ATTRIBS), &shaderExecutable);
         if (error.isError())
         {
@@ -792,10 +817,9 @@
         const unsigned char *geometryShaderFunction = binary + stream->offset();
         bool splitAttribs                           = (mData.getTransformFeedbackBufferMode() == GL_SEPARATE_ATTRIBS);
 
-        gl::Error error =
-            mRenderer->loadExecutable(geometryShaderFunction, geometryShaderSize, SHADER_GEOMETRY,
-                                      mTransformFeedbackLinkedVaryings, splitAttribs,
-                                      &mGeometryExecutables[geometryExeIndex]);
+        gl::Error error = mRenderer->loadExecutable(
+            geometryShaderFunction, geometryShaderSize, SHADER_GEOMETRY,
+            mTransformFeedbackD3DVaryings, splitAttribs, &mGeometryExecutables[geometryExeIndex]);
         if (error.isError())
         {
             return LinkResult(false, error);
@@ -868,10 +892,10 @@
         stream->writeInt(uniformBlock.vsRegisterIndex);
     }
 
-    stream->writeInt(mTransformFeedbackLinkedVaryings.size());
-    for (size_t i = 0; i < mTransformFeedbackLinkedVaryings.size(); i++)
+    stream->writeInt(mTransformFeedbackD3DVaryings.size());
+    for (size_t i = 0; i < mTransformFeedbackD3DVaryings.size(); i++)
     {
-        const gl::LinkedVarying &varying = mTransformFeedbackLinkedVaryings[i];
+        const D3DVarying &varying = mTransformFeedbackD3DVaryings[i];
 
         stream->writeString(varying.name);
         stream->writeInt(varying.type);
@@ -1013,7 +1037,7 @@
     gl::InfoLog *currentInfoLog = infoLog ? infoLog : &tempInfoLog;
 
     gl::Error error = mRenderer->compileToExecutable(
-        *currentInfoLog, finalPixelHLSL, SHADER_PIXEL, mTransformFeedbackLinkedVaryings,
+        *currentInfoLog, finalPixelHLSL, SHADER_PIXEL, mTransformFeedbackD3DVaryings,
         (mData.getTransformFeedbackBufferMode() == GL_SEPARATE_ATTRIBS), mPixelWorkarounds,
         &pixelExecutable);
     if (error.isError())
@@ -1062,7 +1086,7 @@
     gl::InfoLog *currentInfoLog = infoLog ? infoLog : &tempInfoLog;
 
     gl::Error error = mRenderer->compileToExecutable(
-        *currentInfoLog, finalVertexHLSL, SHADER_VERTEX, mTransformFeedbackLinkedVaryings,
+        *currentInfoLog, finalVertexHLSL, SHADER_VERTEX, mTransformFeedbackD3DVaryings,
         (mData.getTransformFeedbackBufferMode() == GL_SEPARATE_ATTRIBS), mVertexWorkarounds,
         &vertexExecutable);
     if (error.isError())
@@ -1121,7 +1145,7 @@
     gl::InfoLog *currentInfoLog = infoLog ? infoLog : &tempInfoLog;
 
     gl::Error error = mRenderer->compileToExecutable(
-        *currentInfoLog, geometryHLSL, SHADER_GEOMETRY, mTransformFeedbackLinkedVaryings,
+        *currentInfoLog, geometryHLSL, SHADER_GEOMETRY, mTransformFeedbackD3DVaryings,
         (mData.getTransformFeedbackBufferMode() == GL_SEPARATE_ATTRIBS), D3DCompilerWorkarounds(),
         &mGeometryExecutables[geometryShaderType]);
 
@@ -1243,9 +1267,9 @@
         return LinkResult(false, gl::Error(GL_NO_ERROR));
     }
 
-    std::vector<gl::LinkedVarying> linkedVaryings;
+    std::vector<D3DVarying> d3dVaryings;
     if (!mDynamicHLSL->generateShaderLinkHLSL(data, mData, infoLog, registerCount, &mPixelHLSL,
-                                              &mVertexHLSL, packedVaryings, &linkedVaryings,
+                                              &mVertexHLSL, packedVaryings, &d3dVaryings,
                                               &mPixelShaderKey, &mUsesFragDepth))
     {
         return LinkResult(false, gl::Error(GL_NO_ERROR));
@@ -1273,7 +1297,7 @@
 
     defineUniformsAndAssignRegisters();
 
-    gatherTransformFeedbackVaryings(linkedVaryings);
+    gatherTransformFeedbackVaryings(d3dVaryings);
 
     LinkResult result = compileProgramExecutables(data, infoLog);
     if (result.error.isError() || !result.linkSuccess)
@@ -1990,7 +2014,7 @@
     std::fill(mSemanticIndexes, mSemanticIndexes + ArraySize(mSemanticIndexes), -1);
     std::fill(mAttributesByLayout, mAttributesByLayout + ArraySize(mAttributesByLayout), -1);
 
-    mTransformFeedbackLinkedVaryings.clear();
+    mTransformFeedbackD3DVaryings.clear();
 
     mGeometryShaderPreamble.clear();
 }
@@ -2072,18 +2096,17 @@
     }
 }
 
-void ProgramD3D::gatherTransformFeedbackVaryings(
-    const std::vector<gl::LinkedVarying> &linkedVaryings)
+void ProgramD3D::gatherTransformFeedbackVaryings(const std::vector<D3DVarying> &d3dVaryings)
 {
     // Gather the linked varyings that are used for transform feedback, they should all exist.
-    mTransformFeedbackLinkedVaryings.clear();
+    mTransformFeedbackD3DVaryings.clear();
     for (const std::string &tfVaryingName : mData.getTransformFeedbackVaryingNames())
     {
-        for (const gl::LinkedVarying &linkedVarying : linkedVaryings)
+        for (const D3DVarying &d3dVarying : d3dVaryings)
         {
-            if (tfVaryingName == linkedVarying.name)
+            if (tfVaryingName == d3dVarying.name)
             {
-                mTransformFeedbackLinkedVaryings.push_back(linkedVarying);
+                mTransformFeedbackD3DVaryings.push_back(d3dVarying);
                 break;
             }
         }