Commit graph

1042 commits

Author SHA1 Message Date
Jakob Bornecrantz 05792ff150 st/oxr: Refactor OXR_NO_PRINTING env vars 2023-04-18 22:28:53 +01:00
Jakob Bornecrantz fa0b3ad73c st/oxr: Refactor logging functions and use OutputDebugStringA on Windows
The OXR logging functions are not called during normal opperation so it's okay
to always copy into a full buffer.
2023-04-18 22:28:53 +01:00
Jakob Bornecrantz 45fe1d6ed0 st/oxr: Refactor swapchains to use explicit transitions 2023-04-18 14:31:55 +01:00
Jakob Bornecrantz 6415480f1c st/oxr: Tidy includes [NFC] 2023-04-18 14:21:10 +01:00
Jakob Bornecrantz b49cd74114 st/oxr: Rename and document common swapchain creation function [NFC] 2023-04-18 14:21:10 +01:00
Jakob Bornecrantz 9055b9d2ec st/oxr: Remove unneeded prefixes on functions [NFC] 2023-04-18 14:21:10 +01:00
Jakob Bornecrantz 52f790289d st/oxr: Swapchain destroy was the same for all APIs 2023-04-18 14:21:10 +01:00
Jakob Bornecrantz a56caf762e st/oxr: Refactor swapchain functions a bit 2023-04-18 14:21:10 +01:00
Moshi Turner ec59e97bda st/gui: Use IMU in EuRoC recorder scene 2023-04-12 16:43:20 -05:00
Moshi Turner c05c5d5c2e st/gui: Add EuRoC recorder for DepthAI cameras 2023-04-12 12:19:13 +00:00
Moshi Turner 51ff80e802 st/gui: Lazily create debug sinks so that they can be created at any time
Useful for deferred-creation compositors, and for repositories submoduling Monado.
2023-04-11 19:50:41 -05:00
Jakob Bornecrantz bab4a126ae xrt: Remove product_name from xrt_prober_device struct
And move it to an internal struct instead. Better to keep it internal to the
prober as it was only used for the bluetooth probing. And there was a function
that applications should use to get strings from xrt_prober_device.
2023-04-07 15:37:22 +01:00
Jakob Bornecrantz 50838f5801 xrt: Introduce xrt_layer_frame_data 2023-04-04 13:38:21 +01:00
Jakob Bornecrantz a2081db38a st/oxr: Fix typo in OXR_CHECK_XRET define usages [NFC]
Fix typo that I introduced in !1727 (95512594a0).
2023-04-01 16:32:03 +01:00
Jarvis Huang 95512594a0 st/oxr: Convert session IPC error to XR_ERROR_SESSION_LOST
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-04-01 15:44:32 +01:00
Jakob Bornecrantz c006ac138f st/oxr: Add helper for xrt_result_t checking 2023-04-01 15:44:32 +01:00
Jarvis Huang c560ff5592 st/oxr: xrPollEvent should not return XR_SESSION_LOSS_PENDING 2023-04-01 14:43:40 +01:00
Jarvis Huang 7cd1d4886f st/oxr: Support session lost error in session related APIs 2023-04-01 14:43:40 +01:00
Jarvis Huang f9d83c8b1f st/oxr: Handle XR_SESSION_STATE_LOSS_PENDING 2023-04-01 14:43:40 +01:00
Jakob Bornecrantz 92f7e36083 st/oxr: Validate view array types 2023-03-28 19:30:57 +01:00
Jakob Bornecrantz 7c024b3994 st/oxr: Use xrt_space 2023-03-10 00:03:46 +00:00
Jakob Bornecrantz c70bc60084 xrt: Also create a space overseer when creating system devices 2023-03-10 00:03:46 +00:00
Moshi Turner 7485afbeaa xrt: Refactor oxr_sdl2_hack to u_debug_gui
And OXR_DEBUG_GUI to XRT_DEBUG_GUI

Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-03-06 16:39:52 -06:00
Jakob Bornecrantz e338d57945 st/gui: Remove unused pointer [NFC] 2023-03-06 14:38:36 +00:00
Jakob Bornecrantz 3ab34071be st/oxr: Extract space type conversions 2023-03-03 21:38:54 +00:00
Jakob Bornecrantz a980392b9e st/oxr: Refactor out conversion helper to own header 2023-03-03 21:38:54 +00:00
Jakob Bornecrantz b15ac35e76 st/oxr: Refactor some things into oxr_defines.h 2023-03-03 21:38:54 +00:00
Jakob Bornecrantz d84a679eb9 u/builders: Move setup tracking origin function here 2023-03-03 21:38:54 +00:00
Ryan Pavlik fd77b84938 st/oxr: Suppress clang-tidy removing a forward declaration. 2023-03-03 01:05:14 +00:00
Ryan Pavlik 124c9ecf3f st/oxr: Suppress a warning.
It looks more serious than it actually is, this is normal usage.
2023-03-03 01:05:14 +00:00
Ryan Pavlik cff131da36 st/oxr: Fix bitwise operation on signed int warnings. 2023-03-03 01:05:14 +00:00
Ryan Pavlik 172a5baf23 st/oxr: Add missing calling convention macros for entry points.
Fixes 32-bit Windows build.
2023-03-02 13:48:25 -06:00
Moshi Turner e26a272c17 d/dai, st/gui, t/common: Make DepthAI frameserver work with multicam sinks 2023-03-01 14:37:26 -06:00
Mateo de Mayo c39dc977c4 d/euroc: Support datasets with more than two cameras 2023-03-01 19:43:06 +00:00
Mateo de Mayo d8e1b7d921 t/slam: Handle multiple camera sinks 2023-03-01 19:43:06 +00:00
Mateo de Mayo 52cac31d3a xrt: Support more than two cameras in a SLAM sink 2023-03-01 19:43:06 +00:00
Ryan Pavlik 66a303f809 st/oxr: Internal docs 2023-03-01 17:08:39 +00:00
Jakob Bornecrantz a86cb86c80 st/oxr: Remove unused out_xdev argument 2023-02-28 21:27:53 +00:00
Jarvis Huang 5380b6c149 st/oxr: Use xrt_device_is_form_factor_available 2023-02-22 23:52:21 +00:00
Mateo de Mayo 4ac9d985e5 st/steamvr_drv: Silence warning 2023-02-17 15:31:53 -06:00
Ryan Pavlik 999c67975a st/oxr: Fix inconsistent naming related to subaction paths 2023-02-06 17:58:00 -06:00
Ryan Pavlik b2e65ed08c st/oxr: Add some const correctness 2023-02-06 17:58:00 -06:00
Ryan Pavlik 573cbb12ee st/oxr: Fix typo 2023-02-06 17:58:00 -06:00
Moses Turner 1bba34e944 xrt: Remove old_rgb hand tracking 2023-01-27 12:37:33 -06:00
Mateo de Mayo d22f58bee4 u/var: Add nested headers 2023-01-26 18:07:10 +00:00
Jakob Bornecrantz c21a8ef0cc st/oxr: Add controller extensions
Extensions enabled:
* XR_EXT_hp_mixed_reality_controller
* XR_EXT_samsung_odyssey_controller
* XR_ML_ml2_controller_interaction
2023-01-24 22:40:53 +00:00
Robbie Bridgewater 17560d0618 a/util,st/gui: Add i64 as a debug GUI type 2023-01-24 15:35:39 +00:00
SJakab e4a40a6e4e st/oxr: Skip oxr_session_end if connected to Unreal 4. 2023-01-24 11:42:46 +00:00
Jakob Bornecrantz 4643d4f089 st/gui: Add small hand-tracking demo scene 2023-01-14 20:11:49 -05:00
Jakob Bornecrantz 69238be306 ext/openxr: Update XR_MNDX_force_feedback_curl 2022-11-26 14:26:58 +00:00
Jakob Bornecrantz 8d817b773e st/prober: Print the deviecs we got when looping throught the builders 2022-11-24 12:08:17 +00:00
Jakob Bornecrantz 89aee1892b d/remote: Update protocol to allow per view data 2022-11-14 16:07:15 +00:00
Ryan Pavlik 58e4cb6e15 st/steamvr: can not -> cannot 2022-11-09 14:52:03 -06:00
Ryan Pavlik eac703a106 st/prober: can not -> cannot 2022-11-09 14:52:03 -06:00
Ryan Pavlik 724b2288f9 st/oxr: can not -> cannot 2022-11-09 14:48:17 -06:00
Mateo de Mayo 9d6c29397f misc: Fix multiple compile warnings in gcc and clang 2022-11-03 20:08:52 +00:00
Jakob Bornecrantz 04ab47ef3b st/oxr: Use xrt limits for number of swapchain images max 2022-11-03 17:43:06 +00:00
Jakob Bornecrantz 01d195808d st/oxr: Use snprintf to safely write strings to app 2022-10-31 12:12:35 +00:00
Boris-Chengbiao Zhou cd2f204414 st/oxr: Check if user has already enabled timeline semaphores
We aren't allowed to add a second struct of the same type to the pNext
chain during Vulkan device creation.
2022-10-28 23:19:50 +02:00
Jakob Bornecrantz 8ca60f4304 a/util: Split out sink functions into own library 2022-10-27 17:19:57 +00:00
Bailey Morgan 67c47fbcb3 st/oxr: Change result code for invalid OpenGL context to match spec 2022-10-25 18:18:15 +00:00
Christoph Haag 7dd0a6e473 st/oxr: Disable XR_KHR_convert_timespec_time on windows
This avoids a current CTS issue.
2022-10-20 12:33:02 +02:00
Jakob Bornecrantz da571275c2 st/oxr: Fix enum comparison warning 2022-09-28 22:56:01 +00:00
Jakob Bornecrantz 098bd5e773 st/gui: Add discrete steps in video preview scale 2022-09-22 14:02:21 +01:00
Moses Turner 9a9878a850 st/gui: Improve record window scaling and add 180 degree flipping 2022-09-22 12:09:25 +00:00
Moses Turner 6fdd790da0 d/dai: Update DepthAI driver
* Removed depthai_tracked_device - now you create a "SLAM" device, plug any frameserver into it and you're done
* Consolidated the grayscale frameservers into just one that gives you SLAM sinks
* Allows for different framerates and half-size for ov9282s
* Added debug frame sinks
* Added the ability to wait at startup for a number of frames for the streams to stabilize before submitting them to SLAM
2022-09-21 07:57:03 -05:00
Daniel Willmott 0bed585018 st/oxr: Add force feedback extension implementation 2022-09-19 22:08:28 +00:00
Daniel Willmott 3c8e738e77 st/oxr: Update openxr extension support 2022-09-19 22:08:28 +00:00
Moses Turner 17acb376f9 xrt: Fix some typos that codespell caught 2022-09-11 23:32:28 -05:00
Jakob Bornecrantz 115bf93487 st/oxr: Use precise sleeper for extra wait frame sleeps 2022-09-07 15:06:57 +00:00
Jakob Bornecrantz f2b8855e51 st/oxr: Correct error message 2022-09-06 18:08:10 +00:00
Ryan Pavlik 570f27d486 st/oxr: Wire up Win32 OpenGL 2022-08-22 19:53:50 +00:00
Jakob Bornecrantz a681252ac1 st/oxr: Tidy includes 2022-08-22 19:53:50 +00:00
Jakob Bornecrantz 074121e371 st/oxr: Use correct device to check for hand tracking support 2022-08-15 15:57:42 +00:00
Jakob Bornecrantz 97874a524a st/oxr: Remove old unused device role index system 2022-08-15 15:57:42 +00:00
Jakob Bornecrantz 4fa509034d st/oxr: Print out all roles 2022-08-15 15:57:42 +00:00
zhibinw 601143bfb7 st/oxr: Support FOCUSED to SYNCHRONIZED transfer in oxr_session_poll 2022-08-15 14:38:18 +01:00
Simon Zeni 90f708d91c xrt: Enable XR_KHR_composition_layer_cube
Co-authored-by: Bjorn Swenson <bjorn@collabora.com>
2022-08-11 13:42:09 +01:00
Jakob Bornecrantz 45e268dd16 st/oxr: Don't use mysterious time variable for error printing 2022-08-10 14:18:45 +00:00
bjorn 987bc48edc Fix XrNegotiateRuntimeRequest::structVersion check; 2022-08-08 16:21:40 +00:00
Christoph Haag c24e482e5e st/oxr: Make OpenXR timestamps relative to service startup
This solves a problem where OpenXR timestamps could become invalid
(negative) in certain circumstances:

