Compiler - implement proper varying linking
TRAC #11716
Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch

Author:    Nicolas Capens

git-svn-id: https://angleproject.googlecode.com/svn/trunk@97 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/Shader.cpp b/src/libGLESv2/Shader.cpp
index 90ce10f..7144a8f 100644
--- a/src/libGLESv2/Shader.cpp
+++ b/src/libGLESv2/Shader.cpp
@@ -171,7 +171,7 @@
     return mHlsl != NULL;
 }
 
-const char *Shader::linkHLSL()
+const char *Shader::getHLSL()
 {
     return mHlsl;
 }
@@ -306,45 +306,6 @@
     parseAttributes();
 }
 
-const char *VertexShader::linkHLSL(const char *pixelHLSL)
-{
-    if (mHlsl && pixelHLSL)
-    {
-        const char *input = strstr(pixelHLSL, "struct PS_INPUT");
-        char *output = strstr(mHlsl, "struct VS_OUTPUT");
-
-        while (*input != '}' && output)
-        {
-            char varyingName[100];
-            unsigned int semanticIndex;
-            int matches = sscanf(input, "%s : TEXCOORD%d;", varyingName, &semanticIndex);
-
-            if (matches == 2 && semanticIndex != sh::HLSL_FRAG_COORD_SEMANTIC)
-            {
-                ASSERT(semanticIndex < MAX_VARYING_VECTORS);
-                char *varying = strstr(output, varyingName);
-
-                if (varying)
-                {
-                    ASSERT(semanticIndex <= 9);   // Single character
-                    varying = strstr(varying, " : TEXCOORD0;");
-                    varying[11] = '0' + semanticIndex;
-                }
-                else
-                {
-                    return NULL;
-                }
-
-                input = strstr(input, ";");
-            }
-
-            input++;
-        }
-    }
-
-    return mHlsl;
-}
-
 const char *VertexShader::getAttributeName(unsigned int attributeIndex)
 {
     if (attributeIndex < MAX_VERTEX_ATTRIBS)