PVsyncBridge.ipdl (1005B)
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2 /* This Source Code Form is subject to the terms of the Mozilla Public 3 * License, v. 2.0. If a copy of the MPL was not distributed with this 4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 5 6 include "mozilla/layers/LayersMessageUtils.h"; 7 8 using class mozilla::TimeStamp from "mozilla/TimeStamp.h"; 9 using mozilla::layers::LayersId from "mozilla/layers/LayersTypes.h"; 10 using mozilla::VsyncEvent from "mozilla/VsyncDispatcher.h"; 11 12 namespace mozilla { 13 namespace gfx { 14 15 // This protocol only serves one purpose: deliver vsync notifications from a 16 // dedicated thread in the UI process to the compositor thread in the 17 // compositor process. The child side exists in the UI process, and the 18 // parent side in the GPU process. 19 [NeedsOtherPid, ParentProc=GPU, ChildProc=Parent] 20 sync protocol PVsyncBridge 21 { 22 parent: 23 async NotifyVsync(VsyncEvent vsync, LayersId layersId); 24 }; 25 26 } // namespace gfx 27 } // namespace mozilla