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

Side by Side Diff: android_webview/browser/shared_renderer_state.cc

Issue 1564703005: Implement external stencil for Android WebView (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase, fix pixel tests Created 4 years, 11 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 unified diff | Download patch
« no previous file with comments | « android_webview/browser/scoped_app_gl_state_restore.cc ('k') | cc/output/gl_renderer.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "android_webview/browser/shared_renderer_state.h" 5 #include "android_webview/browser/shared_renderer_state.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "android_webview/browser/browser_view_renderer.h" 9 #include "android_webview/browser/browser_view_renderer.h"
10 #include "android_webview/browser/child_frame.h" 10 #include "android_webview/browser/child_frame.h"
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after
293 return; 293 return;
294 } 294 }
295 295
296 if (draw_info->mode != AwDrawGLInfo::kModeDraw) { 296 if (draw_info->mode != AwDrawGLInfo::kModeDraw) {
297 if (draw_info->mode == AwDrawGLInfo::kModeProcess) { 297 if (draw_info->mode == AwDrawGLInfo::kModeProcess) {
298 DeferredGpuCommandService::GetInstance()->PerformIdleWork(true); 298 DeferredGpuCommandService::GetInstance()->PerformIdleWork(true);
299 } 299 }
300 return; 300 return;
301 } 301 }
302 302
303 hardware_renderer_->DrawGL(state_restore.stencil_enabled(), draw_info); 303 hardware_renderer_->DrawGL(draw_info, state_restore);
304 DeferredGpuCommandService::GetInstance()->PerformIdleWork(false); 304 DeferredGpuCommandService::GetInstance()->PerformIdleWork(false);
305 } 305 }
306 306
307 void SharedRendererState::ReleaseHardwareDrawIfNeededOnUI() { 307 void SharedRendererState::ReleaseHardwareDrawIfNeededOnUI() {
308 ReleaseCompositorResourcesIfNeededOnUI(true); 308 ReleaseCompositorResourcesIfNeededOnUI(true);
309 } 309 }
310 310
311 void SharedRendererState::DeleteHardwareRendererOnUI() { 311 void SharedRendererState::DeleteHardwareRendererOnUI() {
312 ReleaseCompositorResourcesIfNeededOnUI(false); 312 ReleaseCompositorResourcesIfNeededOnUI(false);
313 } 313 }
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
371 : shared_renderer_state_(shared_renderer_state) { 371 : shared_renderer_state_(shared_renderer_state) {
372 DCHECK(!shared_renderer_state_->IsInsideHardwareRelease()); 372 DCHECK(!shared_renderer_state_->IsInsideHardwareRelease());
373 shared_renderer_state_->SetInsideHardwareRelease(true); 373 shared_renderer_state_->SetInsideHardwareRelease(true);
374 } 374 }
375 375
376 SharedRendererState::InsideHardwareReleaseReset::~InsideHardwareReleaseReset() { 376 SharedRendererState::InsideHardwareReleaseReset::~InsideHardwareReleaseReset() {
377 shared_renderer_state_->SetInsideHardwareRelease(false); 377 shared_renderer_state_->SetInsideHardwareRelease(false);
378 } 378 }
379 379
380 } // namespace android_webview 380 } // namespace android_webview
OLDNEW
« no previous file with comments | « android_webview/browser/scoped_app_gl_state_restore.cc ('k') | cc/output/gl_renderer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698