-
Jonathan Backer authored
FrameResourceFence was introduced in https://chromium-review.googlesource.com/c/chromium/src/+/1600617 to properly support display of video from GpuMemoryBuffers. Idea is that DisplayResourceProvider will signal that a fence is needed (https://cs.chromium.org/chromium/src/components/viz/service/display/display_resource_provider.cc?rcl=b42e627df3d2285cccb73e90ace0c96667a42652&l=514) and later check if the fence has passed before deleting the resource (https://cs.chromium.org/chromium/src/components/viz/service/display/display_resource_provider.cc?rcl=b42e627df3d2285cccb73e90ace0c96667a42652&l=657). This CL does 2 things. (1) Fixes a bug where we were previously signaling the fence in DisplayResourceProvider::LockForRead, when we shouldn't have. We should only signal the fence once it is safe to delete. (2) Only sets |on_finished_callback| if some resource needed a readlock fence. This microoptimization improves performance on RendererPerfTest. Bug: 974359 Change-Id: If72985b566a6082382c0baf6887408fa42bb9299 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1775100Reviewed-by:
Sergey Ulanov <sergeyu@chromium.org> Commit-Queue: Jonathan Backer <backer@chromium.org> Cr-Commit-Position: refs/heads/master@{#691625}
78124a1c