The timestamps that the OpenXR state tracker returned were offset such
that they appeared to start at OpenXR application startup time.

However monado-service is a long running service using system timestamps.
Because of this, if monado-service started work using a system timestamp
acquired before an OpenXR application started, then this system timestamp
could not be converted into an OpenXR without becoming invalid.

With this change, the OpenXR timestamps for OpenXR applications are offset
such that they appear to start at monado-service startup time instead.

As a side effect, all OpenXR applications connected to the same
monado-service instance will receive timestamps from the same domain.
2022-08-08 15:52:18 +00:00
Charlton Rodda 996aefe596 Improve validation in xrLocateViews 2022-08-04 19:21:39 +01:00
danwillm 72ff5cab80 st/steamvr_drv: add skeletal input from openxr hand tracking
Co-authored-by: Moses Turner <moses@collabora.com>
2022-07-28 12:19:20 +01:00
danwillm 9c9f4bb5c5 st/steamvr_drv: comment out "action binding reloaded" log message 2022-07-28 12:19:20 +01:00
danwillm 75995fede0 external, st/steamvr_drv: update OpenVR to 1.16.8 2022-07-28 12:19:20 +01:00
Ryan Pavlik 490559ee6c st/oxr: Wire in D3D12 support 2022-07-26 14:45:29 +00:00
Ryan Pavlik f718ff151f st/oxr: Add d3d12 support to the extension support header. 2022-07-26 14:45:29 +00:00
Ryan Pavlik 189be3300c st/oxr: Add helper to verify compatible usage flags. 2022-07-26 14:45:29 +00:00
Ryan Pavlik ee26b5f575 a/d3d: Split out some d3d11 stuff from generic 2022-07-26 14:45:29 +00:00
Mateo de Mayo 997f4451b8 st/gui: Make debug frame sinks a bit more compact 2022-07-22 16:19:49 +00:00
Ryan Pavlik de4bf3be0a st/oxr: Doc improvment 2022-07-15 15:37:08 -05:00
Ryan Pavlik 8f7eed3521 state_trackers: Remove obsolete documentation stub 2022-07-15 12:49:55 -05:00
Ryan Pavlik b08797a4a5 st/oxr: Fix missing return, resolve warnings 2022-07-14 14:17:35 +00:00
Ryan Pavlik b0405023b7 st/oxr: Resolve warning 2022-07-14 14:17:35 +00:00
Ryan Pavlik 593a277dd7 st/steamvr_drv: Resolve warnings 2022-07-14 14:17:35 +00:00
Moses Turner fa2554f289 st/oxr: Don't use the debug gui by default in out-of-process 2022-07-12 16:18:17 +00:00
Mateo de Mayo 789111daf8 u/var: Add u_var_curves 2022-07-12 12:47:05 +00:00
Mateo de Mayo 0324fbae6c u/var: Add u_var_curve
Let's you draw any arbitrary curve from a getter function.
2022-07-12 12:47:05 +00:00
Mateo de Mayo bf9e6fa370 u/var: Add u_var_ro_ftext 2022-07-12 12:47:05 +00:00
Mateo de Mayo db3fe110ba u/var: Auto width and match XYZ to RGB colors for ff_vec3 2022-07-12 12:47:05 +00:00