Passes pointer to Renderer to Framebuffer at construction.

TRAC #22000 Signed-off-by: Daniel Koch Author: Shannon Woods git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1405 736b8ea6-26fd-11df-bfd4-992fa37f6226
parent 370482e7
......@@ -323,7 +323,7 @@ void Context::makeCurrent(egl::Surface *surface)
Colorbuffer *colorbufferZero = new Colorbuffer(swapchain);
DepthStencilbuffer *depthStencilbufferZero = new DepthStencilbuffer(swapchain);
Framebuffer *framebufferZero = new DefaultFramebuffer(colorbufferZero, depthStencilbufferZero);
Framebuffer *framebufferZero = new DefaultFramebuffer(mRenderer, colorbufferZero, depthStencilbufferZero);
setFramebufferZero(framebufferZero);
......@@ -1070,7 +1070,7 @@ void Context::bindReadFramebuffer(GLuint framebuffer)
{
if (!getFramebuffer(framebuffer))
{
mFramebufferMap[framebuffer] = new Framebuffer();
mFramebufferMap[framebuffer] = new Framebuffer(mRenderer);
}
mState.readFramebuffer = framebuffer;
......@@ -1080,7 +1080,7 @@ void Context::bindDrawFramebuffer(GLuint framebuffer)
{
if (!getFramebuffer(framebuffer))
{
mFramebufferMap[framebuffer] = new Framebuffer();
mFramebufferMap[framebuffer] = new Framebuffer(mRenderer);
}
mState.drawFramebuffer = framebuffer;
......
......@@ -17,7 +17,8 @@
namespace gl
{
Framebuffer::Framebuffer()
Framebuffer::Framebuffer(rx::Renderer *renderer)
: mRenderer(renderer)
{
mColorbufferType = GL_NONE;
mDepthbufferType = GL_NONE;
......@@ -473,7 +474,8 @@ GLenum Framebuffer::completeness()
return GL_FRAMEBUFFER_COMPLETE;
}
DefaultFramebuffer::DefaultFramebuffer(Colorbuffer *colorbuffer, DepthStencilbuffer *depthStencil)
DefaultFramebuffer::DefaultFramebuffer(rx::Renderer *renderer, Colorbuffer *colorbuffer, DepthStencilbuffer *depthStencil)
: Framebuffer(renderer)
{
mColorbufferPointer.set(new Renderbuffer(0, colorbuffer));
......
......@@ -17,6 +17,11 @@
#include "common/angleutils.h"
#include "common/RefCountObject.h"
namespace rx
{
class Renderer;
}
namespace gl
{
class Renderbuffer;
......@@ -28,7 +33,7 @@ class DepthStencilbuffer;
class Framebuffer
{
public:
Framebuffer();
explicit Framebuffer(rx::Renderer *renderer);
virtual ~Framebuffer();
......@@ -76,6 +81,8 @@ class Framebuffer
BindingPointer<Renderbuffer> mNullColorbufferPointer;
rx::Renderer *mRenderer;
private:
DISALLOW_COPY_AND_ASSIGN(Framebuffer);
......@@ -85,7 +92,7 @@ class Framebuffer
class DefaultFramebuffer : public Framebuffer
{
public:
DefaultFramebuffer(Colorbuffer *colorbuffer, DepthStencilbuffer *depthStencil);
DefaultFramebuffer(rx::Renderer *Renderer, Colorbuffer *colorbuffer, DepthStencilbuffer *depthStencil);
virtual GLenum completeness();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment