Commit graph

3088 commits

Author SHA1 Message Date
Jan Schmidt a14d6f1c2b d/wmr: Parse and log HMD debug messages 2021-11-20 12:52:45 +00:00
Jan Schmidt 6bb2972443 d/wmr: Set default camera gain
Add API for gain control on headset cameras,
and use it to set a mid-range default exposure gain
2021-11-20 12:52:45 +00:00
Jan Schmidt 0da1bd74ce d/wmr: Debug output for camera frames
Compute the frame size required for the cameras on a given
headset.

Copy the pixels out into an xrt_frame, then send it
to a debug sink - one for SLAM tracking exposures, and
1 for controller frames.

Based on a patch by Jakob Bornecrantz
2021-11-20 12:52:45 +00:00
Jan Schmidt 5fe935a5b0 d/wmr: Add camera reading loop
Calculate and configure USB transfers to read the
cameras on a WMR headset. Needs more work to
make use of the received frames.
2021-11-20 12:52:45 +00:00
Jan Schmidt e422be89fa d/wmr: Add camera configuration block parsing
Read camera configuration info from the HMD JSON
block
2021-11-20 12:52:45 +00:00
Jan Schmidt 7fb94889a8 d/wmr: Fix a small lock handling mistake
In the wmr handling thread, make sure lock
handling is symmetrical in all code paths.
2021-11-20 12:52:45 +00:00
Moses Turner cef025a546 Revert "st/oxr: fix building on linux with OPENGL_GLX OFF"
This reverts commit d20f8f4363
2021-11-20 00:11:06 +00:00
Jakob Bornecrantz be5b9c9d88 st/gui: Prober or tracking is no longer needed for debug sink 2021-11-19 14:38:31 +00:00
Jakob Bornecrantz 6627049af3 st/oxr: Don't hardcode profiles for devices 2021-11-19 14:38:31 +00:00
Jakob Bornecrantz 974f42f068 st/oxr: Debug print devices 2021-11-19 14:26:44 +00:00
Jakob Bornecrantz a56ea7cad6 c/multi: Fix copy-pasto 2021-11-18 20:14:05 +00:00
Nima01 e536a02b33 d/wmr: Factor out parsing of controller messages and minor cleanup. 2021-11-18 17:19:07 +00:00
Nima01 c4db3dfccc d/wmr: Add basic Reverb (G1, Bluetooth) motion controller support. 2021-11-18 17:19:07 +00:00
Nima01 acd8a0986e d/wmr: Prepare for WMR motion controller driver - Change ambiguous names and traces. 2021-11-18 17:19:07 +00:00
Jan Schmidt 760e8dd3ad meson: Add GStreamer recording support 2021-11-19 04:05:40 +11:00
nima01 70263a6b16 c/util: Use GPU index specified by XRT_COMPOSITOR_FORCE_CLIENT_GPU_INDEX 2021-11-18 14:14:32 +00:00
Ryan Pavlik 0a9b098a37 cmake: Build fix re SDL on some systems 2021-11-17 10:09:57 -06:00
Antonio Ospite 14cc4f1ba2 d/v4l2: fix building with older linux kernel like 4.15
Older linux kernels like 4.15 don't have V4L2_CID_DIGITAL_GAIN or
V4L2_CTRL_FLAG_MODIFY_LAYOUT, add conditional guards to build
successfully on systems with such kernels.
2021-11-13 13:48:00 +00:00
Jakob Bornecrantz 79ec1bd695 d/wmr: Add basic support for Samsung Odyssey+
Display start-up sequence still probably needed.
2021-11-13 12:36:25 +00:00
Ryan Pavlik 9a41a1a8be d/ulv2: Improve source docs 2021-11-13 12:29:58 +00:00
Ryan Pavlik 0fa5876a5c drivers: Add references to xrt_prober_found_function_t in all relevant docs 2021-11-13 12:29:58 +00:00
Ryan Pavlik 3a22c74aa6 xrt: Update some xrt_device docs 2021-11-13 12:29:58 +00:00
Ryan Pavlik b5bcea758d xrt: Rename a prober-related define that wasn't namespaced. 2021-11-13 12:29:58 +00:00
Ryan Pavlik 46fdb32991 xrt: Factor out a function pointer type for the prober "found" functions. 2021-11-13 12:24:15 +00:00
Antonio Ospite d20f8f4363 st/oxr: fix building on linux with OPENGL_GLX OFF
When building on linux and OPENGL_GLX OFF compilation fails with the
following error:

