Implements color renderbuffers
TRAC #11890
Signed-off-by: Andrew Lewycky
Signed-off-by: Daniel Koch

Author:    Shannon Woods

git-svn-id: https://angleproject.googlecode.com/svn/trunk@167 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/Renderbuffer.cpp b/src/libGLESv2/Renderbuffer.cpp
index 29eb6e8..86796f0 100644
--- a/src/libGLESv2/Renderbuffer.cpp
+++ b/src/libGLESv2/Renderbuffer.cpp
@@ -74,6 +74,35 @@
     }
 }
 
+Colorbuffer::Colorbuffer(int width, int height, GLenum format)
+{
+    IDirect3DDevice9 *device = getDevice();
+
+    mRenderTarget = NULL;
+    HRESULT result = device->CreateRenderTarget(width, height, es2dx::ConvertRenderbufferFormat(format), 
+                                                D3DMULTISAMPLE_NONE, 0, FALSE, &mRenderTarget, NULL);
+
+    if (result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY)
+    {
+        error(GL_OUT_OF_MEMORY);
+
+        return;
+    }
+
+    ASSERT(SUCCEEDED(result));
+
+    if (mRenderTarget)
+    {
+        mWidth = width;
+        mHeight = height;
+    }
+    else
+    {
+        mWidth = 0;
+        mHeight = 0;
+    }
+}
+
 Colorbuffer::~Colorbuffer()
 {
     if (mRenderTarget)