Commit graph

2647 commits

Author SHA1 Message Date
Ryan Pavlik c4108035ea ipc: Fix doc warning 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 f5abb14422 comp: Don't allocate ubos with VK_MEMORY_PROPERTY_HOST_CACHED_BIT
On Tegra the only supported combinations for VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT are

* VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT
* VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT | VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT
* VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT | VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_CACHED_BIT

This article agrees that we do not need host cached memory here:
https://zeux.io/2020/02/27/writing-an-efficient-vulkan-renderer/
2021-02-03 02:24:35 +01:00
Christoph Haag 00ef724392 aux/vk: Add trace info when memory type is unsupported 2021-02-03 01:44:46 +01:00
Jakob Bornecrantz f8941fe5ee d/vf: Declare dependency to avoid build issues 2021-02-02 13:53:48 +00:00
Jakob Bornecrantz 35da4a51ea d/vf: Refactor code to add videotestsrc capability and break out gstreamer detection 2021-02-02 13:53:48 +00: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
Christoph Haag b87c7d5e61 d/survive: Port to vive_config parsing 2021-02-01 15:23:19 +00:00
Christoph Haag 152587d728 build/cmake: Add vive_config include dir to survive 2021-02-01 15:23:19 +00:00
Christoph Haag e8ac9ecee4 build/meson: Add vive_config include dir to survive 2021-02-01 15:23:19 +00:00
Christoph Haag b2da8dfd07 build/cmake: make vive_config lib and link to vive, libsurvive 2021-02-01 15:23:19 +00:00
Christoph Haag 721b159312 build/meson: make vive_config lib and link to vive, libsurvive 2021-02-01 15:23:19 +00:00
Christoph Haag a2e7e1c3d9 d/vive: Factor out controller config into separate struct 2021-02-01 15:23:19 +00:00
Christoph Haag e4b0e6282d d/vive: Factor out config into separate struct 2021-02-01 15:23:19 +00:00
Jakob Bornecrantz 8c6075e3b6 monado: Update version 2021-01-28 16:02:50 +00:00
Christoph Haag 232b8a7a49 d/ns: Fix informational message about example configs
v1 and v2 example configs are now in an exampleconfigs subdir.
2021-01-28 03:41:33 +01:00
Christoph Haag be3c7dc480 d/ns: Pretty print json example config with jq 2021-01-28 03:36:18 +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 bfdd3a0a5b d/v4l2: More buffers 2021-01-27 16:09:07 +00:00
Jakob Bornecrantz bd257500b8 d/v4l2: Expose more information 2021-01-27 16:09:07 +00:00
Jakob Bornecrantz fa2748637a xrt: Expose more information on frame servers 2021-01-27 16:09:07 +00:00
Jakob Bornecrantz 18fb3e7024 c/main: Lower priority on sRGB format
This works around a bug in the OpenXR CTS and mirrors better what at least on
other OpenXR runtime does.
2021-01-27 15:41:15 +00:00
Jakob Bornecrantz 666caaa7ae u/timing: Fix typo 2021-01-27 14:04:29 +00:00
Jakob Bornecrantz e375523d80 c/main: Also print format when debugging swapchain creation 2021-01-27 14:03:27 +00:00
Christoph Haag b3592f112c st/oxr: Check swapchain format support in st 2021-01-27 01:19:31 +01:00
Christoph Haag b23f04fed9 comp: Return proper errors for Vulkan xrCreateSwapchain 2021-01-26 15:26:47 +00:00
Christoph Haag b64b6f75fe comp: Return proper errors for OpenGL xrCreateSwapchain 2021-01-26 15:26:47 +00:00
Christoph Haag cb352839e3 st/oxr: cache VkInstance in xrGetVulkanGraphicsDeviceKHR
The problem:
* xrCreateVulkanDeviceKHR is passed a VkPhysicalDevice, but not a VkInstance.
* xrGetVulkanGraphicsDevice2KHR is passed a VkInstance and returns a VkPhysicalDevice
  that is a child of that instance.
* xrCreateVulkanDeviceKHR must verify that the xrGetVulkanGraphicsDevice2KHR
  has been called and that the passed VkPhysicalDevice matches the one returned
  by xrGetVulkanGraphicsDevice2KHR.

We have to consider:
* xrCreateVulkanDeviceKHR has to work on the "correct" VkInstance, which the passed
  VkPhysicalDevice is a child of.

The reqirement

> If the vulkanPhysicalDevice parameter does not match the output of
> xrGetVulkanGraphicsDeviceKHR, then the runtime must return XR_ERROR_HANDLE_INVALID.

is not 100% clear whether calling xrCreateVulkanInstance multiple times is allowed
and how a second call to xrGetVulkanGraphicsDevice2KHR with a dfferent VkInstance
should be handled.

For this implementation xrCreateVulkanDeviceKHR will only consider the most recent call
to xrGetVulkanGraphicsDevice2KHR and the VkInstance that was used for this call.
This enforces at least that VkPhysicalDevice is a child of the cached VkInstance when
xrCreateVulkanDeviceKHR is called, because using a different VkPhysicalDevice would be
an error.
2021-01-26 03:45:43 +01: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
Dan Weatherford bd381561d8 d/vive: Fix distortion center config parsing 2021-01-23 14:02:31 -06:00
Jakob Bornecrantz cb51b32ff1 st/oxr: Tidy code
The CHECK_LAYER_TYPE tests would falsely pass on the
IPC layer as it always implements all of the functions.
2021-01-22 14:16:12 +00:00
Christoph Haag f326ec8fc3 st/oxr: Check XrHandJointLocationsEXT::jointLocations for NULL 2021-01-22 03:34:40 +01:00
Jakob Bornecrantz 3e028a7952 st/oxr: Correctly validate quats to be within 1% of unit length 2021-01-21 00:33:32 +00: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 06e7e7e832 steamvr: Implement support for and default to generated input profile 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
Christoph Haag 334864de7f build/meson: Generate SteamVR input profiles 2021-01-20 18:23:09 +01:00
Christoph Haag 672c81e809 aux/bindings: Add script to generate steamvr input profiles 2021-01-20 18:23:09 +01:00
Christoph Haag edd6a4cf70 xrt: Move oxr_binding_data.h to json profile generator
Move json profile generator to auxiliary/bindings and make generated_bindings static library.

aux/bindings: Add hardware type

aux/bindings: Add various steamvr specific things to bindings
Paths like "/input/menu/click" are used in SteamVR input profiles.
2021-01-20 18:23:09 +01:00
Christoph Haag 1b597bdd65 st/oxr: Rename sub_path variables to subaction_path
Subaction paths are the /user/X/Y part of the full path describing the input source/device.
"Subaction paths are a mechanism that enables applications to use the same action name and handle on multiple devices. Applications can query action state using subaction paths that differentiate data coming from each device."

Subpaths, are the input or output specific part of the full path, e.g.
"Each input source path must match the following pattern: …/input/<identifier>[_<location>][/<component>]"
2021-01-20 18:23:09 +01:00
Christoph Haag e09d2db8e5 xrt: Add various device and input enum values 2021-01-20 18:23:09 +01:00
Christoph Haag 5764365427 steamvr: Use simple vibration as fallback 2021-01-20 18:23:09 +01:00
Christoph Haag 69fc55e15e xrt: cast XRT_GET_INPUT_TYPE result
Useful for C++ compilers.
2021-01-20 18:23:09 +01:00
Christoph Haag db2b77c9cb build/meson: Copy steamvr assets at build time, not configure time 2021-01-20 18:23:09 +01:00
Christoph Haag 609b834670 steamvr: Add comment about pose time offset 2021-01-20 18:23:09 +01:00
Jakob Bornecrantz c3d12a2dc4 ipc: Tidy logging 2021-01-20 16:24:47 +00:00
Jakob Bornecrantz afea93f297 xrt: Remove prepare function from xrt_compositor 2021-01-20 15:04:09 +00:00
Jakob Bornecrantz 2b8c835b68 xrt: Introduce xrt_system_compositor 2021-01-20 15:04:09 +00:00
Jakob Bornecrantz 57bfbb615f ipc: Tidy code and clang-format 2021-01-19 18:15:02 +00:00
Jakob Bornecrantz a0598c07ae st/gui: Tidy code and clang-format 2021-01-19 18:15:02 +00:00
Jakob Bornecrantz b48036a3ff st/oxr: Tidy code and clang-format 2021-01-19 18:15:02 +00:00
Christoph Haag 9481013081 comp: add VkDisplayKHR window backend
Must be activated/selected with an env var for now: XRT_COMPOSITOR_FORCE_VK_DISPLAY=2
2021-01-19 17:00:46 +00:00
Ryan Pavlik 1ea5403435 t/oxr_android: Add empty service for runtime advertisement 2021-01-19 16:13:44 +00:00
Ryan Pavlik 50ddf1c11c gradle: Remove redundant, unused task 2021-01-19 16:13:44 +00:00
Christoph Haag 5e8338a6de comp: Render with pose for next display time, not last 2021-01-15 18:25:27 +01:00
Jakob Bornecrantz 360dbb63a7 d/ns: Work-around clang-format stuff 2021-01-15 16:38:54 +00:00
Jakob Bornecrantz ae6ac5fc0e math: Work-around clang-format stuff 2021-01-15 16:38:52 +00:00
Jakob Bornecrantz 2b996f30c4 xrt: Reflow after column change 2021-01-15 13:50:32 +00:00
Jakob Bornecrantz c6db6dc653 xrt: Change number of columns to 120 2021-01-15 13:44:44 +00:00
Christoph Haag 9c03f244b0 d/survive: Wait max 5 seconds for HMD and device configs
Sometimes the Index is in weird hardware states and doesn't respond properly.
In such cases, time out after 5 seconds and continue with no HMD present.

