Implemented D3D11 offscreen texture share handle support.

Chrome uses this to for composited rendering. Currently Chrome uses a BGRA texture format
for surface sharing, so we must create our offscreen textures this way.
See EGL_ANGLE_query_surface_pointer, EGL_ANGLE_surface_d3d_texture_2d_share_handle,
EGL_ANGLE_d3d_share_handle_client_buffer.

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@1772 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/renderer/renderer11_utils.cpp b/src/libGLESv2/renderer/renderer11_utils.cpp
index 6bbf66c..2247e50 100644
--- a/src/libGLESv2/renderer/renderer11_utils.cpp
+++ b/src/libGLESv2/renderer/renderer11_utils.cpp
@@ -217,6 +217,7 @@
     switch (format)
     {
       case DXGI_FORMAT_R8G8B8A8_UNORM: return GL_RGBA8_OES;
+      case DXGI_FORMAT_B8G8R8A8_UNORM: return GL_BGRA8_EXT;
       default:
         UNREACHABLE();
     }
@@ -240,6 +241,8 @@
 {
     switch (format)
     {
+      case DXGI_FORMAT_B8G8R8A8_UNORM:
+        return GL_BGRA8_EXT;
       case DXGI_FORMAT_R8G8B8A8_UNORM:
         return GL_RGBA8_OES;
       case DXGI_FORMAT_D24_UNORM_S8_UINT:
@@ -307,6 +310,8 @@
       case GL_RGB565:
       case GL_RGB8_OES:
         return DXGI_FORMAT_R8G8B8A8_UNORM;
+      case GL_BGRA8_EXT:
+        return DXGI_FORMAT_B8G8R8A8_UNORM;
       case GL_DEPTH_COMPONENT16:
       case GL_STENCIL_INDEX8:
       case GL_DEPTH24_STENCIL8_OES: