| Index: gpu/command_buffer/service/gles2_cmd_decoder.cc
|
| diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc
|
| index 724d537d7a7039de659aeba7ab542f7532ed7765..ef255b96b3595cd5e50b41f5cfee45bb2941d200 100644
|
| --- a/gpu/command_buffer/service/gles2_cmd_decoder.cc
|
| +++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc
|
| @@ -545,13 +545,14 @@ class GLES2DecoderImpl : public GLES2Decoder,
|
| virtual gfx::GLContext* GetGLContext() OVERRIDE { return context_.get(); }
|
| virtual ContextGroup* GetContextGroup() OVERRIDE { return group_.get(); }
|
| virtual Capabilities GetCapabilities() OVERRIDE;
|
| - virtual void RestoreState() const OVERRIDE;
|
| + virtual void RestoreState(
|
| + const gfx::DirtyTextureState* dirty_texture_state) const OVERRIDE;
|
|
|
| virtual void RestoreActiveTexture() const OVERRIDE {
|
| state_.RestoreActiveTexture();
|
| }
|
| virtual void RestoreAllTextureUnitBindings() const OVERRIDE {
|
| - state_.RestoreAllTextureUnitBindings();
|
| + state_.RestoreAllTextureUnitBindings(NULL);
|
| }
|
| virtual void RestoreAttribute(unsigned index) const OVERRIDE {
|
| state_.RestoreAttribute(index);
|
| @@ -569,7 +570,7 @@ class GLES2DecoderImpl : public GLES2Decoder,
|
| state_.RestoreRenderbufferBindings();
|
| }
|
| virtual void RestoreTextureUnitBindings(unsigned unit) const OVERRIDE {
|
| - state_.RestoreTextureUnitBindings(unit);
|
| + state_.RestoreTextureUnitBindings(unit, NULL);
|
| }
|
| virtual void RestoreFramebufferBindings() const OVERRIDE;
|
| virtual void RestoreTextureState(unsigned service_id) const OVERRIDE;
|
| @@ -3761,14 +3762,15 @@ GLuint GLES2DecoderImpl::GetBackbufferServiceId() const {
|
| : (surface_.get() ? surface_->GetBackingFrameBufferObject() : 0);
|
| }
|
|
|
| -void GLES2DecoderImpl::RestoreState() const {
|
| +void GLES2DecoderImpl::RestoreState(
|
| + const gfx::DirtyTextureState* dirty_texture_state) const {
|
| TRACE_EVENT1("gpu", "GLES2DecoderImpl::RestoreState",
|
| "context", logger_.GetLogPrefix());
|
| // Restore the Framebuffer first because of bugs in Intel drivers.
|
| // Intel drivers incorrectly clip the viewport settings to
|
| // the size of the current framebuffer object.
|
| RestoreFramebufferBindings();
|
| - state_.RestoreState();
|
| + state_.RestoreState(dirty_texture_state);
|
| }
|
|
|
| void GLES2DecoderImpl::RestoreFramebufferBindings() const {
|
|
|