summaryrefslogtreecommitdiffstats
path: root/gpu/command_buffer/service/gles2_cmd_decoder.cc
diff options
context:
space:
mode:
authorkloveless@chromium.org <kloveless@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-09 03:29:41 +0000
committerkloveless@chromium.org <kloveless@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-09 03:29:41 +0000
commit18e785a78732e0887d2148090d76d407f39ed5c9 (patch)
treeeffe24f854dbbd733f0b6ef50c9bd724db25f125 /gpu/command_buffer/service/gles2_cmd_decoder.cc
parent331fece54fc3d43834a7538a8d8b85278e562a34 (diff)
downloadchromium_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.cc24
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,