Initializes renderbuffer formats for attachments to the default framebuffer.
TRAC #12864
Signed-off-by: Daniel Koch

Author:    Shannon Woods

git-svn-id: https://angleproject.googlecode.com/svn/trunk@388 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/Renderbuffer.cpp b/src/libGLESv2/Renderbuffer.cpp
index 81cff87..d0ded4a 100644
--- a/src/libGLESv2/Renderbuffer.cpp
+++ b/src/libGLESv2/Renderbuffer.cpp
@@ -156,6 +156,11 @@
         renderTarget->GetDesc(&description);
 
         setSize(description.Width, description.Height);
+        mD3DFormat = description.Format;
+    }
+    else
+    {
+        mD3DFormat = D3DFMT_UNKNOWN;
     }
 
 }
@@ -165,10 +170,11 @@
     IDirect3DDevice9 *device = getDevice();
 
     mRenderTarget = NULL;
+    D3DFORMAT requestedFormat = es2dx::ConvertRenderbufferFormat(format);
 
     if (width > 0 && height > 0)
     {
-        HRESULT result = device->CreateRenderTarget(width, height, es2dx::ConvertRenderbufferFormat(format), 
+        HRESULT result = device->CreateRenderTarget(width, height, requestedFormat, 
                                                     D3DMULTISAMPLE_NONE, 0, FALSE, &mRenderTarget, NULL);
 
         if (result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY)
@@ -185,11 +191,13 @@
     {
         setSize(width, height);
         mFormat = format;
+        mD3DFormat = requestedFormat;
     }
     else
     {
         setSize(0, 0);
         mFormat = GL_RGBA4;
+        mD3DFormat = D3DFMT_UNKNOWN;
     }
 }
 
@@ -273,7 +281,12 @@
         depthStencil->GetDesc(&description);
 
         setSize(description.Width, description.Height);
-        mFormat = GL_DEPTH24_STENCIL8_OES; 
+        mFormat = (description.Format == D3DFMT_D16 ? GL_DEPTH_COMPONENT16 : GL_DEPTH24_STENCIL8_OES); 
+        mD3DFormat = description.Format;
+    }
+    else
+    {
+        mD3DFormat = D3DFMT_UNKNOWN;
     }
 }
 
@@ -297,11 +310,13 @@
     {
         setSize(width, height);
         mFormat = GL_DEPTH24_STENCIL8_OES;  
+        mD3DFormat = D3DFMT_D24S8;
     }
     else
     {
         setSize(0, 0);
         mFormat = GL_RGBA4; //default format
+        mD3DFormat = D3DFMT_UNKNOWN;
     }
 }