Граф коммитов

78 Коммитов

Автор SHA1 Сообщение Дата
Kearwood "Kip" Gilbert ccc6462307 Bug 1410493 - Update Oculus SDK from 1.5 to 1.9, update IPD during VR presentation r=daoshengmu
- Oculus SDK was updated from 1.5 to 1.9
- As the Oculus API now returns quaternion orientations for each
  eye-to-head transform, I needed to send more information to the
  content process.
- Rather than adding the quaternion, we now calculate the view matrices
  on the VR thread in the GPU process rather than calculating it in the
  content thread from parameters.
- OpenVR's full view matrix is now used, for compatibility with more devices.
- IPD adjustments are now updated every frame for both Oculus and OpenVR.


MozReview-Commit-ID: LOtfs4QIqc8

--HG--
extra : rebase_source : 0a69824012ede4bea0e0e709a2d027d0c35730bb
2017-10-23 14:23:03 -07:00
Daniel Holbert 126bd9e1a4 Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel
This patch was generated automatically by the "modeline.py" script, available
here: https://github.com/amccreight/moz-source-tools/blob/master/modeline.py

For every file that is modified in this patch, the changes are as follows:
 (1) The patch changes the file to use the exact C++ mode lines from the
     Mozilla coding style guide, available here:
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Mode_Line

 (2) The patch deletes any blank lines between the mode line & the MPL
     boilerplate comment.

 (3) If the file previously had the mode lines and MPL boilerplate in a
     single contiguous C++ comment, then the patch splits them into
     separate C++ comments, to match the boilerplate in the coding style.

MozReview-Commit-ID: 77D61xpSmIl

--HG--
extra : rebase_source : c6162fa3cf539a07177a19838324bf368faa162b
2017-10-27 16:10:06 -07:00
Coroiu Cristina 9ca76dcb7a Backed out changeset b7a07167905c::2932c914e223 (bug 1406327) for failing in dom/vr/test/mochitest/test_vrController_displayId.html r=backout a=backout on a CLOSED TREE
Backed out changeset 2932c914e223 (bug 1406327)
Backed out changeset cfbc6262a064 (bug 1406327)
Backed out changeset b7a07167905c (bug 1406327)
2017-10-30 14:51:52 +02:00
Daosheng Mu c32ea833f2 Bug 1406327 - Part 3: VRSystemManager for multi-threads; r=kip
MozReview-Commit-ID: 4bE5hruFcT2

--HG--
extra : rebase_source : 3aa00d81127c90974f00571bd89174bd62a9d117
2017-10-26 17:45:44 +08:00
Daosheng Mu 48b5ded13e Bug 1392216 - Part 2: Support VR listener thread in VR; r=kip
MozReview-Commit-ID: 62PZ5opXoZ6

--HG--
extra : rebase_source : 81bac1b7228a35baa571f381e863e31608ba350f
2017-10-05 18:16:16 +08:00
Kearwood "Kip" Gilbert c5a2279e20 Bug 1400457 - Isolate VR Rendering from Compositor r=daoshengmu,jgilbert
- WebVR is no longer dependent on PTexture, TextureParent,
  TextureHost, and TextureChild.  It continues to use TextureClient
  for pooling and coordinating locks with other Gecko code.
- PreserveDrawingBuffer now behaving correctly for 2d display mirroring
- Preparation for separating to VR process
MozReview-Commit-ID: 2RGOulCInSu

--HG--
extra : rebase_source : 3542b804c3def36fa74541be32d0e7cbc9698641
2017-07-21 17:30:34 -07:00
Daosheng Mu ae7ecb064c Bug 1397397 - Detect vrdisplayconnect/vrdisplaydisconnect events with IsTrackedDeviceConnected() in OpenVR; r=kip
MozReview-Commit-ID: 1Q8zyCZhQuC

--HG--
extra : rebase_source : eb7befe980cb70b8c86adb379190b8aa0a76d973
2017-09-08 15:35:53 +08:00
Daosheng Mu b95528913e Bug 1392476 - Add dropframe telemetry for WebVR; r=francois,kip
MozReview-Commit-ID: IPVnPBkY8CN

