diff options
author | kloveless@chromium.org <kloveless@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-09 03:29:41 +0000 |
---|---|---|
committer | kloveless@chromium.org <kloveless@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-09 03:29:41 +0000 |
commit | 18e785a78732e0887d2148090d76d407f39ed5c9 (patch) | |
tree | effe24f854dbbd733f0b6ef50c9bd724db25f125 /gpu/command_buffer/service/gles2_cmd_decoder.cc | |
parent | 331fece54fc3d43834a7538a8d8b85278e562a34 (diff) | |
download | chromium_src-18e785a78732e0887d2148090d76d407f39ed5c9.zip chromium_src-18e785a78732e0887d2148090d76d407f39ed5c9.tar.gz chromium_src-18e785a78732e0887d2148090d76d407f39ed5c9.tar.bz2 |
ScopedRenderBufferBinder no longer depends on the Decoder.
Review URL: https://codereview.chromium.org/26232004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227654 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu/command_buffer/service/gles2_cmd_decoder.cc')
-rw-r--r-- | gpu/command_buffer/service/gles2_cmd_decoder.cc | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc index 608d7a1..c1ccdff 100644 --- a/gpu/command_buffer/service/gles2_cmd_decoder.cc +++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc @@ -317,11 +317,11 @@ class ScopedTexture2DBinder { // object goes out of scope. class ScopedRenderBufferBinder { public: - ScopedRenderBufferBinder(GLES2DecoderImpl* decoder, GLuint id); + ScopedRenderBufferBinder(ContextState* state, GLuint id); ~ScopedRenderBufferBinder(); private: - GLES2DecoderImpl* decoder_; + ContextState* state_; DISALLOW_COPY_AND_ASSIGN(ScopedRenderBufferBinder); }; @@ -623,7 +623,6 @@ class GLES2DecoderImpl : public GLES2Decoder { // Restores the current state to the user's settings. void RestoreCurrentFramebufferBindings(); - void RestoreCurrentRenderbufferBindings(); void RestoreCurrentTexture2DBindings(); // Sets DEPTH_TEST, STENCIL_TEST and color mask for the current framebuffer. @@ -1711,18 +1710,18 @@ ScopedTexture2DBinder::~ScopedTexture2DBinder() { decoder_->RestoreCurrentTexture2DBindings(); } -ScopedRenderBufferBinder::ScopedRenderBufferBinder(GLES2DecoderImpl* decoder, +ScopedRenderBufferBinder::ScopedRenderBufferBinder(ContextState* state, GLuint id) - : decoder_(decoder) { + : state_(state) { ScopedGLErrorSuppressor suppressor( - "ScopedRenderBufferBinder::ctor", decoder_->GetErrorState()); + "ScopedRenderBufferBinder::ctor", state_->GetErrorState()); glBindRenderbufferEXT(GL_RENDERBUFFER, id); } ScopedRenderBufferBinder::~ScopedRenderBufferBinder() { ScopedGLErrorSuppressor suppressor( - "ScopedRenderBufferBinder::dtor", decoder_->GetErrorState()); - decoder_->RestoreCurrentRenderbufferBindings(); + "ScopedRenderBufferBinder::dtor", state_->GetErrorState()); + state_->RestoreRenderbufferBindings(); } ScopedFrameBufferBinder::ScopedFrameBufferBinder(GLES2DecoderImpl* decoder, @@ -1942,7 +1941,7 @@ bool BackRenderbuffer::AllocateStorage(const gfx::Size& size, GLenum format, GLsizei samples) { ScopedGLErrorSuppressor suppressor( "BackRenderbuffer::AllocateStorage", decoder_->GetErrorState()); - ScopedRenderBufferBinder binder(decoder_, id_); + ScopedRenderBufferBinder binder(&decoder_->state_, id_); uint32 estimated_size = 0; if (!decoder_->renderbuffer_manager()->ComputeEstimatedRenderbufferSize( @@ -2790,13 +2789,6 @@ void GLES2DecoderImpl::ReleaseCurrent() { context_->ReleaseCurrent(surface_.get()); } -void GLES2DecoderImpl::RestoreCurrentRenderbufferBindings() { - Renderbuffer* renderbuffer = - GetRenderbufferInfoForTarget(GL_RENDERBUFFER); - glBindRenderbufferEXT( - GL_RENDERBUFFER, renderbuffer ? renderbuffer->service_id() : 0); -} - static void RebindCurrentFramebuffer( GLenum target, Framebuffer* framebuffer, |