Implement proper BGRA extension support on D3D11.

See GL_EXT_texture_format_BGRA8888.

TRAC #22410
Signed-off-by: Geoff Lang
Signed-off-by: Daniel Koch
Author: Jamie Madill

git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1771 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/Context.cpp b/src/libGLESv2/Context.cpp
index 0ed3064..4c2d128 100644
--- a/src/libGLESv2/Context.cpp
+++ b/src/libGLESv2/Context.cpp
@@ -169,6 +169,7 @@
     mResetStrategy = (notifyResets ? GL_LOSE_CONTEXT_ON_RESET_EXT : GL_NO_RESET_NOTIFICATION_EXT);
     mRobustAccess = robustAccess;
 
+    mSupportsBGRATextures = false;
     mSupportsDXT1Textures = false;
     mSupportsDXT3Textures = false;
     mSupportsDXT5Textures = false;
@@ -259,6 +260,7 @@
 
         mSupportsEventQueries = mRenderer->getEventQuerySupport();
         mSupportsOcclusionQueries = mRenderer->getOcclusionQuerySupport();
+        mSupportsBGRATextures = mRenderer->getBGRATextureSupport();
         mSupportsDXT1Textures = mRenderer->getDXT1TextureSupport();
         mSupportsDXT3Textures = mRenderer->getDXT3TextureSupport();
         mSupportsDXT5Textures = mRenderer->getDXT5TextureSupport();
@@ -2154,6 +2156,11 @@
     return mSupportsOcclusionQueries;
 }
 
+bool Context::supportsBGRATextures() const
+{
+    return mSupportsBGRATextures;
+}
+
 bool Context::supportsDXT1Textures() const
 {
     return mSupportsDXT1Textures;
@@ -2543,7 +2550,11 @@
         extensionString += "GL_EXT_texture_filter_anisotropic ";
     }
 
-    extensionString += "GL_EXT_texture_format_BGRA8888 ";
+    if (supportsBGRATextures())
+    {
+        extensionString += "GL_EXT_texture_format_BGRA8888 ";
+    }
+
     extensionString += "GL_EXT_texture_storage ";
 
     // ANGLE-specific extensions