Previously we also relied on the controller configs to be already available
once the HMD config was available. In rare cases they were not - wait for
the controller configs with the same timeout.
2021-01-15 00:50:20 +01:00
Lubosz Sarnecki 621a4bbe59 aux/vk: Add formats used in CTS to format string function. 2021-01-14 13:54:19 +01:00
Lubosz Sarnecki a786401bec aux/vk: Lock vkCmdPipelineBarrier with pool mutex. 2021-01-14 13:54:19 +01:00
Jakob Bornecrantz a5560f8363 c/main: Remove unused field 2021-01-14 12:30:54 +00:00
Christoph Haag ad1e809dfc comp: Extend nvidia VK_ERROR_INITIALIZATION_FAILED message
The real cause for this failure seems to be an extended desktop to the direct mode
display, not the allowhmd setting.
2021-01-13 23:51:36 +01:00
Christoph Haag f684ae95d1 comp: Fix depth-stencil image validation warning
Depth-only formats must use *only* VK_IMAGE_ASPECT_DEPTH_BIT.
Depth-stencil formats must use both VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT.
2021-01-13 20:39:20 +01:00
Lubosz Sarnecki b005f4e2fa comp/vk: Guard VkCommandBuffer usage with command pool mutex.
Lock all queue submits with 2 mutexes using a new vk_locked_submit
function.
2021-01-13 12:42:26 +01:00
Lubosz Sarnecki fc3b7fef25 comp/vk: Lock command pool calls with a mutex.
This patch resolves multithreading issues as detected by the Vulkan
validation when running the OpenXR CTS using OpenGL.
2021-01-13 12:33:15 +01:00
Lubosz Sarnecki c97404e873 comp/vk_client: Improve error messages.
As we use u_logging here, new lines are redundant. Also showing the
VkError code is handy.
2021-01-13 12:33:15 +01:00
Lubosz Sarnecki cc44816026 comp/vk: Put queue mutex around vkDeviceWaitIdle calls. 2021-01-13 12:33:15 +01:00
Lubosz Sarnecki 9a9d46b85a comp/vk: Lock our only VkQueue with a mutex.
This resolved mutlithreading issues as seen in the `multithreading` test
of the OpenXR CTS.

This patch fixes the test on Vulkan Android and resolves Vulkan
validation errors when running on Linux with OpenGL.
2021-01-13 12:33:15 +01:00
Lubosz Sarnecki fd58ccecc9 drv/android: Fill in xrt_device str. 2021-01-13 12:33:15 +01:00
Moses Turner a1ed0b293c d/rs: predict pose
d/rs: predict pose
2021-01-12 17:15:40 -06:00
Moses Turner baf0e1acfb d/rs: apply offset to t265 pose, d/ns: fix up some minor things, load realsense offset from json file 2021-01-12 15:28:18 -06:00
Moses Turner fc47d0baad d/ns: fix polynomial distortion math again, document nonsensical parts of polynomial math, update config files 2021-01-12 15:28:18 -06:00
Moses Turner 684daa3293 d/ns: possibly fix mesh calculation
also fix flipped tracking tracking
2021-01-12 13:01:37 -06:00
Moses Turner 365692e9ca d/ns: Hopefully make v2 driver read ipd from baseline in v2 config files 2021-01-12 13:01:37 -06:00
Moses Turner 735d9654ec d/ns: apply right eye fov correctly 2021-01-12 13:01:37 -06:00
Christoph Haag 637b5658da d/survive: Predict poses for requested time 2021-01-11 23:50:01 +00:00
Christoph Haag e785053c0a aux/math: special case delta_s == 0 in m_predic
Rather than asserting in the underlying math functions we return the
trivial values for prediction with 0s.
2021-01-11 23:50:01 +00:00
Jakob Bornecrantz 1e4a540bb9 aux/math: Add prediction module
For the time being all angular velocities are relative to the space a xrt_space_relation is in.
2021-01-11 23:50:01 +00:00
Jakob Bornecrantz 271e2b0275 st/oxr: Remove dynamic prediction code 2021-01-11 23:50:01 +00:00
Jakob Bornecrantz 079f3769d4 st/oxr: Convert the given at_time when asking for relations from devices 2021-01-11 23:50:01 +00:00
Jakob Bornecrantz fdd87a0239 d/rs: Save a lot more data from the latest pose 2021-01-11 23:50:01 +00:00
Christoph Haag 729f726135 steamvr: Request hmd pose at current time instead of 1 2021-01-11 23:50:01 +00:00
Christoph Haag 8f3816a5fc u_time: Make time_s_to_ns take double, not floa 2021-01-11 23:50:01 +00:00
Jakob Bornecrantz eea8036e91 c/client: Ensure that EGL_ANDROID_native_fence_sync 2021-01-11 16:50:02 +00:00
Christoph Haag 7a030e36ae build/meson: Build and run tests
closes #97
2021-01-07 22:15:08 +01:00
Christoph Haag 726c752db2 comp: Add support for list of optional device extensions
If one of the supplied optional extensions is VK_GOOGLE_display_timing and it is
supported by the driver, vk_bundle::has_GOOGLE_display_timing will be set to true.
2021-01-07 19:12:41 +01:00
Christoph Haag 4d652fef5a st/oxr: Implement XR_KHR_vulkan_enable2 2021-01-06 13:40:59 +00:00
Christoph Haag 3e4f9d5b6f external: Update OpenXR includes to 1.0.13 2021-01-06 13:40:59 +00:00
Christoph Haag f8a4f35572 oxr: Add XR_KHR_vulkan_enable2 to ext generator script 2021-01-06 13:40:59 +00:00
Christoph Haag 3085e29c97 u/hand_tracking: Curl fingers based on joint, increase total curl angle
When making a fist, different joints curl at different angles, reflect
this more directly in the code.

Also increase total curl to make it easier to hold ingame objects.
2021-01-06 13:34:31 +00:00
Christoph Haag 679a1233ee d/ht: Set up tracking origin with no offset 2021-01-06 13:29:36 +00:00
Christoph Haag e2c1bc1d16 xrt: Rename hand_origin to hand_pose
hand_origin is confusing because it implies it is the origin of the coordinate system the hand is in.
It actually is the hand pose in the "global" coordinate system.
2021-01-06 13:29:36 +00:00
Christoph Haag c84dbad03e u/device: Add U_DEVICE_ALLOC_NO_FLAGS
Allows using U_DEVICE_ALLOCATE without flags without a cast.
2021-01-06 13:29:36 +00:00
Christoph Haag d85224e7c3 d/ht: Don't create hand tracking driver without successful init
Fixes a crash when no calibrated camera is found.
2021-01-06 13:29:36 +00:00
Christoph Haag 7831e38c02 u/device: Assign left/right hand trackers if no controllers are available
Previously the left/right role assignment considered only device types
* XRT_DEVICE_TYPE_LEFT_HAND_CONTROLLER
* XRT_DEVICE_TYPE_RIGHT_HAND_CONTROLLER
* XRT_DEVICE_TYPE_ANY_HAND_CONTROLLER

This adds XRT_DEVICE_TYPE_HAND_TRACKER for consideration, but only if none
of the above are present.
2021-01-06 13:29:36 +00:00
Christoph Haag 6d7dff360c d/psmv: Scale rumble value on zcm1
The motor on my psmv controller does not rumble at amplitudes < 0.25.
2021-01-06 13:23:28 +00:00
Christoph Haag 3848d2be3f st/oxr: Add env vars for global tracking origin offset
This commit is a band aid until a more proper room setup is implemented.
It allows moving the tracking offset for the device roles head, left and right by a fixed value.

A y tracking offset OXR_TRACKING_ORIGIN_OFFSET_Y=1.0 would tell monado that the current tracking
origin is 1 meter above the desired tracking origin, e.g. when the headset was calibrated to a
(0,0,0) position while sitting on table 1 meter above the floor.