-----------------------------------------------------------------------
../../state_trackers/oxr/libst_oxr.a(oxr_session_gfx_gl.c.o): In function `oxr_session_populate_gl_xlib':
oxr_session_gfx_gl.c:(.text+0x5c): undefined reference to `xrt_gfx_provider_create_gl_xlib'
collect2: error: ld returned 1 exit status
src/xrt/targets/openxr/CMakeFiles/openxr_monado.dir/build.make:126: recipe for target 'src/xrt/targets/openxr/libopenxr_monado.so' failed
make[2]: *** [src/xrt/targets/openxr/libopenxr_monado.so] Error 1
CMakeFiles/Makefile2:2490: recipe for target 'src/xrt/targets/openxr/CMakeFiles/openxr_monado.dir/all' failed
make[1]: *** [src/xrt/targets/openxr/CMakeFiles/openxr_monado.dir/all] Error 2
Makefile:145: recipe for target 'all' failed
make: *** [all] Error 2
-----------------------------------------------------------------------

Apparently the gl_xlib backend really depends on GLX specifically, so
fix the issue by reflecting that in the conditionally compiled blocks.
2021-11-13 12:16:29 +00:00
Ryan Pavlik 185bf61dd8 comp: Migrate num_ to _count 2021-11-13 12:04:38 +00:00
Ryan Pavlik 2e323add6f drivers: Migrate num_ to _count 2021-11-13 12:04:38 +00:00
Ryan Pavlik 4957f6577f st/p: Migrate num_ to _count 2021-11-13 12:04:38 +00:00
Ryan Pavlik dfa0aba496 aux: Migrate num_ to _count 2021-11-13 12:04:38 +00:00
Ryan Pavlik 469b9d907d st/oxr: Rename all num_ in the state tracker, too. 2021-11-13 12:04:38 +00:00
Ryan Pavlik 33c0287f8b xrt: Rename all "num" parameters and fields to "count" (or "capacity" as appropriate)
This matches the OpenXR usage: the array is the plural of the element type,
and the count is the singular element type plus "count" (usually CountOutput
because of the two-call idiom)

