Split OutputHLSL structure code into new module.

Refactoring patch only.

BUG=angle:466

Change-Id: I2c57096e1e24574e7de3d35d608645fde3b0c681
Reviewed-on: https://chromium-review.googlesource.com/203730
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
diff --git a/src/compiler/translator/UtilsHLSL.cpp b/src/compiler/translator/UtilsHLSL.cpp
index fa9b494..dbe35a5 100644
--- a/src/compiler/translator/UtilsHLSL.cpp
+++ b/src/compiler/translator/UtilsHLSL.cpp
@@ -8,7 +8,7 @@
 //
 
 #include "compiler/translator/UtilsHLSL.h"
-#include "compiler/translator/OutputHLSL.h"
+#include "compiler/translator/StructureHLSL.h"
 #include "compiler/translator/SymbolTable.h"
 
 namespace sh
@@ -99,7 +99,7 @@
         }
         else   // Nameless structure, define in place
         {
-            return OutputHLSL::defineNamelessStruct(*structure);
+            return StructureHLSL::defineNameless(*structure);
         }
     }
     else if (type.isMatrix())
@@ -175,7 +175,7 @@
         return "";
     }
 
-    return "ss_" + str(structure.uniqueId()) + structure.name();
+    return "ss" + str(structure.uniqueId()) + "_" + structure.name();
 }
 
 TString QualifiedStructNameString(const TStructure &structure, bool useHLSLRowMajorPacking,
@@ -193,13 +193,12 @@
 
     if (useStd140Packing)
     {
-        prefix += "std";
+        prefix += "std_";
     }
 
     if (useHLSLRowMajorPacking)
     {
-        if (prefix != "") prefix += "_";
-        prefix += "rm";
+        prefix += "rm_";
     }
 
     return prefix + StructNameString(structure);