This environment variable affects STAGE space, but not LOCAL space.
2021-01-06 13:03:47 +00:00
Jae Lee a71de192e0 illixr: Add initial integration. 2020-12-29 23:44:57 +00:00
Jakob Bornecrantz 15320d9ebe c/client: Insert fence and give sync handle on layer_commit (EGL for now only) 2020-12-28 15:22:46 +00:00
Jakob Bornecrantz 32c9cb1bf3 c/main: Make sure to close sync handles on layer_commit 2020-12-28 15:22:06 +00:00
Jakob Bornecrantz c191c9a466 ipc: Support sending sync handles on layer_commit 2020-12-28 15:22:06 +00:00
Jakob Bornecrantz 84d4b6aaae ipc/shared: Support sending graphics sync handles 2020-12-28 15:22:06 +00:00
Jakob Bornecrantz 1302b07d68 xrt: Add sync_handle argument to layer_commit 2020-12-28 15:22:06 +00:00
Jakob Bornecrantz 8e5f952d55 external: Update EGL bindings and more extensions 2020-12-28 15:22:06 +00:00
Jakob Bornecrantz e67ef85c0c t/ctl: Tidy printing 2020-12-28 14:21:03 +00:00
Lubosz Sarnecki 1038145ffd ipc: Port to u_logging. 2020-12-28 13:04:11 +00:00
Lubosz Sarnecki 4acab28f3f c/client: Port printfs to static u_logging. 2020-12-28 13:04:11 +00:00
Lubosz Sarnecki 34563276e8 targets/openxr/sdl2_hack: Port to static u_logging. 2020-12-28 13:04:11 +00:00
Lubosz Sarnecki 12a3a24315 st/gui+steamvr_drv: Port to u_logging. 2020-12-28 13:04:11 +00:00
Lubosz Sarnecki 521daac012 st/oxr: Port to u_logging.
Remove foo print.
Use correct ENV variable XRT_COMPOSITOR_LOG for Vulkan log.
2020-12-28 13:04:11 +00:00
Lubosz Sarnecki a8b01a89f3 st/prober: Port to u_logging. 2020-12-28 13:04:11 +00:00
Lubosz Sarnecki 55d6d57392 aux/math: Port to u_logging. 2020-12-28 13:04:11 +00:00
Lubosz Sarnecki ba1d966f9f aux/vk: Port to u_logging.
Fix log calls where no valid state struct was provided.
2020-12-28 13:04:11 +00:00
Lubosz Sarnecki 58ecf67515 aux/tracking: Port to u_logging. 2020-12-28 13:04:11 +00:00
Lubosz Sarnecki e350e42ca9 aux/os/ble_dbus: Use printf padding. 2020-12-28 13:04:11 +00:00
Lubosz Sarnecki 79dde59f7e aux/os/ble_dbus: Port to u_logging. 2020-12-28 13:04:11 +00:00
Lubosz Sarnecki 853458ed37 xrt: Port commented printfs to u_logging. 2020-12-28 13:04:11 +00:00
Lubosz Sarnecki 0302a47e6f d/realsense: Port to static u_logging. 2020-12-28 13:04:11 +00:00
Lubosz Sarnecki 8ce0f73585 d/vive/conteroller: Porting to static u_logging. 2020-12-28 13:04:11 +00:00
Lubosz Sarnecki 0708863e55 d/ohmd: Port to u_logging. 2020-12-28 13:04:11 +00:00
Lubosz Sarnecki e0b2c4ad2e d/ohmd: Make env variables consistent with driver name. 2020-12-28 13:04:11 +00:00
Lubosz Sarnecki 2dbb6a6bb8 d/daydream: Port to u_logging.
Port static printfs to u_logging.
2020-12-28 13:04:11 +00:00
Lubosz Sarnecki 1ba7d803a0 d/hydra: Port to u_logging.
Port printfs to static u_logging.
2020-12-28 13:04:11 +00:00
Lubosz Sarnecki 00b2778504 d/arduino: Port to u_logging. 2020-12-28 13:04:11 +00:00
Lubosz Sarnecki 6a2221115d d/ns: Port to u_logging. 2020-12-28 13:04:11 +00:00
Lubosz Sarnecki a9703f6b39 d/survive: Port to u_logging. 2020-12-28 13:04:11 +00:00
Lubosz Sarnecki 2be5e32b67 d/v4l2: Port to u_logging. 2020-12-28 13:04:11 +00:00
Lubosz Sarnecki e6b2c1f2c7 d/vf: Port to u_logging. 2020-12-28 13:04:11 +00:00
Lubosz Sarnecki 1f85d1c2ba d/hdk: Port to u_logging. 2020-12-28 13:04:11 +00:00
Lubosz Sarnecki abad99b956 service: Use new u_logging ENV variable for compositor. 2020-12-28 13:04:11 +00:00
Lubosz Sarnecki adcd0aff1a u/logging: Implement global log level.
Adds a `XRT_LOG` environemnt option.

Example:
```
XRT_LOG=debug
```
2020-12-28 13:04:11 +00:00
Lubosz Sarnecki 8bdff9a61a u/logging: Implement optional color logging.
Check if stderr is a tty.
2020-12-28 13:04:11 +00:00
Lubosz Sarnecki 9ce9fa9238 u/logging: Align log level prefixes. 2020-12-28 13:04:11 +00:00
Lubosz Sarnecki b1c700a500 d/survive: Ignore -Wignored-qualifiers in survive header. 2020-12-28 13:04:11 +00:00
Boris-Chengbiao Zhou 98ef9a8ef7 comp: Fix Wayland backend 2020-12-28 04:13:22 +01:00
Christoph Haag 31c4c14042 steamvr: Make serial unique by appending xrt_hand
Monado gives both Playstation Move controllers the same xrt device name.

fixes #109
2020-12-25 22:56:54 +01:00
Christoph Haag d5183336b3 d/ohmd: Add display left rotation for Oculus Rift DK2 2020-12-23 11:51:51 +01:00
Lubosz Sarnecki d55c2b016a d/vf: Use static logging if no object is provided.
Found by clang11 warning.
2020-12-16 15:10:10 +01:00
Lubosz Sarnecki 9351673e55 st/steamvr_drv: Silence unfixable OpenVR cpp warnings. 2020-12-16 15:10:10 +01:00
Lubosz Sarnecki d0262c8613 c/comp: Fix switch fall through warning in gcc10. 2020-12-16 15:07:28 +01:00
Lubosz Sarnecki c03decd4d9 d/ht: Remove unused variable. Fixes warning on gcc 10. 2020-12-16 15:02:46 +01:00
Jakob Bornecrantz c30c4c011d c/main: Silence warnings and make sure that layer configs are picked up 2020-12-15 14:27:31 +00:00
Lubosz Sarnecki 200fb5aeed c/layers: Don't build equirect code if not enabled. 2020-12-14 18:59:28 +00:00
Lubosz Sarnecki 4995854d06 c/layers: Implement equirect1 rendering.
Add equirect1 boilerplate, shader files, ubo and pipeline.
2020-12-14 18:59:28 +00:00
Lubosz Sarnecki dc45a201db c+ipc+st: Complete equirect1 boilerplate. 2020-12-14 18:59:28 +00:00
Lubosz Sarnecki c8bdfae83e src: Consistently append 1 to equirect1 code.
Rename XRT_FEATURE_OPENXR_LAYER_EQUIRECT_LEGACY to XRT_FEATURE_OPENXR_LAYER_EQUIRECT1.
Use correct define in verify_equirect1_layer function.
Rename equirect to equirect1.
meson: enable equirect1 by default.
2020-12-14 18:59:28 +00:00
Lubosz Sarnecki f334b8b6c7 src: Consistently append 2 to equirect2 code.
Rename XRT_FEATURE_OPENXR_LAYER_EQUIRECT to XRT_FEATURE_OPENXR_LAYER_EQUIRECT2.
Rename equirect to equirect2.
Rename shader files.
2020-12-14 18:59:28 +00:00
Christoph Haag b2337469a4 st/prober: Make video file input work with no camera connected 2020-12-14 18:55:15 +00:00
Christoph Haag 30d7001df1 ipc: Make OXR_DEBUG_GUI=1 work with monado-service 2020-12-14 18:53:07 +00:00
Christoph Haag 49202eda87 d/psvr: Make get_tracked_pose thread safe 2020-12-14 02:00:09 +01:00
Christoph Haag ada506513f comp: Add XRT_COMPOSITOR_DEFAULT_FRAMERATE variable, default to 60
This variable only has an effect if
* The compositor is not run in direct mode (which uses the actual refresh interval of the chosen mode)
* The HMD driver does not default to a refresh ate by settting hmd->screens[0].nominal_frame_interval_ns
2020-12-10 16:36:22 +01:00
Christoph Haag 99e8416cac comp: Hook up xcb fullscreen and display settings to variables 2020-12-10 16:33:38 +01:00
Christoph Haag 199536c575 comp: Default xcb window to VK_PRESENT_MODE_IMMEDIATE_KHR
VK_PRESENT_MODE_FIFO_KHR leads to unsteady 60 fps.
2020-12-10 16:33:34 +01:00
Jakob Bornecrantz 39186a1e1e ipc/server: Rename ipc_server_client.c to ipc_server_handler.c 2020-12-09 21:03:50 +00:00
Jakob Bornecrantz 4b74d6b7eb ipc/server: Remove (f)printf usage from code 2020-12-09 21:03:50 +00:00
Jakob Bornecrantz 1154e58d06 ipc/server: Refactor out per_client_thread 2020-12-09 21:03:50 +00:00
Jakob Bornecrantz 743c289be5 xrt: Code style 2020-12-09 21:03:50 +00:00
Jakob Bornecrantz a5bf14502c t/hand: Remove per frame printing 2020-12-09 21:03:50 +00:00
Christoph Haag 7b4ac89a8f t/hand: warn when rectification matrix doesn't match image matrix 2020-12-07 12:30:26 +00:00
Christoph Haag 693cd77ca3 t/hand: Add comment that rectification is expensive 2020-12-07 12:30:26 +00:00
Christoph Haag f0d21c1dcc d/vf: Add video file playback driver 2020-12-07 12:30:26 +00:00
Christoph Haag e480352cee t/hand: Add hand tracking module 2020-12-07 12:30:26 +00:00
Christoph Haag 717d3a27ef d/ht: Add hand tracking driver code skeleton 2020-12-07 12:30:26 +00:00
Christoph Haag f7a8e8810b xrt: Split hand tracking input name into left/right
oxr_hand_tracker now stores which xdev and input name it tracks.
2020-12-07 11:43:51 +00:00
Ryan Pavlik 61c36f5a52 t/oxr: Export the right symbol on Windows. 2020-12-06 23:07:05 +00:00
Ryan Pavlik ee755961fc comp: Guard more of the caps-detector with an ifdef. 2020-12-06 23:07:05 +00:00
Ryan Pavlik 8b4e3aafa5 comp: Remove unused macro 2020-12-06 23:07:05 +00:00
Ryan Pavlik 535f20b503 inc/xrt: Reference the Vulkan extension table from related data. 2020-12-06 23:07:05 +00:00
Ryan Pavlik 5ea9fe04a3 comp: Add comments near Vulkan extension lists about updating docs. 2020-12-06 23:07:05 +00:00
Ryan Pavlik 90e307bf8a util: Port logging to OutputDebugString on Windows 2020-12-06 23:07:05 +00:00
Ryan Pavlik 0cb64ce5bd comp/main: Windows work - got a window to appear! 2020-12-06 23:07:05 +00:00
Ryan Pavlik 2743790180 comp/main: Remove *nix-only include 2020-12-06 23:07:05 +00:00
Lubosz Sarnecki 049bc385b1 xrt: Remove unused XRT_DEVICE_ANDROID. 2020-12-01 18:05:32 +01:00
Lubosz Sarnecki cf2fe0e2c3 d/android: Use XRT_DEVICE_GENERIC_HMD device name. 2020-12-01 18:05:32 +01:00
Lubosz Sarnecki a3e5daaa18 android/service_taget: Store native window pointer as global. 2020-12-01 18:05:32 +01:00
Lubosz Sarnecki 5a2ff41c7a android/service_target: Init ipc server in Android service. 2020-12-01 18:05:32 +01:00
Lubosz Sarnecki 1430b1b22c ipc/server: Add Android main entry point which receives fd. 2020-12-01 18:05:32 +01:00
Lubosz Sarnecki baa68fac4f ipc/server_process: Don't init listen socket and epoll on Android.
As the equivalent is already done in Java.
2020-12-01 18:05:32 +01:00
Lubosz Sarnecki 3202922ce7 ipc/server: Factor out start_server_thread function. 2020-12-01 18:05:32 +01:00
Lubosz Sarnecki db95b34e6c android/Client: Start IPC process in thread. 2020-12-01 18:05:32 +01:00
Lubosz Sarnecki 373a3096a9 c/window_android: Use cached surface from IPC.
Create window if activity is cached for in process.
2020-12-01 18:05:32 +01:00
Lubosz Sarnecki 92dab7b75b android/Client: Create Android surface for OoP. 2020-12-01 18:05:32 +01:00
Lubosz Sarnecki 37e87d1942 android/MonadoView: Make native pointer optional. 2020-12-01 18:05:32 +01:00
Lubosz Sarnecki 0a6bfe6d96 aux/android_globals: Provide API to store a native window globally. 2020-12-01 18:05:32 +01:00
Lubosz Sarnecki 020df327fa MonadoView: Don't be a Hilt view. Resolve exception.
Resolves:

