// Copyright 2016 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. module viz.mojom; import "services/viz/public/interfaces/compositing/compositing_mode_watcher.mojom"; import "services/viz/privileged/interfaces/compositing/frame_sink_manager.mojom"; import "services/viz/privileged/interfaces/gl/gpu_host.mojom"; import "services/viz/privileged/interfaces/gl/gpu_service.mojom"; struct FrameSinkManagerParams { // An id that changes for each viz process restart. uint32 restart_id; // Host to viz interface. FrameSinkManager& frame_sink_manager; // Viz to host interface. FrameSinkManagerClient frame_sink_manager_client; // Mojo pointer of the host's CompositingModeWatcher. This can be omitted on // systems that will never fallback to software compositing, as there's no // need to watch then. CompositingModeWatcher? compositing_mode_watcher; }; // This is the primordial interface used to (re)start the viz services. interface VizMain { CreateFrameSinkManager(FrameSinkManagerParams params); CreateGpuService(GpuService& gpu_service, GpuHost gpu_host, handle? activity_flags); };