Bug 1508225 - Change return type of VRDisplayExternal::GetSensorState to a reference r=kip,dmajor

This change fixes a compiler warning, where a VRSensorState object is returned on the stack as a rather large object.
To address this warning, the return type of VRDisplayExternal::GetSensorState now returns a const reference to the member. The rest of the change are updates to uphold the new constness.

Differential Revision: https://phabricator.services.mozilla.com/D13586

--HG--
extra : moz-landing-system : lando
This commit is contained in:
thomasmo 2018-12-18 19:39:44 +00:00
parent 2ebce46fd8
commit 32f32b7a86
8 changed files with 8 additions and 8 deletions

View File

@ -376,7 +376,7 @@ void VRDisplay::UpdateFrameInfo() {
* should return the latest frame data always.
*/
if (mFrameInfo.IsDirty() || !mPresentation) {
gfx::VRHMDSensorState state = mClient->GetSensorState();
const gfx::VRHMDSensorState& state = mClient->GetSensorState();
const gfx::VRDisplayInfo& info = mClient->GetDisplayInfo();
mFrameInfo.Update(info, state, mDepthNear, mDepthFar);
}

View File

@ -267,7 +267,7 @@ void VRDisplayClient::FireGamepadEvents() {
sizeof(VRControllerState) * kVRControllerMaxCount);
}
VRHMDSensorState VRDisplayClient::GetSensorState() {
const VRHMDSensorState& VRDisplayClient::GetSensorState() const {
return mDisplayInfo.GetSensorState();
}

View File

@ -29,7 +29,7 @@ class VRDisplayClient {
void UpdateSubmitFrameResult(const VRSubmitFrameResultInfo& aResult);
const VRDisplayInfo& GetDisplayInfo() const { return mDisplayInfo; }
virtual VRHMDSensorState GetSensorState();
virtual const VRHMDSensorState& GetSensorState() const;
void GetSubmitFrameResult(VRSubmitFrameResultInfo& aResult);
virtual void ZeroSensor();

View File

@ -91,7 +91,7 @@ class VRDisplayHost {
// VRLayerParent destructor
protected:
virtual VRHMDSensorState GetSensorState() = 0;
virtual VRHMDSensorState& GetSensorState() = 0;
RefPtr<VRThread> mSubmitThread;

View File

@ -99,7 +99,7 @@ void VRDisplayExternal::ExpireNavigationTransition() {
}
}
VRHMDSensorState VRDisplayExternal::GetSensorState() {
VRHMDSensorState& VRDisplayExternal::GetSensorState() {
return mLastSensorState;
}

View File

@ -31,7 +31,7 @@ class VRDisplayExternal : public VRDisplayHost {
void ZeroSensor() override;
protected:
VRHMDSensorState GetSensorState() override;
VRHMDSensorState& GetSensorState() override;
void StartPresentation() override;
void StopPresentation() override;
void StartVRNavigation() override;

View File

@ -139,7 +139,7 @@ void VRDisplayPuppet::Destroy() { StopPresentation(); }
void VRDisplayPuppet::ZeroSensor() {}
VRHMDSensorState VRDisplayPuppet::GetSensorState() {
VRHMDSensorState& VRDisplayPuppet::GetSensorState() {
mSensorState.inputFrameID = mDisplayInfo.mFrameId;
Matrix4x4 matHeadToEye[2];

View File

@ -36,7 +36,7 @@ class VRDisplayPuppet : public VRDisplayLocal {
void ZeroSensor() override;
protected:
virtual VRHMDSensorState GetSensorState() override;
virtual VRHMDSensorState& GetSensorState() override;
virtual void StartPresentation() override;
virtual void StopPresentation() override;
#if defined(XP_WIN)