java.lang.IllegalStateException: class org.freedesktop.monado.auxiliary.MonadoView, Hilt view must be attached to an @AndroidEntryPoint Fragment or Activity.
2020-12-01 18:05:32 +01:00
Ryan Pavlik 4101b3d92d android: IPC/service-related cleanups. 2020-12-01 18:05:32 +01:00
Ryan Pavlik 974e7bd1d5 ipc/android: Be a foreground service 2020-12-01 18:05:32 +01:00
Ryan Pavlik b92646c778 t/oxr_android: Bind ServiceNotificationImpl 2020-12-01 18:05:32 +01:00
Ryan Pavlik fe6507d64e t/android_common: Implement IServiceNotification 2020-12-01 18:05:32 +01:00
Ryan Pavlik 94d747cac9 aux/android: Create an interface for handling foreground service notification 2020-12-01 18:05:32 +01:00
Ryan Pavlik a2a61cb5cf ipc/android: Improve Client 2020-12-01 18:05:32 +01:00
Ryan Pavlik 70542fbb3b t/oxr_android: Split android UI that is not target-specific to a separate common target. 2020-12-01 18:05:32 +01:00
Ryan Pavlik 2fe699d7c1 xrt/android: Actually start using dependency injection in Java/Kotlin code. 2020-12-01 18:05:32 +01:00
Ryan Pavlik 3c3d628f0c t/oxr_android: Add resources and build code to grab the CDDL license for display.
Used by a dependency of Hilt.
2020-12-01 18:05:32 +01:00
Ryan Pavlik 885dd1d4d5 gradle: Handle kotlin in multiple parts of the build 2020-12-01 18:05:32 +01:00
Ryan Pavlik fa840e1cd8 ipc/android: Initial port of parts to Kotlin. 2020-12-01 18:05:32 +01:00
Ryan Pavlik b2f751ae99 aux/android: More null checks 2020-12-01 18:05:31 +01:00
Ryan Pavlik f6aff9196a t/oxr_android: Mention out-of-proc in app name resource 2020-12-01 18:05:31 +01:00
Ryan Pavlik 9a92b8f76c st/oxr_android: Provide a shutdown runtime button in activity. 2020-12-01 18:05:31 +01:00
Ryan Pavlik e4a346ad0b ipc/android: Clean ups and debug messages 2020-12-01 18:05:31 +01:00
Ryan Pavlik d9053e0dc5 ipc/android: Single point of truth for action name. 2020-12-01 18:05:31 +01:00
Ryan Pavlik aa222ebba1 ipc/android: Clean up, adjust action name, adjust manifest. 2020-12-01 18:05:31 +01:00
Ryan Pavlik d9453c708e ipc/android: Bump minSdkVersion 2020-12-01 18:05:31 +01:00
Ryan Pavlik d53e2dd7e2 st/oxr_android: Add icon to VR Listener service 2020-12-01 18:05:31 +01:00
Ryan Pavlik 7b5aad0be2 st/oxr_android: Declare sensor usage in manifest 2020-12-01 18:05:31 +01:00
Ryan Pavlik 635542f905 gradle: Break release build on a // STOPSHIP comment 2020-12-01 18:05:31 +01:00
Ryan Pavlik 23e01fc656 gradle: Factor out the dependency versions to a build-wide variable 2020-12-01 18:05:31 +01:00
Lubosz Sarnecki 4d45bfeb1b cmake: Fix Android linking error 2020-12-01 18:05:31 +01:00
Lubosz Sarnecki 144a5751f6 android/ipc/Client.java: call connectSync.notify(). 2020-12-01 18:05:31 +01:00
Ryan Pavlik da68bf502b ipc/client: Start using Android-specific code if needed. 2020-12-01 18:05:31 +01:00
Ryan Pavlik 9c7cfa0229 ipc/android: Add Android-specific native code library. 2020-12-01 18:05:31 +01:00
Ryan Pavlik 3011e3c9f6 ipc/android: Add a blocking connect Java method, and small clean-ups. 2020-12-01 18:05:31 +01:00
Ryan Pavlik 04318b4104 meson: Generate a mock Android config header. 2020-12-01 18:05:31 +01:00
Lubosz Sarnecki d493044e55 d/android: Use display metrics instead of hardcoded Pixel 3 values. 2020-12-01 17:36:15 +01:00
Lubosz Sarnecki c0ab34a355 aux/android: Implement display metrics acquisition. 2020-12-01 17:36:15 +01:00
Lubosz Sarnecki ae76b5037d c/renderer: Fix right eye viewport when not pre-rotating.
Scale X / Y were swapped incorrectly.
2020-12-01 15:46:21 +01:00
Jakob Bornecrantz 6fc0e1cda5 u/sink_converter: Silence warning 2020-11-30 17:52:58 +00:00
Jakob Bornecrantz 242faf9b60 u/sink_converter: Refactor allocation function a bit more 2020-11-30 17:52:58 +00:00
Christoph Haag 3b992a4508 u/sink_converter: Remove u_sink_converter::frame 2020-11-30 15:38:21 +00:00
Christoph Haag 5a4df61885 u/sink_converter: Clarify dst frame of format conversions 2020-11-30 15:38:19 +00:00
Christoph Haag 49587412bd u/sink_converter: clarify ensure_data() 2020-11-30 15:38:15 +00:00
Christoph Haag 9873588d08 sdl2hack: Don't call SDL_Quit()
It crashes client applications that use SDL2 on their own.
2020-11-30 15:38:13 +00:00
Christoph Haag 3d3361706c os/threading: Fix typo in comment 2020-11-30 15:38:07 +00:00
Christoph Haag 3168eb750d d/remote: Only define __USE_MISC if not defined 2020-11-30 15:38:06 +00:00
Lubosz Sarnecki c4683bb059 c/renderer: Pre-rotate display for transformed surfaces.
This resolves VK_SUBOPTIMAL_KHR warnings when preseting the swap chain
on systems likes Android.

