Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1494)

Unified Diff: android_webview/browser/shared_renderer_state.cc

Issue 1335033004: Make sure FBO is correct for both kModeProcess and kModeDraw (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Set FBO before any GL runs Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
}
« android_webview/browser/hardware_renderer.cc ('K') | « android_webview/browser/hardware_renderer.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698