New issue
Advanced search Search tips

Issue 592744 link

Starred by 5 users

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2016
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug

Blocking:
issue 591836



Sign in to add a comment

sync compositor: handle gpu thread context loss

Project Member Reported by boliu@chromium.org, Mar 7 2016

Issue description

Looking into it today. Semi-involved.

Need to add output_surface_id and keep track of it for resources, so that resources for lost output surface don't go to the new one.

Then it's relatively simple to not tear down everything on the renderer side when the output surface goes away.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Mar 22 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f4e57485631dc4c3beaa87de398975cab87fdc32

commit f4e57485631dc4c3beaa87de398975cab87fdc32
Author: boliu <boliu@chromium.org>
Date: Tue Mar 22 19:33:17 2016

sync compositor: Add output_surface_id plumbing

The output_surface_id is unique for a particular renderer compositor
instance. It is used to avoid returning resources from lost context to
compositor with new context.

Plumb output_surface_id from SynchronousOutputSurface all the way
to android_webview::HardwareRenderer. To avoid having to send down
a map<id, resource list>, a simpler guarantee is to assume the
output_surface_id is increasing, so only need to return resources
of with highest output surface id and drop resources other resources.

BUG= 592744 

Review URL: https://codereview.chromium.org/1769913003

Cr-Commit-Position: refs/heads/master@{#382636}

[modify] https://crrev.com/f4e57485631dc4c3beaa87de398975cab87fdc32/android_webview/browser/browser_view_renderer.cc
[modify] https://crrev.com/f4e57485631dc4c3beaa87de398975cab87fdc32/android_webview/browser/browser_view_renderer_unittest.cc
[modify] https://crrev.com/f4e57485631dc4c3beaa87de398975cab87fdc32/android_webview/browser/child_frame.cc
[modify] https://crrev.com/f4e57485631dc4c3beaa87de398975cab87fdc32/android_webview/browser/child_frame.h
[modify] https://crrev.com/f4e57485631dc4c3beaa87de398975cab87fdc32/android_webview/browser/hardware_renderer.cc
[modify] https://crrev.com/f4e57485631dc4c3beaa87de398975cab87fdc32/android_webview/browser/hardware_renderer.h
[modify] https://crrev.com/f4e57485631dc4c3beaa87de398975cab87fdc32/android_webview/browser/shared_renderer_state.cc
[modify] https://crrev.com/f4e57485631dc4c3beaa87de398975cab87fdc32/android_webview/browser/shared_renderer_state.h
[modify] https://crrev.com/f4e57485631dc4c3beaa87de398975cab87fdc32/android_webview/browser/test/rendering_test.cc
[modify] https://crrev.com/f4e57485631dc4c3beaa87de398975cab87fdc32/android_webview/browser/test/rendering_test.h
[modify] https://crrev.com/f4e57485631dc4c3beaa87de398975cab87fdc32/content/browser/android/in_process/synchronous_compositor_factory_impl.cc
[modify] https://crrev.com/f4e57485631dc4c3beaa87de398975cab87fdc32/content/browser/android/in_process/synchronous_compositor_factory_impl.h
[modify] https://crrev.com/f4e57485631dc4c3beaa87de398975cab87fdc32/content/browser/android/in_process/synchronous_compositor_impl.cc
[modify] https://crrev.com/f4e57485631dc4c3beaa87de398975cab87fdc32/content/browser/android/in_process/synchronous_compositor_impl.h
[modify] https://crrev.com/f4e57485631dc4c3beaa87de398975cab87fdc32/content/browser/android/synchronous_compositor_host.cc
[modify] https://crrev.com/f4e57485631dc4c3beaa87de398975cab87fdc32/content/browser/android/synchronous_compositor_host.h
[modify] https://crrev.com/f4e57485631dc4c3beaa87de398975cab87fdc32/content/common/android/sync_compositor_messages.cc
[modify] https://crrev.com/f4e57485631dc4c3beaa87de398975cab87fdc32/content/common/android/sync_compositor_messages.h
[modify] https://crrev.com/f4e57485631dc4c3beaa87de398975cab87fdc32/content/content_browser.gypi
[add] https://crrev.com/f4e57485631dc4c3beaa87de398975cab87fdc32/content/public/browser/android/synchronous_compositor.cc
[modify] https://crrev.com/f4e57485631dc4c3beaa87de398975cab87fdc32/content/public/browser/android/synchronous_compositor.h
[modify] https://crrev.com/f4e57485631dc4c3beaa87de398975cab87fdc32/content/public/test/test_synchronous_compositor_android.cc
[modify] https://crrev.com/f4e57485631dc4c3beaa87de398975cab87fdc32/content/public/test/test_synchronous_compositor_android.h
[modify] https://crrev.com/f4e57485631dc4c3beaa87de398975cab87fdc32/content/renderer/android/synchronous_compositor_factory.h
[modify] https://crrev.com/f4e57485631dc4c3beaa87de398975cab87fdc32/content/renderer/android/synchronous_compositor_output_surface.cc
[modify] https://crrev.com/f4e57485631dc4c3beaa87de398975cab87fdc32/content/renderer/android/synchronous_compositor_output_surface.h
[modify] https://crrev.com/f4e57485631dc4c3beaa87de398975cab87fdc32/content/renderer/android/synchronous_compositor_proxy.cc
[modify] https://crrev.com/f4e57485631dc4c3beaa87de398975cab87fdc32/content/renderer/android/synchronous_compositor_proxy.h
[modify] https://crrev.com/f4e57485631dc4c3beaa87de398975cab87fdc32/content/renderer/render_widget.cc

Project Member

Comment 2 by bugdroid1@chromium.org, Mar 23 2016

Comment 3 by boliu@chromium.org, Mar 24 2016

Status: Fixed (was: Assigned)

Comment 4 by boliu@chromium.org, Jun 3 2016

 Issue 617165  has been merged into this issue.

Sign in to add a comment