https://android-developers.googleblog.com/2020/02/handling-device-orientation-efficiently.html
2020-11-27 16:50:55 +01:00
Lubosz Sarnecki bd68c0e5f5 aux/math: Implement math_matrix_2x2_multiply. 2020-11-27 16:50:55 +01:00
Christoph Haag f6839ee4bf st/oxr: Add view space case to hand tracking data 2020-11-23 20:42:54 +00:00
Christoph Haag f7cbe37c2d u/hand_tracking: Tweak hand model parameters
* shortened way too long bones
* tweaked offset positions
2020-11-23 20:42:54 +00:00
Christoph Haag 006971ae7a u/hand_tracking: Calculate joint velocities
And return them in the state tracker
2020-11-23 20:42:54 +00:00
Christoph Haag aa6e5f7fdf u_hand_tracking: Fix typo in u_hand_tracking_model 2020-11-23 20:42:54 +00:00
Christoph Haag 191fe7a59f st/oxr: Add verification of XrHandJointVelocitiesEXT 2020-11-23 20:42:54 +00:00
Christoph Haag f5ef3985ba xrt: Add support for locating hand joints in action spaces 2020-11-23 20:42:54 +00:00
Christoph Haag 95af586654 aux: Add m_space_graph_add_inverted_relation 2020-11-23 20:42:54 +00:00
Christoph Haag d6b072805a aux: Add m_space_relation_invert 2020-11-23 20:42:54 +00:00
Ryan Pavlik 4307ee8a08 st/oxr: Fix exporting of negotiate function. 2020-11-23 14:27:21 -06:00
Ryan Pavlik de36a64f27 st/gui: Don't export symbols from cimgui 2020-11-23 14:27:21 -06:00
Ryan Pavlik b0549b374a external: Don't export symbols from cjson 2020-11-23 14:27:21 -06:00
Ryan Pavlik 883fe27aed t/gui: Fix linking on Windows 2020-11-23 14:27:21 -06:00
Ryan Pavlik 147dcc24e0 comp/main: Fix finding M_PI 2020-11-23 14:27:21 -06:00
Ryan Pavlik 8b4c473233 comp/main: Change annotation for struct packing for MSVC compatibility. 2020-11-23 14:27:21 -06:00
Ryan Pavlik 6fbd12bde4 comp/main: near and far are keywords on Windows. 2020-11-23 14:27:21 -06:00
Ryan Pavlik 66811b436a xrt: Have the vk_helper vk_create_device take in a list of device extensions, and fix usages. 2020-11-23 14:27:21 -06:00
Ryan Pavlik 6c2b5d6614 comp/main: Clean up lists of extensions in main compositor 2020-11-23 14:27:21 -06:00
Ryan Pavlik af8459e407 inc/xrt: Comments 2020-11-23 14:18:20 -06:00
Ryan Pavlik 69a33c642d comp/client: Clean up Vulkan extension list, and add Windows extensions. 2020-11-23 14:18:20 -06:00
Christoph Haag d3ccbce76c build: meson: Add remote driver build 2020-11-20 16:14:02 +01:00
Jakob Bornecrantz 9bf58ec275 c/main: Make COMP_ERROR respect log level 2020-11-20 03:20:33 +00:00
Jakob Bornecrantz 6902f6d7a3 c/render: Change some COMP_ERROR to VK_ERROR 2020-11-20 03:20:33 +00:00
Jakob Bornecrantz 363703602e c/main: Tidy comp_target_swapchain 2020-11-20 03:20:33 +00:00
Jakob Bornecrantz ea723240e3 c/main: Tidy comp_android_window 2020-11-20 03:20:33 +00:00
Jakob Bornecrantz f4c1ebe90c c/main: Remove vk field from comp_target_swapchain 2020-11-20 03:20:33 +00:00
Jakob Bornecrantz d60ae941f1 c/main: Remove comp_window struct 2020-11-20 03:20:33 +00:00
Jakob Bornecrantz 9302bfa028 c/main: Move c field from comp_window to comp_target 2020-11-20 03:20:33 +00:00
Jakob Bornecrantz e8360c013d c/main: Refactor vk_swapchain into comp_target_swapchain 2020-11-20 03:20:33 +00:00
Jakob Bornecrantz 6260248d20 c/main: Introduce comp_target struct 2020-11-20 03:20:33 +00:00
Jakob Bornecrantz 78f7ad7301 c/main: Tidy vk_swapchain a bit 2020-11-19 01:13:23 +00:00
Jakob Bornecrantz ef6c8430d2 m/space: Make sure to not drop positions 2020-11-18 18:05:07 +00:00
Jakob Bornecrantz d1aa04e402 st/gui: Add remote hand tracking controls 2020-11-18 17:37:39 +00:00
Jakob Bornecrantz 5ce0a0b3ab d/remote: Add hand tracking support 2020-11-18 17:37:39 +00:00
Jakob Bornecrantz e0a7df0f1d st/oxr: Make sure to restore old EGL display/context/drawables when creating a EGL compositor 2020-11-15 22:47:42 +00:00
Christoph Haag a2b67ab3fe d/ohmd: Rotate rift s display right, not left 2020-11-12 16:04:00 +01:00
Christoph Haag 2efba6451e steamvr: support rotated displays and direct mode
Monado now calculates OpenHMD viewport dimensions and offsets correctly, we can pass those through.

The rotation of the rendered texture is performed with the distortion function.

v2: Use rotation matrix multiplication for distortion rotation
2020-11-12 16:04:00 +01:00
Christoph Haag 7ef8d1231d d/ohmd: Update display rotation code 2020-11-12 16:04:00 +01:00
Christoph Haag 9e788df463 xrt: Remove lens center from xrt_view
It's only used internally in drivers now.
2020-11-12 16:04:00 +01:00
Christoph Haag 0af755814c xrt: Improve comment documenting xrt_view::viewport 2020-11-12 16:03:27 +01:00
Christoph Haag c7ebf91821 xrt: Improve comment documenting xrt_view::display 2020-11-12 16:03:27 +01:00
Christoph Haag 1ad25d1050 xrt: Document that xrt_hmd_parts::screens dimensions are before rotation 2020-11-12 16:03:27 +01:00
Lubosz Sarnecki 8d628c43a9 ipc/server: Port printf calls to static u_logging.
Make messages more consistent.
2020-11-12 15:11:40 +01:00
Lubosz Sarnecki 23aa3652a3 ipc: Port to u_logging. 2020-11-12 15:11:40 +01:00
Ryan Pavlik 3328688f73 t/service-lib: Simplify. 2020-11-10 18:44:03 +00:00
Ryan Pavlik 86a19e6697 gradle: Remove unused dependencies. 2020-11-10 18:44:03 +00:00
Ryan Pavlik 451a9c5150 android: Update to AboutLibraries 8.5.0
This includes my submission allowing licenses to be
included explicitly in the gradle files.
2020-11-10 18:44:03 +00:00
Ryan Pavlik 5115124bb3 aux/android: Factor out a "native counterpart" class. 2020-11-10 18:44:03 +00:00
Christoph Haag 2082eddb65 steamvr: Fix running without controllers 2020-11-10 15:43:07 +01:00
Ryan Pavlik a792b08ed7 aux/vk: Minimal, untested implementations of these for Windows - fixes build 2020-11-10 03:09:07 +00:00
Ryan Pavlik dde20c14d3 t/oxr_android: Fix Doxygen warning. 2020-11-10 03:09:07 +00:00
Ryan Pavlik 9da004abb4 st/steamvr: Fix build on Windows. 2020-11-10 03:09:07 +00:00
Ryan Pavlik ec1375342f st/oxr: Fix outdated reference in docs. 2020-11-10 03:09:07 +00:00
Ryan Pavlik cc15bfa7ed a/util: FIx ambiguity of directories for docs. 2020-11-10 03:09:07 +00:00
Ryan Pavlik 4c4a204f22 cmake: Fix warning in SteamVR driver target 2020-11-10 03:09:07 +00:00
Ryan Pavlik 8f10d9c2b8 u_hand_tracking: Fix usage of M_PI 2020-11-10 03:09:07 +00:00
Ryan Pavlik a345b07308 d/psvr: Fix typo in config/debug macro 2020-11-10 03:09:07 +00:00
Ryan Pavlik d2955a3967 aux/util: Adjust conditional log macros to handle msvc correctly 2020-11-10 03:09:07 +00:00
Jakob Bornecrantz 135c93288b d/psvr: Rename some hid variables for better code 2020-11-09 23:42:15 +00:00
Jakob Bornecrantz aa7f922e35 os/time: Add a Linux specific way to get the realtime clock (for RealSense) 2020-11-09 23:42:13 +00:00
Jakob Bornecrantz 4bbe25148b os/time: Make timespec argument const 2020-11-09 23:42:11 +00:00
Ryan Pavlik 83b91ea4a9 d/ns: Some clang-tidy cleanups 2020-11-09 16:18:00 -06:00
Ryan Pavlik 97d711a9ef d/hdk: Appease clang-tidy a little more. 2020-11-09 16:18:00 -06:00
Ryan Pavlik 7cebdb4763 aux/os: More defines to calm clang-tidy. 2020-11-09 16:18:00 -06:00
Ryan Pavlik b855fd1ae2 a/util: Appease clang-tidy with a define for ns per second 2020-11-09 16:18:00 -06:00
Ryan Pavlik ab82c5b8e2 u_debug: Remove duplicate declaration 2020-11-09 16:18:00 -06:00
Ryan Pavlik 4c0d71aa30 d/ns: const correctness cleanup for math. 2020-11-09 16:17:57 -06:00
Ryan Pavlik d4011ed78a d/ns: Fix memory leak in math 2020-11-09 16:06:14 -06:00
Christoph Haag cb62514fd0 steamvr: Implement basic SteamVR driver
v3:
  targets: Add Monado-SteamVR driver target
  st/ovrd: Add OpenVR driver header
  build: Factor out sdl hack into lib_sdl2_hack and update steamvr build
  build: Revert lib_sdl2_refactor
  steamvr: Emulate Index Controller by default
  steamvr: Use oxr_handle_destroy instead of exposing oxr_instance_destroy
  steamvr: don't use oxr internals
  steamvr: communicate 3dof tracking to steamvr
  steamvr: use util functions for device assignment and tracking origin setup
  steamvr: Install plugin to <prefix>/share/steamvr-monado
  steamvr: Use thread for updating poses every 1ms

