Create a DefaultAttachment type and an implementation for it.

This allows for dynamically sized default attachments instead of calling
Context::makeCurrent each time the surface changes size.

BUG=angle:824

Change-Id: Ic39c0d7dc4269db53a34c01c4d915cb1a3cfbd08
Reviewed-on: https://chromium-review.googlesource.com/228180
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libGLESv2/Renderbuffer.cpp b/src/libGLESv2/Renderbuffer.cpp
index 911a389..74ce2fa 100644
--- a/src/libGLESv2/Renderbuffer.cpp
+++ b/src/libGLESv2/Renderbuffer.cpp
@@ -22,15 +22,14 @@
 {
 Renderbuffer::Renderbuffer(rx::RenderbufferImpl *impl, GLuint id)
   : RefCountObject(id),
-    mRenderbuffer(impl)
+    mRenderbuffer(impl),
+    mWidth(0),
+    mHeight(0),
+    mInternalFormat(GL_RGBA4),
+    mActualFormat(GL_RGBA4),
+    mSamples(0)
 {
     ASSERT(mRenderbuffer);
-
-    mWidth = mRenderbuffer->getWidth();
-    mHeight = mRenderbuffer->getHeight();
-    mInternalFormat = mRenderbuffer->getInternalFormat();
-    mActualFormat = mRenderbuffer->getActualFormat();
-    mSamples = mRenderbuffer->getSamples();
 }
 
 Renderbuffer::~Renderbuffer()