Chromium Code Reviews| Index: android_webview/browser/shared_renderer_state.cc |
| diff --git a/android_webview/browser/shared_renderer_state.cc b/android_webview/browser/shared_renderer_state.cc |
| index cb0bda938b11ba71cd3133f8a2474c532e035721..38d5bdbb5cbeae63c256b6501829d963731c25f8 100644 |
| --- a/android_webview/browser/shared_renderer_state.cc |
| +++ b/android_webview/browser/shared_renderer_state.cc |
| @@ -259,6 +259,13 @@ void SharedRendererState::DrawGL(AwDrawGLInfo* draw_info) { |
| draw_info->mode == AwDrawGLInfo::kModeDraw |
| ? ScopedAppGLStateRestore::MODE_DRAW |
| : ScopedAppGLStateRestore::MODE_RESOURCE_MANAGEMENT); |
| + // Set the correct FBO before any GL command is run. The GL commands run in |
| + // kModeDraw and kModeProcess may require a correctly bound FBO. |
| + if (hardware_renderer_) { |
| + hardware_renderer_->SetBackingFrameBufferObject( |
| + state_restore.framebuffer_binding_ext()); |
|
boliu
2015/09/14 21:25:35
Limit this to kModeDraw only. You can probably mov
hush (inactive)
2015/09/14 23:00:27
Done.
|
| + } |
| + |
| ScopedAllowGL allow_gl; |
| if (draw_info->mode == AwDrawGLInfo::kModeProcessNoContext) { |
| @@ -285,7 +292,6 @@ void SharedRendererState::DrawGL(AwDrawGLInfo* draw_info) { |
| } |
| hardware_renderer_->DrawGL(state_restore.stencil_enabled(), |
| - state_restore.framebuffer_binding_ext(), |
| draw_info); |
| DeferredGpuCommandService::GetInstance()->PerformIdleWork(false); |
| } |