Makes a big difference for the Index @144Hz on the vive driver.
Still somewhat choppy on survive driver - prediction should solve it.

Main-author: Christoph Haag <christoph.haag@collabora.com>
Co-author: Jakob Bornecrantz <jakob@collabora.com>
2020-11-09 19:21:27 +00:00
Jakob Bornecrantz b6c3475352 external: Add OpenVR driver header 2020-11-09 00:32:33 +01:00
Christoph Haag 9d894ab5ff xrt: Move tracking origin setup code to u_device 2020-11-09 00:32:33 +01:00
Christoph Haag c60b7412e5 xrt: Move device assignment code to u_device 2020-11-09 00:32:33 +01:00
Benjamin Saunders 15a89005ca Fix trailing space in xrGetVulkanDeviceExtensionsKHR
Also tweak the instance extensions definition for consistency.
2020-11-07 12:50:25 -08:00
Christoph Haag 29820345c7 d/survive: Fix bindings declaration after rebase of MR 587 2020-11-06 16:36:09 +01:00
Christoph Haag 5478bad3d0 st/oxr: Add OXR_FRAME_TIMING_SPEW var to print basic frame timing information 2020-11-06 00:51:24 +01:00
Christoph Haag 2a00c9f09e comp: Add basic frame timing information to trace log 2020-11-06 00:50:24 +01:00
Christoph Haag 803e9531ec aux: Use time since time_state creation for time_state timestamps
Easy to read timestamps and somewhat meaningful.
2020-11-05 23:11:03 +00:00
Christoph Haag 2e2a62ce1a st/oxr: submit layers with os monotonic timestamp, not XrTime
The compositor does not know about XrTime, only os monotonic timestamps.
2020-11-05 23:11:03 +00:00
Ryan Pavlik 3c13dbce43 t/oxr_android: Work on aboutLibraries usage. 2020-11-05 17:04:58 -06:00
Ryan Pavlik 25967f906b t/oxr_android: Generate license resource at build time. 2020-11-05 17:04:53 -06:00
Ryan Pavlik e1e7b92372 ipc/android: Add additional service options 2020-11-05 17:02:21 -06:00
Ryan Pavlik cb09e68f0c gradle: Allow python location to be explicitly specified in local.properties 2020-11-05 16:09:27 -06:00
Ryan Pavlik ed519b1601 t/oxr_android: Rename activity and add version field 2020-11-05 16:09:26 -06:00
Jakob Bornecrantz 1c98297aa0 st/oxr: Use new xdev providing binding 2020-11-05 14:44:04 +00:00
Jakob Bornecrantz b5e847c814 ipc: Add support for device provided bindings 2020-11-05 14:44:04 +00:00
Christoph Haag ffa7cc84c8 d/vive: Add device bindings 2020-11-05 14:44:04 +00:00
Christoph Haag 4b261219a2 d/survive: Add device bindings 2020-11-05 14:41:55 +00:00
Jakob Bornecrantz 12df35232a d/psmv: Add device bindings 2020-11-05 14:41:55 +00:00
Jakob Bornecrantz 24a3886e85 d/daydream: Add device bindings 2020-11-05 14:41:55 +00:00
Jakob Bornecrantz 5997708634 d/arduino: Add device bindings 2020-11-05 14:41:55 +00:00
Jakob Bornecrantz 7c807a8605 xrt: Add device driver provided bindings 2020-11-05 14:41:55 +00:00
Christoph Haag d0b126c1ee oxr: Add one missing mutex to active_wait_frames 2020-11-04 13:33:27 +00:00
Jakob Bornecrantz 2a9a0100bc d/psvr: Tidy code 2020-11-04 13:26:47 +00:00
Christoph Haag 7eaa7abb89 oxr: Implement additional xrWaitFrame/xrBeginFrame call order checks
Relevant CTS tests: https://github.com/KhronosGroup/OpenXR-CTS/pull/7
2020-11-04 00:37:21 +01:00
Christoph Haag 965fa60bff xrt: Move synchronized state test into oxr session
The compositor now moves immediately to visible/focused when polling.
The state tracker will generate relevant openxr state changes once the session is synchronized.

Properly working alternative to e03ee48dce (reverted in e7643de8db)
2020-11-04 00:37:10 +01:00
Christoph Haag 4709744d0a ipc: log ipc calls and dispatch with IPC_PRINT_SPEW 2020-11-03 22:32:58 +01:00
Christoph Haag 233f3cb234 ipc: hook up IPC_PRINT_SPEW and IPC_PRINT_DEBUG variables
for both server and client
2020-11-03 22:32:58 +01:00
Jakob Bornecrantz e7643de8db c/main: Revert "Transition to visible/focused after xrEndFrame, not xrWaitFrame"
This reverts commit e03ee48dce.
2020-11-03 21:04:05 +00:00
Ryan Pavlik 14fcd6be6a external: SPDX/REUSE compliance 2020-11-02 17:04:51 +00:00
Ryan Pavlik 5f70826ba5 xrt: Add misc missing copyright/license notices 2020-11-02 17:04:51 +00:00
Ryan Pavlik 0684daae4f clang-format configs: Fix SPDX tags 2020-11-02 17:04:51 +00:00
Ryan Pavlik ae62cfbaf6 doc: Add spdx tags. 2020-11-02 17:04:51 +00:00
Christoph Haag e03ee48dce comp: Transition to visible/focused after xrEndFrame, not xrWaitFrame
The application synchronizes its frame loop by "by calling xrWaitFrame,
xrBeginFrame and xrEndFrame in a loop."

Applications can discard frames by not calling xrEndFrame. If initial
frames are discarded, we should not consider the frame loop synchronized.

Previously a sequence like
  xrBeginFrame, xrWaitFrame, xrBeginFrame, xrWaitFrame, xrPollEvent, xrBeginFrame
failed because xrPollEvent the compositor emitted transitions to visible
and focused but they were not emitted in the state tracker, because the
oxr session had not internally tranisitioned to the synchronized state.
2020-10-31 20:14:49 +01:00
Ryan Pavlik 240b8f3047 t/oxr_android: Include library attribution/notices in "about" activity. 2020-10-30 18:20:36 -05:00
Ryan Pavlik f70b1abd88 d/android: Use not-deprecated API when possible. 2020-10-30 18:20:36 -05:00
Lubosz Sarnecki ae1d4e9541 d/android: Enable cardboard distortion. 2020-10-30 18:20:36 -05:00
Lubosz Sarnecki f4113ef15b d/android: Add Android sensors driver. 2020-10-30 18:20:35 -05:00
Ryan Pavlik ad42bbff9e t/oxr_android: Move some distribution-related strings to build system 2020-10-30 18:20:35 -05:00
Ryan Pavlik 55eab2d79b t/oxr_android: Set package version from Git 2020-10-30 18:20:35 -05:00
Ryan Pavlik 36a9273db2 t/oxr_android: Match theme to temporary logo 2020-10-30 18:20:35 -05:00
Ryan Pavlik f46b801ad4 t/oxr_android: Improve VR Mode status messages 2020-10-30 18:20:35 -05:00
Ryan Pavlik 36fa605ab4 t/oxr_android: Add fragment to the main activity 2020-10-30 18:20:35 -05:00
Ryan Pavlik 03a129a4ea t/oxr_android: Add VrModeStatus fragment. 2020-10-30 18:20:35 -05:00
Ryan Pavlik ce3750bfe1 a/android: Store a native pointer in the MonadoView. 2020-10-30 18:20:35 -05:00
Ryan Pavlik 3bc84cca9e a/android: Migrate to using the MonadoView generated wrapper. 2020-10-30 18:20:35 -05:00
Ryan Pavlik b6a12f8522 a/android: Add some partially-generated wrappers for our own Java code. 2020-10-30 18:20:35 -05:00
Ryan Pavlik 0325409210 external/android-jni-wrap: Upgrade base header for new features 2020-10-30 18:20:34 -05:00
Ryan Pavlik fc78b5de86 a/android: Use android_custom_surface constructor/destructor 2020-10-30 18:20:34 -05:00
Ryan Pavlik 66d6281a7f a/android: Monitor whether MonadoView is still being used by native code. 2020-10-30 18:20:34 -05:00
Ryan Pavlik 6f989f5451 t/oxr_android: Clean up main activity. 2020-10-30 18:20:34 -05:00
Jakob Bornecrantz 75ff836e3b ipc: Add ipc_android doc group 2020-10-29 17:02:06 +00:00
Jakob Bornecrantz 585bb6fe7a ipc: Add ipc_shared doc group 2020-10-29 17:02:06 +00:00
Jakob Bornecrantz 3008e5482d ipc: Refactor folders 2020-10-29 17:02:06 +00:00
Jakob Bornecrantz 5ba3486628 t/[gui|oxr]: Directly reference SDL2 in CMake
This fixes the build when building with clang and CMake.
2020-10-29 16:33:15 +00:00
Jakob Bornecrantz 09ba7fc1e3 d/remote: Fix warning when building with clang 2020-10-29 16:17:20 +00:00
Ryan Pavlik 26cd22b232 a/android: Move class name to a constant. 2020-10-28 12:12:31 -05:00
Ryan Pavlik da3959e642 a/android: C++ headers use .hpp as the extension 2020-10-28 12:12:31 -05:00
Ryan Pavlik 8301c9d1b4 a/android: Fix some file comments. 2020-10-28 12:12:31 -05:00
Ryan Pavlik 941c6286e5 t/oxr_android: Add version annotation to the VR listener 2020-10-28 12:12:31 -05:00
Ryan Pavlik e724a72fc1 st/oxr_android: Adjust name string 2020-10-28 12:12:31 -05:00
Ryan Pavlik e4e3ee888a st/oxr_android: Clean up manifest 2020-10-28 12:12:31 -05:00
Ryan Pavlik 1acadb8a18 a/android: Make MonadoView fullscreen. 2020-10-28 12:12:31 -05:00
Ryan Pavlik 307b3f28fa t/oxr_android: Clean up manifest 2020-10-28 12:12:31 -05:00
Ryan Pavlik bcb6e85f9d t/oxr_android: Rename the VrListener class/service. 2020-10-28 12:12:31 -05:00
Lubosz Sarnecki a8c7ac2074 c/eglimage_swapchain: Actually return created swapchain. 2020-10-28 12:12:31 -05:00
Lubosz Sarnecki af4c6a8ba3 c/gl_client: Check if swapchain is not NULL. 2020-10-28 12:12:31 -05:00
Lubosz Sarnecki bd107095fd c/gl_client: Port to u_logging. 2020-10-28 12:12:31 -05:00
Lubosz Sarnecki e3df2f9940 st/oxr: Add GLES Android session boilerplate. 2020-10-28 12:12:31 -05:00
Lubosz Sarnecki d61faff421 aux/android/ahardwarebuffer_allocator: Use Vulkan enums in format switch. 2020-10-28 12:12:31 -05:00
Lubosz Sarnecki 633b7839c2 aux/vk+comp/sc: Initialize extra structs for hardware buffer extension.
Fix sRGB format for Android hardware buffers.
2020-10-28 12:12:31 -05:00
Lubosz Sarnecki 3cc8793d7d aux+comp: Add Android hardware buffer device extension. 2020-10-28 12:12:31 -05:00
Lubosz Sarnecki 2cc8252c05 aux/vk: Add vkGetAndroidHardwareBufferPropertiesANDROID. 2020-10-28 12:12:31 -05:00
Lubosz Sarnecki 2df2daa00c aux/android/ahardwarebuffer_allocator: Add function to allocate a single buffer. 2020-10-28 12:12:31 -05:00
Ryan Pavlik 436886852d a/android: Improve monadoview, including fixing deleted ref problem. 2020-10-28 12:12:31 -05:00
Ryan Pavlik a0bbca572d comp: Basic Android compositor window.
Also makes the service feature not depend on other options:
it can be used without those other parts.

