Share FBO state with object and Impl.
This patch introduces a new Framebuffer::Data class, which stores
attachment related state. This will eliminate the need to store
duplicated state between the classes.
BUG=angleproject:930
Change-Id: I80de4db39ab99d623b0ad8306bf3cbb794cd8bd5
Reviewed-on: https://chromium-review.googlesource.com/254100
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/renderer/FramebufferImpl.h b/src/libANGLE/renderer/FramebufferImpl.h
index da8f94c..5985c32 100644
--- a/src/libANGLE/renderer/FramebufferImpl.h
+++ b/src/libANGLE/renderer/FramebufferImpl.h
@@ -12,6 +12,7 @@
#include "angle_gl.h"
#include "common/angleutils.h"
#include "libANGLE/Error.h"
+#include "libANGLE/Framebuffer.h"
namespace gl
{
@@ -27,8 +28,8 @@
class FramebufferImpl
{
public:
- FramebufferImpl() {}
- virtual ~FramebufferImpl() {};
+ FramebufferImpl(const gl::Framebuffer::Data &data) : mData(data) { }
+ virtual ~FramebufferImpl() { }
virtual void setColorAttachment(size_t index, const gl::FramebufferAttachment *attachment) = 0;
virtual void setDepthttachment(const gl::FramebufferAttachment *attachment) = 0;
@@ -56,6 +57,11 @@
virtual GLenum checkStatus() const = 0;
+ const gl::Framebuffer::Data &getData() const { return mData; }
+
+ protected:
+ const gl::Framebuffer::Data &mData;
+
private:
DISALLOW_COPY_AND_ASSIGN(FramebufferImpl);
};