Bug 1400387 - Change 32-bit VR Frame ID's to 64-bit
MozReview-Commit-ID: BSvZMa0XVSO
--- a/dom/vr/VRDisplay.cpp
+++ b/dom/vr/VRDisplay.cpp
@@ -972,17 +972,17 @@ VRSubmitFrameResult::Constructor(const G
JSObject*
VRSubmitFrameResult::WrapObject(JSContext* aCx,
JS::Handle<JSObject*> aGivenProto)
{
return VRSubmitFrameResultBinding::Wrap(aCx, this, aGivenProto);
}
void
-VRSubmitFrameResult::Update(uint32_t aFrameNum, const nsACString& aBase64Image)
+VRSubmitFrameResult::Update(uint64_t aFrameNum, const nsACString& aBase64Image)
{
mFrameNum = aFrameNum;
mBase64Image = NS_ConvertASCIItoUTF16(aBase64Image);
}
double
VRSubmitFrameResult::FrameNum() const
{
--- a/dom/vr/VRDisplay.h
+++ b/dom/vr/VRDisplay.h
@@ -98,17 +98,17 @@ protected:
class VRPose final : public Pose
{
public:
VRPose(nsISupports* aParent, const gfx::VRHMDSensorState& aState);
explicit VRPose(nsISupports* aParent);
- uint32_t FrameID() const { return mFrameId; }
+ uint64_t FrameID() const { return mFrameId; }
virtual void GetPosition(JSContext* aCx,
JS::MutableHandle<JSObject*> aRetval,
ErrorResult& aRv) override;
virtual void GetLinearVelocity(JSContext* aCx,
JS::MutableHandle<JSObject*> aRetval,
ErrorResult& aRv) override;
virtual void GetLinearAcceleration(JSContext* aCx,
@@ -124,17 +124,17 @@ public:
JS::MutableHandle<JSObject*> aRetval,
ErrorResult& aRv) override;
virtual JSObject* WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override;
protected:
~VRPose();
- uint32_t mFrameId;
+ uint64_t mFrameId;
gfx::VRHMDSensorState mVRState;
};
struct VRFrameInfo
{
VRFrameInfo();
void Update(const gfx::VRDisplayInfo& aInfo,
@@ -276,31 +276,31 @@ class VRSubmitFrameResult final : public
public:
NS_INLINE_DECL_CYCLE_COLLECTING_NATIVE_REFCOUNTING(VRSubmitFrameResult)
NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_NATIVE_CLASS(VRSubmitFrameResult)
explicit VRSubmitFrameResult(nsISupports* aParent);
static already_AddRefed<VRSubmitFrameResult> Constructor(const GlobalObject& aGlobal,
ErrorResult& aRv);
- void Update(uint32_t aFrameNum, const nsACString& aBase64Image);
+ void Update(uint64_t aFrameNum, const nsACString& aBase64Image);
// WebIDL Members
double FrameNum() const;
void GetBase64Image(nsAString& aImage) const;
// WebIDL Boilerplate
nsISupports* GetParentObject() const { return mParent; }
virtual JSObject* WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override;
protected:
~VRSubmitFrameResult();
nsCOMPtr<nsISupports> mParent;
nsString mBase64Image;
- uint32_t mFrameNum;
+ uint64_t mFrameNum;
};
class VRDisplay final : public DOMEventTargetHelper
, public nsIObserver
{
public:
NS_DECL_ISUPPORTS_INHERITED
NS_DECL_NSIOBSERVER
--- a/gfx/vr/VRDisplayClient.h
+++ b/gfx/vr/VRDisplayClient.h
@@ -49,17 +49,17 @@ protected:
void FireEvents();
VRDisplayInfo mDisplayInfo;
bool bLastEventWasMounted;
bool bLastEventWasPresenting;
int mPresentationCount;
- uint32_t mLastEventFrameId;
+ uint64_t mLastEventFrameId;
private:
VRSubmitFrameResultInfo mSubmitFrameResult;
};
} // namespace gfx
} // namespace mozilla
#endif /* GFX_VR_DISPLAY_CLIENT_H */
--- a/gfx/vr/gfxVR.h
+++ b/gfx/vr/gfxVR.h
@@ -132,17 +132,17 @@ struct VRFieldOfView {
double leftDegrees;
};
struct VRHMDSensorState {
VRHMDSensorState()
{
Clear();
}
- int32_t inputFrameID;
+ int64_t inputFrameID;
double timestamp;
VRDisplayCapabilityFlags flags;
// These members will only change with inputFrameID:
float orientation[4];
float position[3];
float angularVelocity[3];
float angularAcceleration[3];
@@ -194,17 +194,17 @@ struct VRDisplayInfo
const Point3D& GetEyeTranslation(uint32_t whichEye) const { return mEyeTranslation[whichEye]; }
const VRFieldOfView& GetEyeFOV(uint32_t whichEye) const { return mEyeFOV[whichEye]; }
bool GetIsConnected() const { return mIsConnected; }
bool GetIsMounted() const { return mIsMounted; }
uint32_t GetPresentingGroups() const { return mPresentingGroups; }
uint32_t GetGroupMask() const { return mGroupMask; }
const Size& GetStageSize() const { return mStageSize; }
const Matrix4x4& GetSittingToStandingTransform() const { return mSittingToStandingTransform; }
- uint32_t GetFrameId() const { return mFrameId; }
+ uint64_t GetFrameId() const { return mFrameId; }
enum Eye {
Eye_Left,
Eye_Right,
NumEyes
};
uint32_t mDisplayID;
@@ -215,17 +215,17 @@ struct VRDisplayInfo
Point3D mEyeTranslation[VRDisplayInfo::NumEyes];
IntSize mEyeResolution;
bool mIsConnected;
bool mIsMounted;
uint32_t mPresentingGroups;
uint32_t mGroupMask;
Size mStageSize;
Matrix4x4 mSittingToStandingTransform;
- uint32_t mFrameId;
+ uint64_t mFrameId;
VRHMDSensorState mLastSensorState[kVRMaxLatencyFrames];
bool operator==(const VRDisplayInfo& other) const {
for (size_t i = 0; i < kVRMaxLatencyFrames; i++) {
if (mLastSensorState[i] != other.mLastSensorState[i]) {
return false;
}
}
@@ -262,17 +262,17 @@ struct VRSubmitFrameResultInfo
VRSubmitFrameResultInfo()
: mFrameNum(0),
mWidth(0),
mHeight(0)
{}
nsCString mBase64Image;
SurfaceFormat mFormat;
- uint32_t mFrameNum;
+ uint64_t mFrameNum;
uint32_t mWidth;
uint32_t mHeight;
};
struct VRControllerInfo
{
VRDeviceType GetType() const { return mType; }
uint32_t GetControllerID() const { return mControllerID; }