Changes gl::RenderbufferStorage to rx::RenderbufferImpl

BUG=angle:782

Also eliminates Colorbuffer/DepthStencilBuffer and related friends
and adds the RenderbufferD3D implementation of RenderbufferImpl.

Change-Id: Ibe72c9589b3c238b952744e7cfd70d97ec898eb9
Reviewed-on: https://chromium-review.googlesource.com/222925
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
diff --git a/src/libGLESv2/renderer/RenderbufferImpl.h b/src/libGLESv2/renderer/RenderbufferImpl.h
new file mode 100644
index 0000000..5f24e80
--- /dev/null
+++ b/src/libGLESv2/renderer/RenderbufferImpl.h
@@ -0,0 +1,39 @@
+//
+// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+//
+
+// RenderbufferImpl.h: Defines the abstract class gl::RenderbufferImpl
+
+#ifndef LIBGLESV2_RENDERER_RENDERBUFFERIMPL_H_
+#define LIBGLESV2_RENDERER_RENDERBUFFERIMPL_H_
+
+#include "angle_gl.h"
+
+#include "common/angleutils.h"
+
+namespace rx
+{
+
+class RenderbufferImpl
+{
+  public:
+    RenderbufferImpl();
+    virtual ~RenderbufferImpl() = 0;
+
+    virtual void setStorage(GLsizei width, GLsizei height, GLenum internalformat, GLsizei samples) = 0;
+
+    virtual GLsizei getWidth() const = 0;
+    virtual GLsizei getHeight() const = 0;
+    virtual GLenum getInternalFormat() const = 0;
+    virtual GLenum getActualFormat() const = 0;
+    virtual GLsizei getSamples() const = 0;
+
+  private:
+    DISALLOW_COPY_AND_ASSIGN(RenderbufferImpl);
+};
+
+}
+
+#endif   // LIBGLESV2_RENDERER_RENDERBUFFERIMPL_H_