comp/window_android: Remove unused EGL code for now, as it is crashing.

comp/window_android: Use MonadoView async method to create surface.

comp/window_android: Use custom surface as intended

Co-authored-by: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
2020-10-28 09:41:30 -05:00
Ryan Pavlik dfd771f768 aux/android: Enhance custom surface
Includes fixes to my mistakes by Lubosz.

Co-authored-by: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
2020-10-28 09:41:03 -05:00
Lubosz Sarnecki e78ad12634 aux/android/custom_surface: Make JNI happy.
Keep android_load_class methods in C++, since
casting the class handle to void results in:

```
JNI DETECTED ERROR IN APPLICATION: use of deleted global reference.
```

Co-authored-by: Ryan Pavlik <ryan.pavlik@collabora.com>
2020-10-28 09:33:47 -05:00
Lubosz Sarnecki 2a8db3d780 aux/android/load_class: Use pkgClassLoader.loadClass to load MonadoView class. 2020-10-28 09:33:46 -05:00
Lubosz Sarnecki dbe0338956 android/MonadoView: Register surface callback and fix imports.
Run UI things on UI thread.
2020-10-28 09:33:46 -05:00
Lubosz Sarnecki c64d17fa88 comp/main: Define Android extensions. 2020-10-28 09:33:46 -05:00
Lubosz Sarnecki 79fd76f68d comp/main: Don't check for VK_KHR_display on Android. 2020-10-28 09:33:46 -05:00
Lubosz Sarnecki 7d02a93ca5 android/manifest: Extract libs. 2020-10-28 09:33:46 -05:00
Ryan Pavlik 43d724b6bf aux/vk: Fix a place where we were missing an android ifdef 2020-10-28 09:33:46 -05:00
Ryan Pavlik d4b19f3d47 aux/android: Add custom surface code. 2020-10-28 09:33:46 -05:00
Ryan Pavlik 9b67c0a09f aux/android: Add code to load Java from a package 2020-10-28 09:33:46 -05:00
Ryan Pavlik 2cafdfa5cc t/oxr_android: Add Android-specific subdirectory 2020-10-28 09:33:46 -05:00
Ryan Pavlik d6564e3798 ipc_android: Add Android-specific Java/AIDL code 2020-10-28 09:33:46 -05:00
Ryan Pavlik d0187cee9a aux/android: Add Java code 2020-10-28 09:33:26 -05:00
Ryan Pavlik 0f43bbe924 inc/xrt: Add Android config header to store package name. 2020-10-28 09:32:49 -05:00
Ryan Pavlik 06f75e03b4 a/android: Fix typo in comment 2020-10-28 09:32:49 -05:00
Ryan Pavlik 0ea7cf8009 targets: Add service-lib stub for Android 2020-10-28 09:32:49 -05:00
Ryan Pavlik 59d2285c8e aux/util: Port logging for Android.
Now if u_logging is used, it goes to logcat.
2020-10-28 09:32:49 -05:00
Ryan Pavlik 82037070a9 external: Add android-jni-wrap. 2020-10-28 09:32:49 -05:00
Ryan Pavlik bf36c5c522 external: Import jnipp 2020-10-28 09:32:49 -05:00
Jakob Bornecrantz 463330d5d5 u/distortion: Set blend mode incase it is zero 2020-10-27 21:34:29 +00:00
Jakob Bornecrantz ecbde55752 m/space: Normalize orientation when returning result 2020-10-27 16:20:12 +00:00
Jakob Bornecrantz 09566cf5fd c/main: Fix projection layer flags not getting set 2020-10-27 16:05:13 +00:00
Jakob Bornecrantz bd6ea43de5 m/headers: Fix doxygen warnings 2020-10-26 22:55:22 +00:00
Jakob Bornecrantz 8730ff479a u/hand_tracking: Tidy header 2020-10-26 22:50:54 +00:00
Jakob Bornecrantz d72776b82c d/psvr: Switch to logging API 2020-10-26 22:41:49 +00:00
Jakob Bornecrantz 6fd1e7b36c d/dummy: Add logging to variable tracking 2020-10-26 22:41:27 +00:00
Jakob Bornecrantz 02a3b47f7c d/dummy: Switch to logging API 2020-10-26 22:17:15 +00:00
Jakob Bornecrantz 3611193feb d/dummy: Tidy file 2020-10-26 22:14:05 +00:00
Jakob Bornecrantz cf8ca3756e c/main: Fix leaks of samplers and tidy code 2020-10-26 22:07:12 +00:00
Jakob Bornecrantz 75153a7066 u/distortion: Add simple cardboard distortion code 2020-10-26 21:53:55 +00:00
Jakob Bornecrantz ed2040a571 u/mesh: Tidy header 2020-10-26 20:36:30 +00:00
Jakob Bornecrantz 7bcdf0de40 st/prober: Depend on remote driver as we reference it directly 2020-10-26 20:35:18 +00:00
Jakob Bornecrantz f868f61a17 st/oxr: Improve verification of XrGraphicsBindingEGLMNDX 2020-10-26 14:05:27 +00:00
Jakob Bornecrantz 7ba4bee439 st/oxr: Minor fixes for oxr_session_egl 2020-10-26 14:03:30 +00:00
Jakob Bornecrantz ebfd984c12 st/oxr: Fix missing semicolons 2020-10-26 14:03:30 +00:00
Jakob Bornecrantz f9443cf362 st/oxr: Timeout minimum duration pulses after 0.1 seconds 2020-10-26 14:03:30 +00:00
Lubosz Sarnecki 663dfe8990 meson: Add equirect2 to build. 2020-10-26 01:34:10 +00:00
Lubosz Sarnecki 1227c77556 st/oxr: Add equirect2 verify and submit functions. 2020-10-26 01:34:10 +00:00
Lubosz Sarnecki 3195ba8351 c/main: Implement XR_KHR_composition_layer_equirect2. 2020-10-26 01:34:10 +00:00
Lubosz Sarnecki 9738b4fe93 c/shaders: Add equirect shader. 2020-10-26 01:34:10 +00:00
Lubosz Sarnecki 5777d829c6 c/comp: Init repeat sampler for swapchain images. 2020-10-26 01:34:10 +00:00
Lubosz Sarnecki 7035490ed7 aux/math: Implement math_matrix_4x4_inverse_view_projection. 2020-10-26 01:34:10 +00:00
Christoph Haag 74f7d03830 xrt: Add printing list of built in drivers to monado_cli probe 2020-10-25 22:59:06 +01:00
Christoph Haag f910367014 d/oh: Add startup delay for Rift S and rotate left 2020-10-21 01:26:53 +02:00
Jakob Bornecrantz fd5cfbe9a7 st/oxr: Fix state changes errors 2020-10-20 19:28:57 +01:00
Jakob Bornecrantz 2528583c55 xrt: Add git tag/description 2020-10-20 17:43:11 +01:00
Jakob Bornecrantz 9440a9dd93 st/prober: Add remote loading 2020-10-15 21:07:40 +00:00
Jakob Bornecrantz 27abc58d51 st/prober: Add the concept of active config to config file 2020-10-15 21:07:40 +00:00
Jakob Bornecrantz a122b4b0b2 st/prober: Refactor out adding functions. 2020-10-15 21:07:40 +00:00
Jakob Bornecrantz 541bdd2fce st/gui: Add remote device control ui 2020-10-15 21:07:40 +00:00
Jakob Bornecrantz 3483a7286d d/remote: Add remote driver 2020-10-15 21:07:40 +00:00
Jakob Bornecrantz 0cf3c704b6 st/oxr: Add simple controller bindings 2020-10-15 21:07:40 +00:00
Jakob Bornecrantz f3394320b1 xrt: Add simple controller input profile 2020-10-15 21:07:40 +00:00
Jakob Bornecrantz a200bd5fec st/oxr: Add option to disable printing to stderr 2020-10-15 01:45:51 +00:00
Jakob Bornecrantz 71e05fc21d st/oxr: Improve pose sub-path handling
If the client only supplies the 'any' path no sub-path would be
selected in the 'any' cause.
2020-10-15 01:45:51 +00:00
Jakob Bornecrantz 54739aff8d c/render: Refactor out distortion rendering 2020-10-13 19:51:13 +01:00
Jakob Bornecrantz c5741af98a c/main: Tidy names 2020-10-13 19:17:50 +01:00
Jakob Bornecrantz 4ffc0b4144 c/main: Remove viewport_id in mesh shader 2020-10-13 19:17:50 +01:00
Jakob Bornecrantz 95bdcc0bd3 c/main: Round viewport to cover the same as scissors 2020-10-13 19:17:50 +01:00
Jakob Bornecrantz 32fd9398fe c/main: Refactor shader loading to own file 2020-10-13 19:17:50 +01:00
Jakob Bornecrantz 438a8e71f9 aux/vk: Add vkFreeDescriptorSets 2020-10-13 18:59:28 +01:00
Christoph Haag c0a5b3b76c d/survive: Implement haptic feedback 2020-10-13 19:39:28 +02:00
Christoph Haag 0dcde4a597 d/vive: Actually Use defined values for default haptic frequency and min haptic duration 2020-10-13 19:39:28 +02:00
Christoph Haag 270a4143c7 d/vive: Use defines for minimum haptic frequency and unspecified haptic frequency 2020-10-13 19:39:25 +02:00
Christoph Haag 1f021a6eda xrt: Add defines for minimum haptic frequency and unspecified haptic frequency 2020-10-13 19:27:53 +02:00
Christoph Haag d959bea54a d/vive: curl thumb when touching a button 2020-10-12 22:55:33 +02:00
Christoph Haag 05f65e0028 d/survive: curl thumb when touching a button 2020-10-12 22:55:33 +02:00
Christoph Haag f8088c1fa4 d/survive: Add fingertracking and refactor
Get controller config at startup & determine variant.
2020-10-12 22:55:33 +02:00
Christoph Haag 5164488225 d/vive_controller: Add finger tracking 2020-10-12 22:55:33 +02:00
Christoph Haag ca5cbaaa6f aux: Add hand_tracking util 2020-10-12 22:55:33 +02:00
Christoph Haag 6e5206f232 ipc: Add missing position_tracking_supported passthrough 2020-10-12 22:13:48 +02:00
Christoph Haag 256e2c68d8 xrt: Implement & hook up hand joint tracking infrastructure
Include <inttypes.h> to satisfy older compilers
2020-10-12 22:13:47 +02:00
Christoph Haag 2a07c1034e d/ns: Don't create rs tracker twice on v1 2020-10-12 16:06:25 +02:00
Ryan Pavlik 9d8af39b4f t/cli: Fix build on Windows. 2020-10-08 17:26:23 -05:00
Ryan Pavlik 835beedcca u_handles: Add Win32 handle utilities 2020-10-08 17:26:22 -05:00
Ryan Pavlik 5522c7317a st/oxr: Replace __typeof__ usage with portable syntax.
Needed for building on MSVC
2020-10-08 17:26:22 -05:00
Ryan Pavlik 3faa32753d inc/xrt: have the vulkan includes include windows.h neatly.
The Vulkan header itself already does it, we just want to do it first
with the right defines.
2020-10-08 17:26:22 -05:00
Ryan Pavlik 39ede92287 build: Link aux_util against threads explicitly 2020-10-08 17:26:22 -05:00
Ryan Pavlik 8b416da12b xrt: Add Win32 Vulkan platform define when needed 2020-10-08 17:26:22 -05:00
Ryan Pavlik 938e8cb393 inc/xrt: Windows uses Win32 HANDLEs for things. 2020-10-08 17:26:22 -05:00
Ryan Pavlik 60b4fc2ba1 inc/xrt: Add a header for minimally including Windows.h 2020-10-08 17:26:22 -05:00
Ryan Pavlik 3f83b1da92 u_json: Properly silence secure CRT warnings. 2020-10-08 17:26:22 -05:00
Ryan Pavlik 48eb00f1c8 u_bitwise: Switch from static const int to defines.
Sadly MSVC didn't believe those were constant,
and this is a C file so no constexpr.
2020-10-08 17:26:22 -05:00
Jakob Bornecrantz 1750bb672f c/main: Remove none shaders 2020-10-08 15:02:52 +01:00
Jakob Bornecrantz 39ec39dbee c/main: Add more logging levels 2020-10-08 14:57:59 +01:00
Jakob Bornecrantz 813487c2f5 ipc: Use new none distortion code 2020-10-07 23:45:46 +01:00
Jakob Bornecrantz 96046d1315 d/ohmd: Use new none distortion code 2020-10-07 23:45:45 +01:00
Jakob Bornecrantz 7baf90d3d8 d/hdk: Use new none distortion code 2020-10-07 23:45:43 +01:00
Jakob Bornecrantz cd2ea960b9 d/dummy: Use new none distortion code 2020-10-07 23:45:41 +01:00
Jakob Bornecrantz 51c8575323 u/mesh: Add back none distortion generation 2020-10-07 23:45:39 +01:00
Jakob Bornecrantz b5e5322f49 c/main: Use log levels 2020-10-06 20:37:01 +01:00
Lubosz Sarnecki bbeab1da3f c/main: Use u_logging.
Remove comp_compositor_print.
2020-10-06 20:04:52 +01:00
Christoph Haag dc29c3f97e build/meson: Build daydream and arduino driver when dbus is enabled 2020-10-05 16:05:02 +00:00
Christoph Haag 5bea856f20 build/meson: Add XRT_HAVE_DBUS when dbus is found 2020-10-05 16:05:02 +00:00
Jakob Bornecrantz 92caeae39c xrt: Define XRT_FEATURE_COMPOSITOR_MAIN and XRT_FEATURE_OPENXR 2020-10-05 16:46:06 +01:00
Jakob Bornecrantz 942ba178a0 st/oxr: Add extension support for XR_KHR_composition_layer_equirect2 2020-10-05 16:45:48 +01:00
Jakob Bornecrantz 708dc80bbc external: Update OpenXR headers to 1.0.12 2020-10-05 16:34:12 +01:00
Jakob Bornecrantz c5b696cfd7 t/cli: Add lighthouse command 2020-10-05 16:22:02 +01:00
Jakob Bornecrantz 0804dc20d1 os/ble: Use logging 2020-10-05 16:22:02 +01:00
Jakob Bornecrantz 40c764a290 os/ble: Large refactor of code 2020-10-05 14:19:52 +01:00
Jakob Bornecrantz 5af976a510 os/ble: Add os_ble_broadcast_write_value function 2020-10-05 14:19:52 +01:00
Jakob Bornecrantz 5b4d45ffcc os/ble: Correct documentation on os_ble_notify_open function 2020-10-05 14:19:52 +01:00
Jakob Bornecrantz 33879da21a xrt: Add XRT_HAVE_DBUS 2020-10-05 14:19:52 +01:00
Christoph Haag a0dd182dae build/ctl: Explicitly depend on generated ipc client header
Including a header in the build target is the documented solution for depending on
the generation of files via custom targets.

