Commit graph

684 commits

Author SHA1 Message Date
Ryan Pavlik 701ea290d0 os: Fix comment typo. 2021-04-13 11:46:53 -05:00
Ryan Pavlik 65a7b490a8 android: Add support for casting Context to Activity 2021-04-13 11:46:53 -05:00
Jakob Bornecrantz 1b51cbd1a7 aux/vk: Add support for VK_EXT_global_priority 2021-04-12 22:16:31 +00:00
iVRy VR 0064989e8b t/psvr: Various fixes and changes
- Fix out of array bounds crash, curr_y can be out of bounds.
- Set tracked bits appropriately.
- Use m_imu_3dof for orientation.
2021-04-12 15:02:16 +00:00
Moses Turner 36a48bd62b aux/util: switch blend mode to array 2021-04-11 04:08:49 -05:00
Ryan Pavlik c906151fb1 util: Fix doxygen warnings 2021-04-09 18:22:42 -05:00
Ryan Pavlik cf08cbba78 aux/vk: Docs for Vulkan native import helpers. 2021-04-09 18:11:52 +01:00
Ryan Pavlik 322f6d473a util: Don't try to use $HOME or $XDG_CONFIG_HOME on Android. 2021-04-09 18:11:52 +01:00
Jakob Bornecrantz 736b9abdbe u/rt: Print frame period and tidy 2021-04-07 15:41:47 +01:00
Jakob Bornecrantz b68041fb93 u/rt: Tweak IIR alpha numbers 2021-04-07 15:41:47 +01:00
Jakob Bornecrantz 8606eb9d11 u/rt: Adjust app period depending on app time 2021-04-07 01:05:38 +01:00
Jakob Bornecrantz 1b0a9acb56 u/rt: Adjust app time during runtime 2021-04-07 01:04:20 +01:00
Jakob Bornecrantz 8215af5e5c u/rt: Refactor render timing 2021-04-07 01:04:20 +01:00
Jakob Bornecrantz 670906ea0e u/ft: Spelling 2021-04-07 01:04:20 +01:00
Jakob Bornecrantz 971f88f34f u/ft: Rename frame timing functions 2021-04-07 00:50:10 +01:00
Jakob Bornecrantz 5dbcca65c5 u/tr: Refactor rendering timing code 2021-04-07 00:50:10 +01:00
Jakob Bornecrantz d745396396 u/ft: Tweak frame timing numbers 2021-04-07 00:50:10 +01:00
Jakob Bornecrantz 07fb9941b3 aux/vk: Add fence import function 2021-04-07 00:50:10 +01:00
Ryan Pavlik 61c1044089 u/handles: Add graphics sync handle helpers. 2021-04-07 00:50:10 +01:00
Jakob Bornecrantz c876087ee7 u/time: Add helper comparising functions 2021-04-07 00:50:10 +01:00
Christoph Haag 2b962a5bfb u_config_json: Create root node on save if no config file loaded
If no config file is loaded, json->root can be uninitialized instead of NULL.

