• Bo Liu's avatar
    aw: Vulkan instrumentation test · 9127573b
    Bo Liu authored
    Implement vulkan instrumentation shell. This requires dependency on
    gpu/vulkan for vulkan bindings and initialization, and skia for
    setting up pipeline and secondary command buffer to be passed to
    webview. The skia dependency is largely the same as hwui's
    implementation vulkan draw functor implementation.
    
    This requires one fix to VulkanSwapChain to not try to get the
    current TaskRunner on initialization. Webview's render thread does
    not have a TaskRunner.
    
    Also needed to plumb an explicit resize event to native
    ContextManager to resize the vulkan surface.
    
    Make sure to install draw_fn function table before calling
    AwBrowserProcess.start everywhere, so it can call query_render_mode
    on initialization.
    
    Add plumbing to allow test to choose to use vulkan, and add a test
    rendering test using vulkan. The test is limited to P+ and a hard
    coded list of supported devices. Verified the android-pie-arm64-rel
    bot can successfully run the test.
    
    Bug: 1141687
    Change-Id: Id49b770728d993c7764d7dc044a3d990df5bef3a
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2620539
    Commit-Queue: Bo <boliu@chromium.org>
    Reviewed-by: default avatarPeng Huang <penghuang@chromium.org>
    Reviewed-by: default avatarVasiliy Telezhnikov <vasilyt@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#843260}
    9127573b
BUILD.gn 27.4 KB