Bug 1352520 - Add GeckoProfiler markers for WebVR; r?kip
MozReview-Commit-ID: 6j22J0rSw1Y
--- a/dom/vr/VRDisplay.cpp
+++ b/dom/vr/VRDisplay.cpp
@@ -642,16 +642,18 @@ VRDisplay::GetLayers(nsTArray<VRLayer>&
} else {
result = nsTArray<VRLayer>();
}
}
void
VRDisplay::SubmitFrame()
{
+ AutoProfilerTracing tracing("VR", "SubmitFrameAtVRDisplay");
+
if (mPresentation) {
mPresentation->SubmitFrame();
}
mFrameInfo.Clear();
}
int32_t
VRDisplay::RequestAnimationFrame(FrameRequestCallback& aCallback,
--- a/gfx/vr/VRDisplayHost.cpp
+++ b/gfx/vr/VRDisplayHost.cpp
@@ -83,16 +83,18 @@ VRDisplayHost::RemoveLayer(VRLayerParent
// Ensure that the content process receives the change immediately
VRManager* vm = VRManager::Get();
vm->RefreshVRDisplays();
}
void
VRDisplayHost::StartFrame()
{
+ AutoProfilerTracing tracing("VR", "GetSensorState");
+
mLastFrameStart = TimeStamp::Now();
++mDisplayInfo.mFrameId;
mDisplayInfo.mLastSensorState[mDisplayInfo.mFrameId % kVRMaxLatencyFrames] = GetSensorState();
mFrameStarted = true;
}
void
VRDisplayHost::NotifyVSync()
@@ -158,16 +160,18 @@ VRDisplayHost::NotifyVSync()
}
}
void
VRDisplayHost::SubmitFrame(VRLayerParent* aLayer, PTextureParent* aTexture,
const gfx::Rect& aLeftEyeRect,
const gfx::Rect& aRightEyeRect)
{
+ AutoProfilerTracing tracing("VR", "SubmitFrameAtVRDisplayHost");
+
if ((mDisplayInfo.mGroupMask & aLayer->GetGroup()) == 0) {
// Suppress layers hidden by the group mask
return;
}
// Ensure that we only accept the first SubmitFrame call per RAF cycle.
if (!mFrameStarted) {
return;
--- a/gfx/vr/ipc/VRManagerChild.cpp
+++ b/gfx/vr/ipc/VRManagerChild.cpp
@@ -523,16 +523,18 @@ VRManagerChild::RecvReplyCreateVRService
p->MaybeResolve(new VRMockController(aID, aDeviceID));
mPromiseList.Remove(aPromiseID);
return IPC_OK();
}
void
VRManagerChild::RunFrameRequestCallbacks()
{
+ AutoProfilerTracing tracing("VR", "RunFrameRequestCallbacks");
+
TimeStamp nowTime = TimeStamp::Now();
mozilla::TimeDuration duration = nowTime - mStartTimeStamp;
DOMHighResTimeStamp timeStamp = duration.ToMilliseconds();
nsTArray<FrameRequest> callbacks;
callbacks.AppendElements(mFrameRequestCallbacks);
mFrameRequestCallbacks.Clear();