Fixes #117
2021-04-04 21:02:41 +02:00
Jakob Bornecrantz 30573fb90f a/gst: Add GStreamer helper code
Co-authored-by: Aaron Boxer <aaron.boxer@collabora.com>
2021-04-03 03:07:21 +01:00
Ryan Pavlik 607eae4fdd aux/vk: Fix creation of Windows external memory backed image. 2021-04-02 17:29:55 -05:00
Moses Turner a027852767 aux/math: implement math_pose_identity. 2021-04-01 02:02:26 +02:00
Moses Turner c776a19e15 aux/math: Implement math_matrix_3x3_multiply. 2021-04-01 02:02:26 +02:00
Christoph Haag 4061bf7707 d/multi: Add "attached" tracking override type
Example usage: Leap Motion attached to a Northstar headset.
2021-04-01 02:02:26 +02:00
Ryan Pavlik f65635f378 aux/vk: Fix doxygen warning 2021-03-31 12:02:41 -05:00
Ryan Pavlik b3280c5bc1 os/time: Small cleanup. 2021-03-31 12:02:41 -05:00
Ryan Pavlik aa3d1c1f6a os: Add os_precise_sleeper.
Mostly to be able to use a timer on Windows.
2021-03-31 12:02:41 -05:00
Ryan Pavlik 47bf17a0cc os: Improve comment and prototype for os_nanosleep 2021-03-31 12:02:41 -05:00
Ryan Pavlik 0717975853 os: Improve timestamp retrieval on Windows. 2021-03-31 12:02:41 -05:00
Ryan Pavlik 00915cab0f os: Add caveats to some timespec conversion functions. 2021-03-31 12:02:41 -05:00
Ryan Pavlik ddc9b00d14 os: Adjust how we compute the timeout for a semaphore.
Preparation for overhaul of timing on Windows.
2021-03-31 12:02:36 -05:00
Ryan Pavlik 4e11abc06b aux/vk: Fix warning about narrowing conversion. 2021-03-30 20:46:00 +00:00
Ryan Pavlik adb5eefb86 aux/vk: Add functions to initialize and clean up mutexes in the vk_bundle 2021-03-30 20:46:00 +00:00
Jakob Bornecrantz 6ba27de305 m/mathinclude: Apperently _USE_MATH_DEFINES was not enough 2021-03-30 21:27:29 +01:00
Jakob Bornecrantz 6f10f474fa t/psvr: Ensure that m_mathinclude.h is included 2021-03-30 21:27:29 +01:00
Jakob Bornecrantz 083e4f5108 u/logging: Fix first global log message not getting correct level, add comments 2021-03-30 19:23:41 +01:00
Ryan Pavlik b93b082bd3 aux: Fix doxygen warnings 2021-03-26 17:10:53 -05:00
Ryan Pavlik 4004402c40 aux/vk: Wrap statement defines in do {} while (0) 2021-03-26 17:10:53 -05:00
Ryan Pavlik 3414f62ccf aux: fix or silence warnings 2021-03-26 17:06:17 -05:00
Ryan Pavlik b147f2ecd4 a/util: Non-linux implementation of u_file 2021-03-26 17:06:17 -05:00
Ryan Pavlik c00884e827 cmake: aux/vk depends on aux/os 2021-03-26 17:06:17 -05:00
Ryan Pavlik 4ed3d21b09 a/util: Stub out trace marker on non-Linux for now. 2021-03-26 17:06:17 -05:00
Ryan Pavlik e5c193bcd0 aux/util: Silence warnings on MSVC 2021-03-26 17:05:56 -05:00
Christoph Haag a991e66b85 u_vive: Fix debug level of printing acc_bias 2021-03-24 18:45:00 +00:00
Christoph Haag 08db19beca u_config_json: Change node not found error->info
As our config grows it will happen more often that users won't have all possible nodes.
2021-03-24 18:45:00 +00:00
Christoph Haag 8f16118020 u_config_json: Remove bogus "No tracking node" messages
* open_tracking_settings() already reports missing tracking nodes.
* open_tracking_settings() can also fail for other reasons
2021-03-24 18:45:00 +00:00
Christoph Haag 45d889e390 u_config_json: Make missing tracking node messages friendlier 2021-03-24 18:45:00 +00:00
Christoph Haag 054850de76 u_config_json: Remove duplicated is_json_ok code 2021-03-24 18:45:00 +00:00
Christoph Haag 2959747221 u_config_json: clarify json not parsed error message 2021-03-24 18:45:00 +00:00
Christoph Haag f0132eb997 u_config_json: change no config file warning->info
Running without a config file is fully supported, no reason to warn users.
2021-03-24 18:45:00 +00:00
Christoph Haag dad5c6d5d8 u_config_json: Fix saving when no config file exists
If json->root was null, it would write a config file containing only (null).
2021-03-24 17:33:46 +01:00
Christoph Haag 2ac4ff84ec aux/util: Fix comment for u_device_setup_tracking_origins 2021-03-23 19:05:35 +00:00
Jakob Bornecrantz a71b3d35d1 m/3dof: Add assert for timestamp paranoia 2021-03-17 01:10:02 +00:00
Jakob Bornecrantz dac5bc0ea5 u/timing: Deal slightly better when timing info appears to time travel 2021-03-10 17:53:36 +00:00
Jakob Bornecrantz d71ccc39ce u/timing: Add when_predict_ns on first frame 2021-03-10 17:53:36 +00:00
Christoph Haag 0adcc179c0 xrt: Fix typo in u_file 2021-03-10 01:56:07 +01:00
Jakob Bornecrantz a40c2e7d50 aux/vk: Load VK_GOOGLE_display_timing functions 2021-03-08 11:20:52 +00:00
Jakob Bornecrantz 049f6be351 u/timing: Add frame timing code 2021-03-08 11:20:52 +00:00
Jakob Bornecrantz 3077660f1d u/tracing: Add trace marker code 2021-03-08 11:20:52 +00:00
Mateo de Mayo 75e908552f doc: Fix missing entities from modules documentation 2021-03-06 20:34:35 -03:00
Christoph Haag 44e375dd8a aux/util: Save tracking override config 2021-03-02 19:43:19 +01:00
Christoph Haag c077788436 aux/util: Store calibration config non-destructively
On save
* delete only nodes pertaining to calibration
* add new calibration nodes
* write config file
2021-03-02 19:43:19 +01:00
Christoph Haag 5e4c62c8aa aux/util: Move json config parsing to aux/util 2021-03-02 19:43:19 +01:00
Christoph Haag aa9298f70d aux/util: Move read_content to u_file 2021-03-02 19:43:19 +01:00
Jakob Bornecrantz 77baa0c6ca u/ht: Sort build files 2021-02-24 14:33:34 +00:00
Jakob Bornecrantz 7460ae54f4 u/timing: Rename files 2021-02-24 14:33:34 +00:00
Jakob Bornecrantz b810c2df0a u/timing: Improve render code, predict when frame should be delivered 2021-02-24 14:33:30 +00:00
Jakob Bornecrantz 55c7690185 u/time: Make defines more readable and add more defines 2021-02-24 13:55:07 +00:00
Jakob Bornecrantz 69eebb49e2 u/time: Use double for time conversion 2021-02-24 04:14:51 +00:00
Ryan Pavlik b7cc966cb0 aux/vk: Add docs to helpers 2021-02-22 16:50:00 -06:00
Christoph Haag def0bef533 build/meson: Explicitly depend on generated binding header
fixes header not being generated on alpine
2021-02-15 22:04:38 +01:00
Christoph Haag 42996d6b1c os/hid: Add get_physical_address() 2021-02-12 02:44:00 +01:00
Christoph Haag 2d814dab57 aux/vive: Parse hmd variant and add various model strings
Model strings collected from libsurvive, survive_default_devices.c
2021-02-11 20:54:31 +01:00
Christoph Haag cc81174b70 comp: Fix VkDisplayKHR direct mode build without libx11-xcb 2021-02-10 22:02:30 +01:00
Ryan Pavlik 51704bc2e5 math: Fix doc warnings 2021-02-10 16:09:12 +00:00
Christoph Haag cfab11355d u/hand_tracking: Hand Joint flags can only be as valid as hand flags 2021-02-10 02:58:00 +01:00
zhibinw a5913c7b4f aux/android:add blank line between functions 2021-02-09 22:44:07 +00:00
zhibinw 14532aceae aux/android: Make MonadoView focusable optional 2021-02-09 22:44:07 +00:00
zhibinw 6e6a729123 aux/android: Make MonadoView not focusable/touchable 2021-02-09 22:44:07 +00:00
Christoph Haag 00ef724392 aux/vk: Add trace info when memory type is unsupported 2021-02-03 01:44:46 +01:00
Jakob Bornecrantz 5853103820 d/vive: Refactor out vive config code into auxiliary library
fix vive_config.h include for survive
2021-02-01 19:56:52 +01:00
Jakob Bornecrantz eec3446e5b u/sink: Add Bayer format converter 2021-01-27 16:09:07 +00:00
Jakob Bornecrantz 5b6e6bf6a6 xrt: Add XRT_FORMAT_BAYER_GR8 format 2021-01-27 16:09:07 +00:00
Jakob Bornecrantz 666caaa7ae u/timing: Fix typo 2021-01-27 14:04:29 +00:00
Jakob Bornecrantz b1e18af21e u/distortion: Tidy Vive & Index distortion code 2021-01-25 00:12:03 +00:00
Dan Weatherford 5948e439e9 u/distortion: Fix DPOLY3_SCALED 4th coefficient application 2021-01-25 00:12:03 +00:00
Jakob Bornecrantz 17beaf8aa9 u/distortion: A stab in the dark to try and improve Index chromatic aberration 2021-01-25 00:12:03 +00:00
Jakob Bornecrantz 7d755427e3 u/distortion: Filp order of array access in distortion for Vive & Index 2021-01-25 00:12:03 +00:00
Jakob Bornecrantz 0c2d07808c u/distortion: Make Vive & Index distortion center per channel 2021-01-25 00:12:03 +00:00
Dan Weatherford b2569907b5 u/distortion: Fix math error in u_compute_distortion_vive 2021-01-23 14:02:31 -06:00
Jakob Bornecrantz 026fa2cebb math: Add quat valdiate that only checks within 1% of unit length 2021-01-21 00:33:32 +00:00
Jakob Bornecrantz 797fa5459c u/rt: Tidy and documment render timing code 2021-01-21 00:32:36 +00:00
Jakob Bornecrantz 3856ae4540 bindings: Fix double slash error 2021-01-21 00:13:42 +00:00
Jakob Bornecrantz 00b71aabd4 bindings: Update copyrights 2021-01-21 00:13:40 +00:00
Christoph Haag f9c37d51bc aux/bindings: Add "features" to inputs in bindings.json
In our model we have a "subpath" for each hardware input like "/input/trackpad".
Each of these hardware inputs has "features" like "click", "touch", "position", "force".

Ideally each of these "features" is bound to some monado input in the "monado_bindings" dict
but this is not required. bindings.json will know about hardware features even if we don't bind them (yet).

For each of these features bindings.py generates a group of related paths for a single monado binding:
For a monado input XRT_INPUT_???_TRACKPAD these paths would be generated:
/user/hand/left/input/trackpad/x
/user/hand/left/input/trackpad/y
/user/hand/left/input/trackpad
2021-01-20 18:23:09 +01:00
Christoph Haag 46ec938f8a build: Move bindings build to bindings/subdir
The generated files should be in auxiliary/bindings/*.{c,h}. For this to work
meson.build has to be in the bindings/ subdir:
https://github.com/mesonbuild/meson/issues/2320

Move CMakeLists.txt there too for some consistency.
Also fixes the previous include hack.
2021-01-20 18:23:09 +01:00
Christoph Haag 07218c9878 aux: generate b_generated_bindings.{c,h} instead of xrt_generated_bindings.{c,h}
Follow up to 543804e53cafa83c52b61f70894696bc4d95fa7c
2021-01-20 18:23:09 +01:00
Christoph Haag 85d3e8bdc3 build/cmake: generate steamvr input profiles 2021-01-20 18:23:09 +01:00