Fixes build on alpine linux.
2020-10-04 23:44:16 +02:00
Jakob Bornecrantz 02b33c668b st/oxr: Destroy client compositor when session is destroyed
Fixes #99
2020-10-04 13:04:57 +01:00
Jakob Bornecrantz 9dd8bfef28 st/oxr: Use xrt_comp_native_destroy helper 2020-10-04 13:04:55 +01:00
Jakob Bornecrantz 3729f2e8c9 ipc: Free client side compositor 2020-10-04 13:04:53 +01:00
Jakob Bornecrantz 309037a445 c/client: The client compositors doesn't own the native compositor 2020-10-04 13:04:52 +01:00
Jakob Bornecrantz 6ec6c2eac9 d/dummy: Make view rotate slightly with time 2020-10-01 23:49:12 +01:00
Jakob Bornecrantz 9f39410b64 d/dummy: Make the view move slightly with time 2020-10-01 15:50:51 +01:00
Jakob Bornecrantz 9a675cc7f3 xrt: Rename xrt_uv_triplet 2020-09-30 15:35:57 +01:00
Christoph Haag bb56e5f3c5 d/openhmd: Make struct oh_device private and refactor 2020-09-30 02:08:03 +02:00
Christoph Haag f6c3998d29 xrt: Use struct vive_values for u_compute_distortion_vive 2020-09-30 02:05:05 +02:00