Bug 1537899 - Add neck model capability for VRPose position. r=kip

Add neck model capability for VRPose position.

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

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Imanol Fernandez 2019-03-21 19:38:18 +00:00
Родитель bf070137cd
Коммит a3e06efc18
2 изменённых файлов: 10 добавлений и 3 удалений

Просмотреть файл

@ -246,7 +246,9 @@ void VRPose::GetPosition(JSContext* aCx, JS::MutableHandle<JSObject*> aRetval,
SetFloat32Array(
aCx, aRetval, mPosition, mVRState.pose.position, 3,
!mPosition &&
bool(mVRState.flags & gfx::VRDisplayCapabilityFlags::Cap_Position),
(bool(mVRState.flags & gfx::VRDisplayCapabilityFlags::Cap_Position) ||
bool(mVRState.flags &
gfx::VRDisplayCapabilityFlags::Cap_PositionEmulated)),
aRv);
}

Просмотреть файл

@ -34,7 +34,7 @@ enum class GamepadCapabilityFlags : uint16_t;
#endif // MOZILLA_INTERNAL_API
namespace gfx {
static const int32_t kVRExternalVersion = 6;
static const int32_t kVRExternalVersion = 7;
// We assign VR presentations to groups with a bitmask.
// Currently, we will only display either content or chrome.
@ -159,10 +159,15 @@ enum class VRDisplayCapabilityFlags : uint16_t {
* user is wearing the device.
*/
Cap_MountDetection = 1 << 8,
/**
* Cap_PositionEmulated is set if the VRDisplay is capable of setting a
* emulated position (e.g. neck model) even if still doesn't support 6DOF tracking.
*/
Cap_PositionEmulated = 1 << 9,
/**
* Cap_All used for validity checking during IPC serialization
*/
Cap_All = (1 << 9) - 1
Cap_All = (1 << 10) - 1
};
#ifdef MOZILLA_INTERNAL_API