Eliminated storing decorated uniform names.

TRAC #22326
Signed-off-by: Daniel Koch
Signed-off-by: Shannon Woods
Author: Nicolas Capens

git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1635 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/common/version.h b/src/common/version.h
index 5d37044..a6560db 100644
--- a/src/common/version.h
+++ b/src/common/version.h
@@ -1,7 +1,7 @@
 #define MAJOR_VERSION 1
 #define MINOR_VERSION 1
 #define BUILD_VERSION 0
-#define BUILD_REVISION 1563
+#define BUILD_REVISION 1564
 
 #define STRINGIFY(x) #x
 #define MACRO_STRINGIFY(x) STRINGIFY(x)
diff --git a/src/compiler/OutputHLSL.cpp b/src/compiler/OutputHLSL.cpp
index ff966fb..33bda05 100644
--- a/src/compiler/OutputHLSL.cpp
+++ b/src/compiler/OutputHLSL.cpp
@@ -2579,11 +2579,7 @@
 
 TString OutputHLSL::decorateUniform(const TString &string, const TType &type)
 {
-    if (type.isArray())
-    {
-        return "ar_" + string;   // Allows identifying arrays of size 1
-    }
-    else if (type.getBasicType() == EbtSamplerExternalOES)
+    if (type.getBasicType() == EbtSamplerExternalOES)
     {
         return "ex_" + string;
     }
diff --git a/src/libGLESv2/ProgramBinary.cpp b/src/libGLESv2/ProgramBinary.cpp
index b141a7a..2eb999c 100644
--- a/src/libGLESv2/ProgramBinary.cpp
+++ b/src/libGLESv2/ProgramBinary.cpp
@@ -30,8 +30,8 @@
     return buffer;
 }
 
-UniformLocation::UniformLocation(const std::string &_name, unsigned int element, unsigned int index) 
-    : name(Uniform::undecorate(_name)), element(element), index(index)
+UniformLocation::UniformLocation(const std::string &name, unsigned int element, unsigned int index) 
+    : name(name), element(element), index(index)
 {
 }
 
@@ -1577,14 +1577,14 @@
     for (unsigned int i = 0; i < size; ++i)
     {
         GLenum type;
-        std::string _name;
+        std::string name;
         unsigned int arraySize;
 
         stream.read(&type);
-        stream.read(&_name);
+        stream.read(&name);
         stream.read(&arraySize);
 
-        mUniforms[i] = new Uniform(type, _name, arraySize);
+        mUniforms[i] = new Uniform(type, name, arraySize);
         
         stream.read(&mUniforms[i]->ps.registerIndex);
         stream.read(&mUniforms[i]->ps.registerCount);
@@ -1694,7 +1694,7 @@
     for (unsigned int i = 0; i < mUniforms.size(); ++i)
     {
         stream.write(mUniforms[i]->type);
-        stream.write(mUniforms[i]->_name);
+        stream.write(mUniforms[i]->name);
         stream.write(mUniforms[i]->arraySize);
 
         stream.write(mUniforms[i]->ps.registerIndex);
diff --git a/src/libGLESv2/ProgramBinary.h b/src/libGLESv2/ProgramBinary.h
index 88ae2a6..9fae582 100644
--- a/src/libGLESv2/ProgramBinary.h
+++ b/src/libGLESv2/ProgramBinary.h
@@ -37,7 +37,7 @@
     {
     }
 
-    UniformLocation(const std::string &_name, unsigned int element, unsigned int index);
+    UniformLocation(const std::string &name, unsigned int element, unsigned int index);
 
     std::string name;
     unsigned int element;
diff --git a/src/libGLESv2/Uniform.cpp b/src/libGLESv2/Uniform.cpp
index 0412ce9..22f9431 100644
--- a/src/libGLESv2/Uniform.cpp
+++ b/src/libGLESv2/Uniform.cpp
@@ -11,8 +11,8 @@
 namespace gl

 {

 

-Uniform::Uniform(GLenum type, const std::string &_name, unsigned int arraySize)

-    : type(type), _name(_name), name(undecorate(_name)), arraySize(arraySize)

+Uniform::Uniform(GLenum type, const std::string &name, unsigned int arraySize)

+    : type(type), name(name), arraySize(arraySize)

 {

     int bytes = gl::UniformInternalSize(type) * elementCount();

     data = new unsigned char[bytes];

@@ -27,17 +27,7 @@
 

 bool Uniform::isArray() const

 {

-    if (name != _name)   // D3D9_REPLACE

-    {

-        size_t dot = _name.find_last_of('.');

-        if (dot == std::string::npos) dot = -1;

-

-        return _name.compare(dot + 1, dot + 4, "ar_") == 0;

-    }

-    else

-    {

-        return arraySize > 0;

-    }

+    return arraySize > 0;

 }

 

 unsigned int Uniform::elementCount() const

@@ -50,28 +40,4 @@
     return VariableRowCount(type) * elementCount();

 }

 

-std::string Uniform::undecorate(const std::string &_name)

-{

-    std::string name = _name;

-    

-    // Remove any structure field decoration

-    size_t pos = 0;

-    while ((pos = name.find("._", pos)) != std::string::npos)

-    {

-        name.replace(pos, 2, ".");

-    }

-

-    // Remove the leading decoration

-    if (name[0] == '_')

-    {

-        return name.substr(1);

-    }

-    else if (name.compare(0, 3, "ar_") == 0)

-    {

-        return name.substr(3);

-    }

-    

-    return name;

-}

-

 }

diff --git a/src/libGLESv2/Uniform.h b/src/libGLESv2/Uniform.h
index a936d2f..572cd36 100644
--- a/src/libGLESv2/Uniform.h
+++ b/src/libGLESv2/Uniform.h
@@ -21,18 +21,16 @@
 // Helper struct representing a single shader uniform

 struct Uniform

 {

-    Uniform(GLenum type, const std::string &_name, unsigned int arraySize);

+    Uniform(GLenum type, const std::string &name, unsigned int arraySize);

 

     ~Uniform();

 

     bool isArray() const;

     unsigned int elementCount() const;

     unsigned int registerCount() const;

-    static std::string Uniform::undecorate(const std::string &_name);

 

     const GLenum type;

-    const std::string _name;   // Decorated name

-    const std::string name;    // Undecorated name

+    const std::string name;

     const unsigned int arraySize;

 

     unsigned char *data;