Now we actually use the vsync signal to trigger work. Previously, we'd hit the
pipeline depth limit too early and fall back to swap buffers-triggered
rendering.
Also, rename Vsync to VSync on recommendation from jamesr.
Instead of using back pressure from swap buffers to drive the engine, this
patch using the vsync signal from the Android framework. We still respect
back pressure from swap buffers if we get too far ahead.
Previously, there was a race condition whereby we could end up with three
requests in the pipeline. Now we update the number of outstanding requests
synchronously, which avoids the race.
Previously, we weren't overlapping any work between the UI and the GPU threads
because each waited for the other to finish. After this patch, we now have a
pipeline depth of 2, which means we can be working on two frames at once, one
for each thread. In the future, we should dynamically adjust the pipeline
depth.
- Add missing dependencies caught by gn's new stricter checker
- Update opentype code to use new OTS API. This code is updated from HEAD
Blink.
- Add base dependency to wtf to avoid redefining marcos from base/macros.h
- Update callers of various base string utility functions to use base
namespace.