Includes fixes to other code to match API changes.
2021-11-13 12:04:38 +00:00
Ryan Pavlik 5e55b9d992 xrt: Prober docs. 2021-11-13 12:04:38 +00:00
Mateo de Mayo b94b7d1f52 u/json: Implement C++ wrapper for cJSON 2021-11-12 15:33:06 -03:00
Mateo de Mayo 87a1198b0a misc: Address compilation warnings and fix u_json_get_bool 2021-11-12 15:33:06 -03:00
Ryan Pavlik cc4007a69e cmake: Substantial cleanups and simplifications
We now have a cmake-format config file.
We no longer use list variables for sources, instead using
target_sources when we need to add, in accordance with current
best practice. (This makes it a lot easier to edit too.) There's no more
include_directories(), add_definitions(), or other gently-deprecated
directory-scoped commands, nor any CMake scripts that include
a parent directory reference (named targets instead)
2021-11-12 09:48:37 -06:00
Ryan Pavlik 19947a2d27 cmake: Refactor how we build imgui 2021-11-12 09:38:50 -06:00
Jakob Bornecrantz 62ca16c70e a/math: Make sure it's safe to pass in the result as either left or right 2021-11-12 10:27:54 +00:00
Ryan Pavlik b180b244e3 st/oxr: Populate oxr_system's blend modes list from the system compositor, not the device. 2021-11-12 03:05:10 +00:00
Ryan Pavlik 201765d3a7 comp: Populate blend mode list in system compositor info from device 2021-11-12 03:05:10 +00:00
Ryan Pavlik cd5ac5f1c9 xrt: Support multiple blend modes in system compositor info 2021-11-12 03:05:10 +00:00
Jakob Bornecrantz 7ecf649ac2 c/render: Use new Vulkan helpers 2021-11-10 14:22:28 +00:00
Jakob Bornecrantz e8b0ab3b35 aux/vk: Add many more helper functions 2021-11-10 14:22:28 +00:00
Jakob Bornecrantz 5554b0fa00 st/prober: Fix warning and tidy code 2021-11-10 11:32:54 +00:00
Ryan Pavlik 35d7e85266 a/vk: Return of the justification and function rename 2021-11-09 15:36:24 -06:00
Ryan Pavlik b816c08141 a/vk: Add to the file comments mentioning the script. 2021-11-09 11:05:15 -06:00
Ryan Pavlik 8a56046c1d a/vk: Also generate the extension list/checking 2021-11-09 11:05:15 -06:00
Ryan Pavlik 9fc992d540 a/vk: Normalize member names in extensions 2021-11-09 11:05:15 -06:00
Ryan Pavlik 01c02897dc a/vk: Update vulkan files: generate from script 2021-11-09 11:05:15 -06:00
Nima01 2a1e6debfb st/prober: Support for querying of 'Product name' from Bluetooth devices. 2021-11-09 01:10:20 +00:00
Jakob Bornecrantz a081bacc5d aux/vk: Guard vkSignalSemaphore with VK_KHR_timeline_semaphore 2021-11-08 17:36:58 +00:00
Jakob Bornecrantz 4c4e30d875 aux/vk: Add more functions 2021-11-08 17:21:31 +00:00
Ryan Pavlik fa308848ab android: Update source link for licenses 2021-11-08 09:45:00 -06:00
Moses Turner c1d4314aad d/ht: move DEBUG_GET_ONCE_LOG_OPTION to ht_driver.cpp (NFC)
Fixes an annoying warning.
2021-11-08 08:11:26 -06:00
Simon Zeni 49d2d81940 d/ht: split ht_algorithm into source and header 2021-11-08 13:56:37 +00:00
Simon Zeni 39bc129564 d/ht: split ht_models into source and header 2021-11-08 13:56:37 +00:00
Simon Zeni 7618a7e34d d/ht: split ht_nms into source and header 2021-11-08 13:56:37 +00:00
Simon Zeni 83630efc3d d/ht: split ht_image_math into source and header 2021-11-08 13:56:37 +00:00
Simon Zeni 44b46a28bf d/ht: split ht_hand_math into source and header 2021-11-08 13:56:37 +00:00
Jakob Bornecrantz f10951b5ac t/openxr: Only link against qwerty driver if built 2021-11-08 13:07:22 +00:00
Jakob Bornecrantz 551c1f19a9 st/prober: Depend on VF driver since we refer to it directly 2021-11-08 13:07:22 +00:00
Jakob Bornecrantz 42b0361852 c/main: Use Vulkan helper in util 2021-11-07 15:14:04 +00:00
Jakob Bornecrantz 7703b7104b c/main: Tidy extensions 2021-11-06 10:51:19 +00:00
Jakob Bornecrantz a97523591f c/util: Add Vulkan helper 2021-11-06 10:51:19 +00:00
Jakob Bornecrantz 2a536f17d1 cmake: Remove missed source array 2021-11-05 15:56:14 +00:00
Jakob Bornecrantz 56b5918d69 c/main: Fix tab CVK_ERROR macro 2021-11-04 20:57:55 +00:00
Jakob Bornecrantz c912c67dc6 c/main: Use comp_base 2021-11-04 20:57:53 +00:00
Jakob Bornecrantz a1b515616a c/render: Documentation 2021-11-04 20:56:21 +00:00
Jakob Bornecrantz 6e28533bdc c/render: Break out into own library 2021-11-04 20:56:21 +00:00
Jakob Bornecrantz e08c1b1f04 c/util: Add comp_base native compositor helper base class 2021-11-04 20:56:21 +00:00
Jakob Bornecrantz c3b8810bb0 c/util: Documentation 2021-11-04 20:56:20 +00:00
Jakob Bornecrantz 029031cfd3 c/util: Break out swapchain and sync into own library 2021-11-04 20:55:48 +00:00
Jakob Bornecrantz 78936d2b4e c/main: Use get_vk more 2021-11-04 20:54:11 +00:00
Jakob Bornecrantz c6031a26e8 c/main: Refactor fence to be more independent 2021-11-04 20:46:09 +00:00
Jakob Bornecrantz 293d617dd5 c/main: Refactor swapchain to be more independent 2021-11-04 20:46:03 +00:00
Ryan Pavlik 3bd0a07aa2 cmake: Split out finding GLX from the rest of OpenGL on Linux.
Fixes #132.
2021-11-04 15:36:58 +00:00
Ryan Pavlik 15c8414155 cmake: Un-nest a conditional 2021-11-04 15:36:58 +00:00
Jakob Bornecrantz 36765256a6 c/render: Free command buffer when closing rendering 2021-11-03 23:10:47 +00:00
Ryan Pavlik 4759ddda63 ipc: Fix it's vs its 2021-11-03 17:29:13 -05:00
Ryan Pavlik 9ab69a2c99 d/arduino/device: Fix it's vs its 2021-11-03 17:28:56 -05:00
Ryan Pavlik 85dab57936 a/util: Fix some it's vs its 2021-11-03 17:28:41 -05:00
Ryan Pavlik 7a26a2339b comp: Fix some it's vs its. 2021-11-03 17:28:17 -05:00
Ryan Pavlik afc2af549f xrt: Improve docs for ref-counting functions. 2021-11-03 17:27:56 -05:00
Ryan Pavlik 334bd83619 a/tracking: Fix some it's vs its and other minor doc tweaks 2021-11-03 17:27:36 -05:00
Ryan Pavlik f4b61d9e41 a/os: Fix some it's vs its. 2021-11-03 17:24:17 -05:00
Ryan Pavlik a6ae6eb095 a/math: Fix some it's vs its. 2021-11-03 17:23:51 -05:00
Ryan Pavlik 86c7a27156 a/tracking: Fix doxygen warnings about invalid link requests 2021-11-03 17:13:38 -05:00
Ryan Pavlik ebde5344a1 cmake: Make compilation of the sample driver optional. 2021-11-03 17:04:05 -05:00
Ryan Pavlik 55d16046eb doc: Update driver writing documentation 2021-11-03 17:04:02 -05:00
Ryan Pavlik 33e367ee42 drivers: Add a sample driver intended for use as a template. 2021-11-03 17:00:28 -05:00
Ryan Pavlik e2c6fbdd9a cmake: Inline lists of sources for drivers, per current best practice 2021-11-03 17:00:28 -05:00
Jakob Bornecrantz ec9cfa690d c/render: s/rts/rtr/g 2021-11-03 13:28:15 +00:00
Jakob Bornecrantz 12bfc8b5c9 c/render: Do not depend on the compositor 2021-11-03 13:26:42 +00:00
Jakob Bornecrantz c346d812c7 c/render: Add helpers to access the vk_bundle 2021-11-03 13:25:15 +00:00
Jakob Bornecrantz 648f49f4ef c/render: Change argument order to object first 2021-11-03 13:25:15 +00:00
Jakob Bornecrantz ccc4bbcf86 c/render: Remove unused disable_atw argument 2021-11-03 13:25:15 +00:00
Jakob Bornecrantz 56f4466ffa c/render: Move shaders to render 2021-11-03 13:25:15 +00:00
Jakob Bornecrantz 8c8d72647b c/render: Refactor out timewarp matrix into util file 2021-11-03 13:25:15 +00:00
Jakob Bornecrantz 60024efba9 c/render: If we only have a projection layer skip the layer renderer 2021-11-03 13:25:14 +00:00
Jakob Bornecrantz 4ca35b8b3c c/render: Don't cache comp_rendering 2021-11-03 13:24:20 +00:00
Jakob Bornecrantz 847e322fe5 c/render: Remove stub function decls 2021-11-02 20:19:05 +00:00