Commit a08e1bd0 by Geoff Lang

Split Renderbuffer::setStorage into two functions to match the API.

BUG=angleproject:886 Change-Id: I74375351339464b450c2f058adbeed7a1ba18cdd Reviewed-on: https://chromium-review.googlesource.com/262125Reviewed-by: 's avatarBrandon Jones <bajones@chromium.org> Reviewed-by: 's avatarKenneth Russell <kbr@chromium.org> Tested-by: 's avatarGeoff Lang <geofflang@chromium.org>
parent 4ad1709f
......@@ -34,9 +34,25 @@ Renderbuffer::~Renderbuffer()
SafeDelete(mRenderbuffer);
}
Error Renderbuffer::setStorage(GLsizei width, GLsizei height, GLenum internalformat, GLsizei samples)
Error Renderbuffer::setStorage(GLenum internalformat, size_t width, size_t height)
{
Error error = mRenderbuffer->setStorage(width, height, internalformat, samples);
Error error = mRenderbuffer->setStorage(internalformat, width, height);
if (error.isError())
{
return error;
}
mWidth = width;
mHeight = height;
mInternalFormat = internalformat;
mSamples = 0;
return Error(GL_NO_ERROR);
}
Error Renderbuffer::setStorageMultisample(size_t samples, GLenum internalformat, size_t width, size_t height)
{
Error error = mRenderbuffer->setStorageMultisample(samples, internalformat, width, height);
if (error.isError())
{
return error;
......
......@@ -38,7 +38,8 @@ class Renderbuffer : public RefCountObject
Renderbuffer(rx::RenderbufferImpl *impl, GLuint id);
virtual ~Renderbuffer();
Error setStorage(GLsizei width, GLsizei height, GLenum internalformat, GLsizei samples);
Error setStorage(GLenum internalformat, size_t width, size_t height);
Error setStorageMultisample(size_t samples, GLenum internalformat, size_t width, size_t height);
rx::RenderbufferImpl *getImplementation();
......
......@@ -24,7 +24,8 @@ class RenderbufferImpl
RenderbufferImpl();
virtual ~RenderbufferImpl() = 0;
virtual gl::Error setStorage(GLsizei width, GLsizei height, GLenum internalformat, GLsizei samples) = 0;
virtual gl::Error setStorage(GLenum internalformat, size_t width, size_t height) = 0;
virtual gl::Error setStorageMultisample(size_t samples, GLenum internalformat, size_t width, size_t height) = 0;
private:
DISALLOW_COPY_AND_ASSIGN(RenderbufferImpl);
......
......@@ -30,7 +30,12 @@ RenderbufferD3D *RenderbufferD3D::makeRenderbufferD3D(RenderbufferImpl *renderbu
return static_cast<RenderbufferD3D*>(renderbuffer);
}
gl::Error RenderbufferD3D::setStorage(GLsizei width, GLsizei height, GLenum internalformat, GLsizei samples)
gl::Error RenderbufferD3D::setStorage(GLenum internalformat, size_t width, size_t height)
{
return setStorageMultisample(0, internalformat, width, height);
}
gl::Error RenderbufferD3D::setStorageMultisample(size_t samples, GLenum internalformat, size_t width, size_t height)
{
// If the renderbuffer parameters are queried, the calling function
// will expect one of the valid renderbuffer formats for use in
......
......@@ -28,7 +28,8 @@ class RenderbufferD3D : public RenderbufferImpl
static RenderbufferD3D *makeRenderbufferD3D(RenderbufferImpl *renderbuffer);
virtual gl::Error setStorage(GLsizei width, GLsizei height, GLenum internalformat, GLsizei samples) override;
virtual gl::Error setStorage(GLenum internalformat, size_t width, size_t height) override;
virtual gl::Error setStorageMultisample(size_t samples, GLenum internalformat, size_t width, size_t height) override;
RenderTargetD3D *getRenderTarget();
unsigned int getRenderTargetSerial() const;
......
......@@ -1273,7 +1273,7 @@ gl::Error Renderer9::getNullColorbuffer(const gl::FramebufferAttachment *depthbu
}
gl::Renderbuffer *nullRenderbuffer = new gl::Renderbuffer(createRenderbuffer(), 0);
gl::Error error = nullRenderbuffer->setStorage(width, height, GL_NONE, 0);
gl::Error error = nullRenderbuffer->setStorage(GL_NONE, width, height);
if (error.isError())
{
SafeDelete(nullRenderbuffer);
......
......@@ -20,7 +20,13 @@ RenderbufferGL::RenderbufferGL()
RenderbufferGL::~RenderbufferGL()
{}
gl::Error RenderbufferGL::setStorage(GLsizei width, GLsizei height, GLenum internalformat, GLsizei samples)
gl::Error RenderbufferGL::setStorage(GLenum internalformat, size_t width, size_t height)
{
UNIMPLEMENTED();
return gl::Error(GL_INVALID_OPERATION);
}
gl::Error RenderbufferGL::setStorageMultisample(size_t samples, GLenum internalformat, size_t width, size_t height)
{
UNIMPLEMENTED();
return gl::Error(GL_INVALID_OPERATION);
......
......@@ -20,7 +20,8 @@ class RenderbufferGL : public RenderbufferImpl
RenderbufferGL();
~RenderbufferGL() override;
gl::Error setStorage(GLsizei width, GLsizei height, GLenum internalformat, GLsizei samples) override;
virtual gl::Error setStorage(GLenum internalformat, size_t width, size_t height) override;
virtual gl::Error setStorageMultisample(size_t samples, GLenum internalformat, size_t width, size_t height) override;
private:
DISALLOW_COPY_AND_ASSIGN(RenderbufferGL);
......
......@@ -3332,7 +3332,7 @@ void GL_APIENTRY RenderbufferStorage(GLenum target, GLenum internalformat, GLsiz
}
Renderbuffer *renderbuffer = context->getState().getCurrentRenderbuffer();
Error error = renderbuffer->setStorage(width, height, internalformat, 0);
Error error = renderbuffer->setStorage(internalformat, width, height);
if (error.isError())
{
context->recordError(error);
......
......@@ -518,7 +518,7 @@ void GL_APIENTRY RenderbufferStorageMultisampleANGLE(GLenum target, GLsizei samp
}
Renderbuffer *renderbuffer = context->getState().getCurrentRenderbuffer();
Error error = renderbuffer->setStorage(width, height, internalformat, samples);
Error error = renderbuffer->setStorageMultisample(samples, internalformat, width, height);
if (error.isError())
{
context->recordError(error);
......
......@@ -706,7 +706,7 @@ void GL_APIENTRY RenderbufferStorageMultisample(GLenum target, GLsizei samples,
}
Renderbuffer *renderbuffer = context->getState().getCurrentRenderbuffer();
renderbuffer->setStorage(width, height, internalformat, samples);
renderbuffer->setStorageMultisample(samples, internalformat, width, height);
}
}
......
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