Add D3D version and shader models to renderer string reported by GetString.

It looks like this now:
ANGLE (NVIDIA Quadro 600 Direct3D9Ex vs_3_0 ps_3_0)

I also noticed that the strings returned by GetString are not all static so I fixed that as well.
Review URL: https://codereview.appspot.com/7068058


Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>

Manual merge from Master by daniel@transgaming.com

git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1709 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/renderer/Renderer11.cpp b/src/libGLESv2/renderer/Renderer11.cpp
index e82edb2..9fb9f40 100644
--- a/src/libGLESv2/renderer/Renderer11.cpp
+++ b/src/libGLESv2/renderer/Renderer11.cpp
@@ -29,6 +29,8 @@
 #include "libEGL/Config.h"
 #include "libEGL/Display.h"
 
+#include <sstream>
+
 namespace rx
 {
 static const DXGI_FORMAT RenderTargetFormats[] =
@@ -1391,9 +1393,17 @@
     return mAdapterDescription.VendorId;
 }
 
-const char *Renderer11::getAdapterDescription() const
+std::string Renderer11::getRendererDescription() const
 {
-    return mDescription;
+    std::ostringstream rendererString;
+
+    rendererString << mDescription;
+    rendererString << " Direct3D11";
+
+    rendererString << " vs_" << getMajorShaderModel() << "_" << getMinorShaderModel();
+    rendererString << " ps_" << getMajorShaderModel() << "_" << getMinorShaderModel();
+
+    return rendererString.str();
 }
 
 GUID Renderer11::getAdapterIdentifier() const
@@ -1536,12 +1546,23 @@
     switch (mFeatureLevel)
     {
       case D3D_FEATURE_LEVEL_11_0: return D3D11_SHADER_MAJOR_VERSION;   // 5
-      case D3D_FEATURE_LEVEL_10_1:
+      case D3D_FEATURE_LEVEL_10_1: return D3D10_1_SHADER_MAJOR_VERSION; // 4
       case D3D_FEATURE_LEVEL_10_0: return D3D10_SHADER_MAJOR_VERSION;   // 4
       default: UNREACHABLE();      return 0;
     }
 }
 
+int Renderer11::getMinorShaderModel() const
+{
+    switch (mFeatureLevel)
+    {
+      case D3D_FEATURE_LEVEL_11_0: return D3D11_SHADER_MINOR_VERSION;   // 0
+      case D3D_FEATURE_LEVEL_10_1: return D3D10_1_SHADER_MINOR_VERSION; // 1
+      case D3D_FEATURE_LEVEL_10_0: return D3D10_SHADER_MINOR_VERSION;   // 0
+      default: UNREACHABLE();      return 0;
+    }
+}
+
 float Renderer11::getMaxPointSize() const
 {
     // TODO