/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ using mozilla::TimeStamp from "mozilla/TimeStamp.h"; using mozilla::gfx::VRControllerType from "moz_external_vr.h"; using mozilla::dom::NativeThreadId from "mozilla/dom/NativeThreadId.h"; include "VRMessageUtils.h"; include "VRParent.h"; include "VRChild.h"; include GraphicsMessages; include MemoryReportTypes; include PrefsTypes; include protocol PVRGPU; namespace mozilla { namespace gfx { [ManualDealloc, NeedsOtherPid, ChildImpl="VRChild", ParentImpl="VRParent"] async protocol PVR { parent: async NewGPUVRManager(Endpoint endpoint); async Init(GfxVarUpdate[] vars, DevicePrefs devicePrefs); async UpdateVar(GfxVarUpdate var); async PreferenceUpdate(Pref pref); async OpenVRControllerActionPathToVR(nsCString aPath); async OpenVRControllerManifestPathToVR(VRControllerType aType, nsCString aPath); async RequestMemoryReport(uint32_t generation, bool anonymize, bool minimizeMemoryUsage, FileDescriptor? DMDFile) returns (uint32_t aGeneration); child: // Sent when the GPU process has initialized devices. This occurs once, after // Init(). async InitComplete(); async OpenVRControllerActionPathToParent(nsCString aPath); async OpenVRControllerManifestPathToParent(VRControllerType aType, nsCString aPath); async InitCrashReporter(NativeThreadId threadId); async AddMemoryReport(MemoryReport aReport); }; } // namespace gfx } // namespace mozilla