• Peng Huang's avatar
    mus: Enable arc video accelerators in viz · 417f0cf7
    Peng Huang authored
    For Classic Ash, ArcVideo*Accelerator and ProtectedBufferManager interfaces
    are implemented in GPU process and requested from browser process. And the
    the message pipes for ArcVideo*Accelerators interfaces can be forward from
    the browser process into ARC container.
    
    This CL adds CreateArcVideo*Accelerator() and CreateProtectedBufferManager()
    methods in viz::mojom::GpuService. Those methods can only be used by the
    ui(window server) process via the viz::mojo::VizMain interface.
    
    This CL also adds a new ui::mojom::Arc interface. It is exposed from ui
    process, and can only be used by browser process.
    
    For mushrome, the workflow is, ARC requests ArcVideo*Accelerator interfaces
    from browser process, and then browser process requests ui::mojom::Arc
    interface exposed by ui process and then uses the ui::mojom::Arc to create the
    ArcVideo*Accelerators interfaces implemented in viz process, and then forwards
    the message handle for ArcVideo*Accelerator interface to ARC. The workflow looks
    like:
    
    [ARC]<--arc.mojom.ArcBridgeHost-->[browser]<--ui.mojom.Arc-->[ui]<--viz.mojom.GpuService-->[viz]
    
    
    Test: Test ARC youtube on device
    Bug: 769755
    Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
    Change-Id: If8ff4aeeffc378d12bd86161bf705497bcfc28e5
    Reviewed-on: https://chromium-review.googlesource.com/759092Reviewed-by: default avatarTom Sepez <tsepez@chromium.org>
    Reviewed-by: default avatarDale Curtis <dalecurtis@chromium.org>
    Reviewed-by: default avatarSadrul Chowdhury <sadrul@chromium.org>
    Reviewed-by: default avatarAntoine Labour <piman@chromium.org>
    Reviewed-by: default avatarYusuke Sato <yusukes@chromium.org>
    Reviewed-by: default avatarMichael Wasserman <msw@chromium.org>
    Commit-Queue: Peng Huang <penghuang@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#517898}
    417f0cf7
BUILD.gn 16 KB