naiveproxy/services/viz/privileged/interfaces/viz_main.mojom
2018-02-02 05:49:39 -05:00

33 lines
1.2 KiB
Plaintext

// 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<shared_buffer>? activity_flags);
};