--HG--
extra : rebase_source : 437b3528cecb05bc0bb4307447dee3e18c63d762
2017-08-28 18:43:25 +08:00
Daosheng Mu 6cea13ecbd Bug 1389227 - Avoid accessing invalid array index in vr controllers when stopping vibrate; r=kip
MozReview-Commit-ID: NR5FLllABm

--HG--
extra : rebase_source : 3856d3a434716e057a98ff07fc27e3ec2b544172
2017-08-11 18:10:29 +08:00
Milan Sreckovic e3cd0a3157 Bug 1387514: Upgrade BaseRect (derived classes) width and height direct member variable use to instead use Width()/SetWidth() and Height()/SetHeight() in .cpp files in gfx/*. r=milan
MozReview-Commit-ID: 1jESowJKdyp

--HG--
extra : rebase_source : 3839cdea46729a9af05c777215cffcb9f42a2018
2017-08-14 08:29:28 -04:00
Daosheng Mu ef8460e296 Bug 1388274 - Adjust WebVR telemetry histogram's high bound for user time spent; r=francois,kip
MozReview-Commit-ID: JcQZTgVmxr3

--HG--
extra : rebase_source : e00eab62c6d661a410d46d165843d7985054b145
2017-08-08 18:23:43 +08:00
Daosheng Mu 53021c2bb8 Bug 1386664 - Add Knuckles string id for SteamVR Knuckles controllers; r=kip
MozReview-Commit-ID: H8fX21j0u6F

--HG--
extra : rebase_source : f3d3b2ccf62559fabc8a1bc112322b3fa7c1078f
2017-08-04 14:52:01 +08:00
Daosheng Mu 92a31f9962 Bug 1382123 - SteamVR Knuckles support in WebVR. r=kip
MozReview-Commit-ID: 4dHRkcQcmeL
2017-08-01 16:36:26 -04:00
Daosheng Mu 96e02d5de5 Bug 1306156 - Add telemetry for watching MAU and time spent of WebVR users; r=kip
MozReview-Commit-ID: 6v3F6aGdNK7

--HG--
extra : rebase_source : 6fc6a8accb1cc48968f3e1a09dc76de4b508afc7
2017-07-28 18:42:11 +08:00
Daosheng Mu c673ebcff6 Bug 1384865 - Using game pose of OpenVR VRDisplay instead of render pose; r=kip
MozReview-Commit-ID: FXnPBdyVLdE

--HG--
extra : rebase_source : c1788782b6bfd408026b26f4ba2756437c5ce62b
2017-07-27 17:20:58 +08:00
Kearwood Gilbert 21d51ec691 Bug 1310665 - macOS OpenVR Support r=daoshengmu,mattwoodrow
MozReview-Commit-ID: 9CDJpFOcFUB

--HG--
extra : rebase_source : ab1f13bd733a6f295570f58940191b333868a088
extra : source : d527620e9351a04bc70689af6a7369dd09ffeef0
2017-07-04 13:50:40 -07:00
Daosheng Mu 50f04ed171 Bug 1375816 - Part 3: VRController displayId attribute support; r=kip
MozReview-Commit-ID: CfWCYJuZaBK

--HG--
extra : rebase_source : faa7a409d619d7618784e1d80358b59625dc87e6
2017-07-14 17:01:09 +08:00
Sebastian Hengst 8689e62ade Backed out changeset 13155b1e7a48 (bug 1375816) 2017-07-18 11:48:26 +02:00
Daosheng Mu 9e15accf51 Bug 1375816 - Part 3: VRController displayId attribute support; r=kip
MozReview-Commit-ID: CfWCYJuZaBK

--HG--
extra : rebase_source : 1fdc733c56978ad87d35a323997f5058e1f35247
2017-07-14 17:01:09 +08:00
Wes Kocher eaeabd21b5 Backed out 4 changesets (bug 1375816) for various failures including builds busted in gfxVROculus.cpp a=backout
Backed out changeset 73619b7ce23d (bug 1375816)
Backed out changeset dd09fc501f90 (bug 1375816)
Backed out changeset fd4517198d6c (bug 1375816)
Backed out changeset e15e060f034c (bug 1375816)

MozReview-Commit-ID: 9VXOC0V45NE
2017-07-17 23:18:21 -07:00
Daosheng Mu a4e7f823f5 Bug 1375816 - Part 3: VRController displayId attribute support; r=kip
MozReview-Commit-ID: CfWCYJuZaBK

--HG--
extra : rebase_source : 1fdc733c56978ad87d35a323997f5058e1f35247
2017-07-14 17:01:09 +08:00
Kearwood "Kip" Gilbert 0a5d006f8a Bug 1287944 - Improve interaction with Oculus Home r=daoshengmu
- Now destroying and re-creating Oculus sessions when switching
  between magic window and immersive WebVR (BeginPresent / ExitPresent)
- Now sending flags to Oculus ovr_initilize to specify if Firefox will
  be presenting to the VR display or just using tracking
- Now coordinating oculus session shutdown and restart between the
  VR controllers and the VR display with reference counting.
- Now able to return to Oculus home after using WebVR
- Magic window / non-exclusive sessions no longer take over the VR headset
  causing it to display a message that Firefox.exe is not responding.


MozReview-Commit-ID: EnRsxt6ZSzg

--HG--
extra : rebase_source : 10ba1b76bf75774b8842d99b555319fb5dd7f736
2017-07-04 13:28:27 -07:00
Wes Kocher c119435f8a Backed out changeset f9b033c61423 (bug 1287944) for win debug failures in test_child_assertions.js a=backout
MozReview-Commit-ID: Fem34WwTkY6
2017-07-06 17:03:39 -07:00
Kearwood "Kip" Gilbert d4f04befed Bug 1287944 - Improve interaction with Oculus Home r=daoshengmu
- Now destroying and re-creating Oculus sessions when switching
  between magic window and immersive WebVR (BeginPresent / ExitPresent)
- Now sending flags to Oculus ovr_initilize to specify if Firefox will
  be presenting to the VR display or just using tracking
- Now coordinating oculus session shutdown and restart between the
  VR controllers and the VR display with reference counting.
- Now able to return to Oculus home after using WebVR
- Magic window / non-exclusive sessions no longer take over the VR headset
  causing it to display a message that Firefox.exe is not responding.


MozReview-Commit-ID: EnRsxt6ZSzg

--HG--
extra : rebase_source : d1ecf52e064ffe88c2cdebb011b8ffa9beb7b46e
2017-07-04 13:28:27 -07:00
Nicholas Nethercote 3e439bb4f8 Bug 1376638 - Minimize uses of prmem.h. r=glandium.
It's silly to use prmem.h within Firefox code given that in our configuration
its functions are just wrappers for malloc() et al. (Indeed, in some places we
mix PR_Malloc() with free(), or malloc() with PR_Free().)

This patch removes all uses, except for the places where we need to use
PR_Free() to free something allocated by another NSPR function; in those cases
I've added a comment explaining which function did the allocation.

--HG--
extra : rebase_source : 0f781bca68b5bf3c4c191e09e277dfc8becffa09
2017-06-30 19:05:41 -07:00
Bill McCloskey f115503a0b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Daosheng Mu 355cf89806 Bug 1371228 - Handling SteamVR process quit events to avoid crashes; r=kip
MozReview-Commit-ID: DBkzz06pRSu

--HG--
extra : rebase_source : 95831f0c3454bf758fa537900dbddbf4024e13dd
2017-06-22 14:32:18 +08:00
Kearwood Gilbert eb3becc0b0 Bug 1362213 - Implement chrome-only API to manage VR sessions r=daoshengmu,kanru,smaug
- Added new chrome-only webidl methods to be used by browser UI and WebExtensions
- Implemented bitmasked group visibility for VR sessions to enable switching
  between chrome and regular content presentations.
- Implemented throttling mechanism to avoid runaway, unthrottled render loops
  for VR sessions that are hidden by group visibility bitmasks or due to
  lower level platform VR events, such as during the Oculus
  "Health and Safety Warning".
- Simplified the PVRManager IPC protocol while extending it to support
  VR session groups and later WebVR content performance profiling API's.
- Removed the last WebVR related sync IPC call.


MozReview-Commit-ID: BMEIPyYeEbq

--HG--
extra : rebase_source : 47d3682cad3d913504175b7d4c3e9d992236f097
2017-05-08 16:01:36 -07:00
Daosheng Mu 8bd65ecdd5 Bug 1355648 - Part 1: Check VR controllers if losing tracking; r=kip
MozReview-Commit-ID: B8DaBmz1mJo

--HG--
extra : rebase_source : cf41b0e4a87f710fb2e4da742213a0568b8a2ab9
2017-04-21 18:14:42 +08:00
Phil Ringnalda 7e834ae6b6 Backed out 2 changesets (bug 1355648) for failures in test_gamepad_extensions.html
CLOSED TREE

Backed out changeset 1a675abcc1f0 (bug 1355648)
Backed out changeset f07c7d6ddb8d (bug 1355648)

MozReview-Commit-ID: 86HfzOsNVjZ
2017-04-25 20:31:16 -07:00
Daosheng Mu ebac06bc22 Bug 1356421 - Part 2: Notify GamepadManager when controllers are removed in VR manager; r=kip
MozReview-Commit-ID: Hje9NTF4xxz

--HG--
extra : rebase_source : 677995c6d5407202d493fa78528d397b404353c1
2017-04-24 13:42:59 +08:00
Daosheng Mu 86f4cbf921 Bug 1356421 - Part 1: Fix for making OpenVR get correct device types for Gamepad id; r=kip
MozReview-Commit-ID: KI25bjqKTTL

--HG--
extra : rebase_source : 6d20651b1e94ab1f69959d22fc03c18c9d756e84
2017-04-24 13:40:30 +08:00
Daosheng Mu ed7c303369 Bug 1358725 - Return zero after OpenVR controllers' axis is released; r=kip
MozReview-Commit-ID: Le4en6pUUTQ

--HG--
extra : rebase_source : 2e3a571b88b7127f684b79001336e0b897fa2a21
2017-04-24 18:52:06 +08:00
Daosheng Mu 5d5fc39364 Bug 1355648 - Part 1: Check VR controllers if losing tracking; r=kip
MozReview-Commit-ID: B8DaBmz1mJo

--HG--
extra : rebase_source : e0d416075a2b045d96335f9c271c014bd463e552
2017-04-21 18:14:42 +08:00
Daosheng Mu b4fb3b9c83 Bug 1353523 - Add adjustable threshold value for VR controller trigger inputs; r=kip
MozReview-Commit-ID: KQMccZeE2IK

--HG--
extra : rebase_source : b8c60e59c7f9678fdb15f3dcc6770198ec35b82a
2017-04-19 13:14:13 +08:00
Daosheng Mu 5ec9ae756d Bug 1356452 - Part 5: Detect hand changing at runtime for OpenVR controllers; r=kip
MozReview-Commit-ID: AR5zpxryIw6

--HG--
extra : rebase_source : c99f87a1c82b59c106bbb7e1c1c29d2478e2d353
2017-04-18 15:58:34 +08:00
Daosheng Mu ba21000af3 Bug 1356452 - Part 2: Replace vr:: namespace with ::vr:: in OpenVR; r=kip
MozReview-Commit-ID: uBvQ7hBI4z

--HG--
extra : rebase_source : 306dc8eb907f0d33aa62ec05f3fe97d1f07ffc69
2017-04-18 13:04:53 +08:00
Kearwood Gilbert c944eed13a Bug 1356387 - Add constructor to VRHMDSensorState
- Also removed some now redundant calls to VRHMDSensorState::Clear()


MozReview-Commit-ID: Kkbvkn3XAP4

--HG--
extra : rebase_source : 0daecf8ad2f4baa8f3d199c65dc7c0cbeb4aceae
2017-04-17 12:15:38 -07:00
Kearwood Gilbert 8cedccb89e Bug 1341423 - Integrate OpenVR binding library r=daoshengmu
MozReview-Commit-ID: GaUnfbXgh9L

--HG--
rename : gfx/vr/openvr/openvr.h => gfx/vr/openvr/headers/openvr.h
extra : rebase_source : e7a0983371c1ed381ddf431e2d5a814c510d4967
2017-02-27 16:59:30 -08:00
Kearwood Gilbert 043d85c921 Bug 1351048 - Do not load VR libraries until necessary, Oculus cleanup r=daoshengmu
- I have refactored the Oculus and OpenVR interfaces in gfx/vr
  so that initialization of the VR libraries only happens once
  a WebVR site is detected.
- The Oculus interface has been cleaned up and updated to unload the Oculus
  runtime library when not in use.
- The browser can now re-connect to Oculus home if it was restarted, without
  restarting the browser.
- We no longer submit a black frame at the end of VR presentation, as this
  appears to be handled by the latest Oculus runtime automatically.
- As we only hold on to the Oculus runtime when needed, this should
  reduce the likelihood of the GPU process being killed by the Oculus
  software updater.

MozReview-Commit-ID: AyWeD4CxXLD

--HG--
extra : rebase_source : 9eae07ef30b1a7559b5fe80e6698c248a55b970e
2017-03-30 09:35:49 -04:00
Daosheng Mu 639e273a82 Bug 1336002 - Part 3: Support button touched in OpenVR and Puppet; r=kip
MozReview-Commit-ID: CMacSyuK3mv

--HG--
extra : rebase_source : 202edb4a20fdabf38ac9edda7b2dbe336f4ebc3b
2017-04-06 19:00:20 +08:00
Daosheng Mu c80c10beb2 Bug 1354737 - Add assertion check for TrackedDeviceClass_GenericTracker at OpenVR HandleInput(); r=kip
MozReview-Commit-ID: 1nRSrkq06dr

--HG--
extra : rebase_source : 7acc97484b69097f2df5d2952473543b344366ca
2017-04-10 10:07:58 +08:00
Daosheng Mu 031d7a70be Bug 1349895 - Vive Tracker support in OpenVR; r=kip
MozReview-Commit-ID: Gug4SUenhtU

--HG--
extra : rebase_source : 744bc90aa210466eb4a78b4fc63c7ddf79ea9bc2
2017-04-06 09:45:55 +08:00
Daosheng Mu 22ebee8da0 Bug 1305892 - Support Oculus Touch Haptic Feedback; r=kip
MozReview-Commit-ID: 7V931IAcbbx

--HG--
extra : rebase_source : 3423aa7a99b79293783cb1572f8ad3d7a257c7c7
2017-03-29 17:58:11 +08:00
Daosheng Mu 62781e3b7d Bug 1299937 - Part 6: Handle Stop vibrating when the window defoucses; r=qdot
MozReview-Commit-ID: Kvd40jnSPvK

--HG--
extra : rebase_source : f9ce4c68fd07376b8e18cbab08718c49d6fed455
2017-03-07 10:17:57 +08:00
Daosheng Mu 3905da3aea Bug 1299937 - Part 3: Implement haptic pulse for OpenVR controller; r=kip,qdot
MozReview-Commit-ID: TUIbJpyng4

--HG--
extra : rebase_source : e449c85d0e8f9a64a63929d1211dbca3fed8a4b6
2017-02-02 14:57:58 +08:00
Daosheng Mu a5e10d768b Bug 1349414 - Allow updating VR controllers at the non-presenting mode; r=kip
MozReview-Commit-ID: CA6YxLxySDi

--HG--
extra : rebase_source : 058b8aebdf8d13e22d2c25bdf037094ca1e52f4b
2017-03-22 09:58:06 +08:00
Daosheng Mu 4a4964014f Bug 1346149 - Part 4: No longer need the index attribute in VRControllerHost; r=kip
MozReview-Commit-ID: 18KREzO4dy0

--HG--
extra : rebase_source : c1f711eaa4278d48e06ce18ccc6f2eedebb31345
2017-03-17 11:09:24 +08:00
Daosheng Mu 30464b7713 Bug 1346149 - Part 3: Adjust OpenVR controllers button and axis mapping to be more flexible; r=kip
MozReview-Commit-ID: 9qYzlgsWNXM

--HG--
extra : rebase_source : 52935ae64a0f35a8731017bc627fbb17ea659ffc
2017-03-16 15:57:04 +08:00
Kearwood Gilbert 5441d7848d Bug 1345564 - Reduce sync IPC calls used by WebVR r=daoshengmu,Ehsan,kanru
- Eliminated the VRDisplay.GetImmediateSensorState sync call
  and associated code as it is no longer needed.

MozReview-Commit-ID: 7BsCKC9EbsY

--HG--
extra : rebase_source : ae2de369d156e397d919d83b6c63b10374953bae
2017-03-03 16:21:18 -08:00