Commit graph

3978 commits

Author SHA1 Message Date
Jakob Bornecrantz 38eac9dddc xrt: Do not depend on util 2022-05-23 09:12:54 -05:00
Jakob Bornecrantz 037872e2b8 c/client: Include u_time.h in D3D11 compositor 2022-05-23 09:12:54 -05:00
Jakob Bornecrantz a75e00d25e d/qwerty: Include u_time.h in device file 2022-05-23 09:12:54 -05:00
Jakob Bornecrantz b64660d458 a/util: Include u_time.h in hand tracking helper 2022-05-23 09:12:54 -05:00
Jakob Bornecrantz 08d100d7b0 d/hydra: Depend on util 2022-05-23 09:12:54 -05:00
Ryan Pavlik 5656de8b72 a/d3d: Fence helpers 2022-05-23 14:11:43 +00:00
Jakob Bornecrantz 658a21a177 a/d3d: Tidy headers 2022-05-23 14:11:43 +00:00
Jakob Bornecrantz b8b42a4bcb c/client: Tidy D3D11 flip comments 2022-05-23 14:11:43 +00:00
Jakob Bornecrantz d91d6e2aa3 c/client: Do not flip projection layers in D3D11 2022-05-23 14:11:43 +00:00
Jakob Bornecrantz 0d055bb740 d/vive: Fix threading primitive initialization 2022-05-23 13:54:42 +00:00
Moses Turner 96d3896664 t/hand/mercury: Initialize the frame timing widget correctly 2022-05-23 13:19:58 +00:00
Moses Turner 9386e56c3d a/util: Paranoia for u_frame_times_widget 2022-05-23 13:19:58 +00:00
Mateo de Mayo bcac379cf5 ipc: Init connection mutex 2022-05-21 23:57:55 -03:00
Mateo de Mayo dd802f7fef c/main: Init vblank.even_thread 2022-05-21 23:50:19 -03:00
Mateo de Mayo 7a0a142dba misc: Fix some uninitialized mutexes 2022-05-21 23:31:18 -03:00
Jakob Bornecrantz 490e90b493 a/vk: Also check for d3d12 fence semaphores 2022-05-21 13:37:28 +01:00
Ryan Pavlik ea35e79ec7 ipc: Clarify that wait_image timeout is nanoseconds 2022-05-20 23:31:59 +01:00
Ryan Pavlik e54d336844 c/util: Clarify that wait_image timeout is nanoseconds 2022-05-20 23:31:59 +01:00
Ryan Pavlik 1b01eb808c c/mock: Clarify that wait_image timeout is nanoseconds 2022-05-20 23:31:59 +01:00
Ryan Pavlik 1cd435f321 c/client: Clarify that wait_image timeout is nanoseconds 2022-05-20 23:31:59 +01:00
Ryan Pavlik 753f37c41f xrt: Clarify that wait_image timeout is nanoseconds 2022-05-20 23:31:59 +01:00
Jakob Bornecrantz 4fa406610f a/os: Fix fallout from name change 2022-05-20 23:07:33 +01:00
Ryan Pavlik fcc18cf839 comp: Add a basic "mock" native compositor for testing purposes 2022-05-20 22:37:15 +01:00
Ryan Pavlik b6bb442162 st/oxr: Verify the LUID we get 2022-05-20 22:37:15 +01:00
Ryan Pavlik cdb8d54ca1 st/oxr: Work on D3D11 2022-05-20 22:37:15 +01:00
Ryan Pavlik 945603a8be comp/client: Initial D3D11 client compositor
Still missing image synchronization/waiting for completion.
2022-05-20 22:37:15 +01:00
Ryan Pavlik 9337ea375c auxiliary: Add new d3d helper library 2022-05-20 22:37:15 +01:00
Ryan Pavlik e6d58cf451 xrt: Add a D3D11 error 2022-05-20 22:37:15 +01:00
Ryan Pavlik bbfc06cc3e xrt: Add interfaces for D3D11 2022-05-20 22:37:15 +01:00
Ryan Pavlik 8bcc2cd195 xrt: Add D3D11 to the OpenXR include header 2022-05-20 22:37:15 +01:00
Ryan Pavlik 4dd1608950 st/oxr: Update extension support header for D3D11 2022-05-20 22:37:15 +01:00
Ryan Pavlik ccb58dbe8a build: Add option to support D3D11 2022-05-20 22:37:15 +01:00
Ryan Pavlik 907edf10a3 a/os: Add more docs for correct use of condition variables 2022-05-20 21:30:41 +00:00
Ryan Pavlik c7580c5242 c/main: Fix a condition var wait in windows win 2022-05-20 21:30:41 +00:00
Ryan Pavlik 5a81d1412a c/main: Fix Windows window backend to handle being shut down and started up again. 2022-05-20 21:30:41 +00:00
Ryan Pavlik 1fe1e8847e c/main: Get more data on our errors 2022-05-20 21:30:41 +00:00
Ryan Pavlik 795db8712b c/main: Be sure to clean up window class when done. 2022-05-20 21:30:41 +00:00
Ryan Pavlik 230424eec9 xrt: Add an XRT_INFINITE_DURATION define
Matches XR_INFINITE_DURATION
2022-05-20 21:30:41 +00:00
Ryan Pavlik 588b4831a2 a/util: Improve docs structure 2022-05-20 15:48:19 -05:00
Ryan Pavlik fd25fc75bc a/os: Rearrange time header to get the docs outside of the ifdefs.
Easier to read, easure to be sure we don't accidentally miss something
for doxygen.
2022-05-20 15:48:02 -05:00
Jakob Bornecrantz 875815b55b c/main: Init comp_base as early as possible 2022-05-20 19:06:14 +01:00
Ryan Pavlik ea4c14c3aa a/os: Rename os_thread_helper_stop to os_thread_helper_stop_and_wait 2022-05-20 18:46:37 +01:00
Ryan Pavlik 14aed90183 a/os: Add "initialized" flags to threading primitives (in debug builds)
Failling to init these (other than zero-init) works fine on Linux, but fails on Windows.
So now we at least have an assert on Linux.
2022-05-20 18:40:18 +01:00
Ryan Pavlik 1aba4348dc a/os: Fix naming convention for function pointer 2022-05-20 18:40:16 +01:00
Ryan Pavlik 4d9c3650cc c/multi: Unlock when multi system loop exits 2022-05-20 18:40:14 +01:00
Jakob Bornecrantz fee6809bc2 c/multi: Destroy threads instead of only stopping them 2022-05-20 18:40:11 +01:00
Christoph Haag aac68971c4 cmake: Fix service build with -DXRT_BUILD_DRIVER_QWERTY=OFF 2022-05-19 23:52:14 +00:00
Jakob Bornecrantz 6de4e4afaa u/worker: Init mutex and cond var 2022-05-19 23:13:48 +01:00
Mateo de Mayo 3e6fd9ba73 u/aeg: Fix clang warnings 2022-05-19 18:21:36 -03:00
Jakob Bornecrantz 03a6f079e0 t/common: Do not compile for builders when no driver is enabled 2022-05-19 15:51:06 +00:00
Jakob Bornecrantz 1c29b22cae st/oxr: Do not enable XR_EXT_debug_utils as it's not implemented yet 2022-05-19 14:32:06 +00:00
Mateo de Mayo 85bdbc1817 u/aeg: Implement state machine to correct overshooting and avoid oscillations 2022-05-19 14:03:17 +00:00
Mateo de Mayo bf311f3c2e u/aeg: Add log functions 2022-05-19 14:03:17 +00:00
Mateo de Mayo 63b477d250 a/math: Add MIN, MAX and CLAMP macros 2022-05-19 14:03:17 +00:00
Mateo de Mayo df5b5f40a9 d/wmr: Add auto exposure 2022-05-19 14:03:17 +00:00
Mateo de Mayo 77139b02a1 u/aeg: Add utility for automatic exposure and gain computation 2022-05-19 14:03:17 +00:00
Mateo de Mayo 7ea7cce930 u/var: Add u_var_histogram_f32 2022-05-19 14:03:17 +00:00
Mateo de Mayo 84422acd74 d/wmr: Centralize exposure and gain update logic
Also use the new draggable_u16 UI input for exposure.
2022-05-19 14:03:17 +00:00
Mateo de Mayo 7d266c76b5 u/var: Add u_var_draggable_u16 2022-05-19 14:03:17 +00:00
Ryan Pavlik e5b0840de3 t/common: Fix missing ifdef guard in target builder remote. 2022-05-18 10:37:04 -05:00
Ryan Pavlik fad9eb0e12 st/p: Fix mismatched prototype. 2022-05-18 10:36:49 -05:00
Arkadiusz Drohomirecki d444412221 a/math: Add a clear() method to RelationHistory/m_relation_history 2022-05-18 14:45:12 +00:00
Jakob Bornecrantz 4c6b3b4609 t/common: Fix instance get_prober function 2022-05-18 15:39:17 +01:00
Jakob Bornecrantz b68806956b st/oxr: Remove unused variable 2022-05-18 11:19:30 +01:00
Jakob Bornecrantz b180605ebe t/common: List the simulated device 2022-05-18 11:02:12 +01:00
Ryan Pavlik 4fb62a8d8f xrt: Word choice/clarity 2022-05-17 17:40:58 -05:00
Ryan Pavlik 0c6f342db3 tracking/hand: Word choice/clarity 2022-05-17 17:40:58 -05:00
Ryan Pavlik 54be3b958b targets: Word choice/clarity 2022-05-17 17:40:58 -05:00
Ryan Pavlik 825ec9f549 t/oxr: Improve word choice/clarity 2022-05-17 17:40:58 -05:00
Ryan Pavlik 894b5c955a st/steamvr_drv: Word choice/clarity 2022-05-17 17:40:58 -05:00
Ryan Pavlik 2f2405fc1f st/prober: Improve word choice/clarity 2022-05-17 17:40:58 -05:00
Ryan Pavlik a25bb73921 st/oxr: Word choice/clarity 2022-05-17 17:40:58 -05:00
Ryan Pavlik 26b522d1d2 st/gui: Improve word choice/clarity 2022-05-17 17:40:58 -05:00
Ryan Pavlik 45263ea8de prober: word choice/clarity 2022-05-17 17:40:58 -05:00
Ryan Pavlik 7f600569e7 ipc: Word choice/clarity 2022-05-17 17:40:58 -05:00
Ryan Pavlik 6706180cd8 drivers: Improve word choice/clarity 2022-05-17 17:40:58 -05:00
Ryan Pavlik ba42730af3 compositor: Improve word choice/clarity 2022-05-17 17:40:58 -05:00
Ryan Pavlik 25cb2e1790 c/render: Improve word choice/clarity 2022-05-17 17:40:58 -05:00
Ryan Pavlik 973b8f3b7f c/main: Improve word choice/clarity 2022-05-17 17:40:58 -05:00
Ryan Pavlik 0730f08f2d c/client: Improve word choice/clarity 2022-05-17 17:40:58 -05:00
Ryan Pavlik 3b54152563 auxiliary: Improve word choice/clarity 2022-05-17 17:40:56 -05:00
Ryan Pavlik 6e78ec1127 a/util: Improve word choice/clarity 2022-05-17 17:39:52 -05:00
Ryan Pavlik 276f24c9ad a/tracking: Improve word choice/clarity 2022-05-17 17:39:52 -05:00
Ryan Pavlik 2a54dcdb19 a/math: Improve word choice/clarity 2022-05-17 17:39:52 -05:00
Ryan Pavlik 56a1c25378 d/simulated: Rename the simulated device driver. 2022-05-17 17:39:52 -05:00
Ryan Pavlik df413a3809 d/ht: Fix doxygen warnings 2022-05-17 14:42:02 -05:00
Ryan Pavlik 0e4f40c980 d/wmr: Fix doxygen warning 2022-05-17 14:42:02 -05:00
Ryan Pavlik d5bed66734 c/render: Docs improvements 2022-05-17 14:42:02 -05:00
Ryan Pavlik 7af6a78e54 c/client: doc and naming convention improvements 2022-05-17 14:42:02 -05:00
Ryan Pavlik 9edc6dd0bf a/util: Doc improvements 2022-05-17 14:42:02 -05:00
Ryan Pavlik cc8c034556 a/vk: Improve comment 2022-05-17 14:42:02 -05:00
Ryan Pavlik 507be96326 xrt: Improve docs, fixing doxygen warnings 2022-05-17 19:30:40 +00:00
Ryan Pavlik 6bd18ecb38 st/oxr: Clean up swapchain usage 2022-05-17 19:30:40 +00:00
Jakob Bornecrantz 61323c32d2 xrt: Use error messages in various instance and prober functions 2022-05-17 20:10:40 +01:00
Jakob Bornecrantz 58438db241 xrt: Add some error messages 2022-05-17 20:10:40 +01:00
Jakob Bornecrantz cf9c5b9dc7 u/var: Put in a namespace and add some documentation 2022-05-17 20:09:19 +01:00
Ryan Pavlik 8cb26df99d c/multi: Name some threads 2022-05-17 12:39:44 -05:00
Ryan Pavlik e33a9b3481 c/main: Name some threads 2022-05-17 12:39:44 -05:00
Ryan Pavlik e123a50438 comp/multi: Name the multi-system-compositor thread. 2022-05-17 12:39:44 -05:00
Ryan Pavlik 8bd7d199cb a/os: Improve docs in the threading header. 2022-05-17 12:39:44 -05:00
Ryan Pavlik 1e307e8e9f a/os: Add a function to set thread name. 2022-05-17 12:39:44 -05:00
Ryan Pavlik 147624348f a/vk: Add an internal check to ensure graphics buffer ref worked. 2022-05-17 17:38:07 +00:00
Jakob Bornecrantz 9285bee210 u/system_helpers: Use new xrt_prober_create_system function 2022-05-17 11:20:40 +01:00
Jakob Bornecrantz 3357cd4400 t/common: Add a few builders 2022-05-17 11:20:40 +01:00
Jakob Bornecrantz f91db16dac u/builders: Add xrt_builder_helpers 2022-05-17 11:20:40 +01:00
Jakob Bornecrantz 46c6412cc5 st/prober: Implement xrt_builder functionallity 2022-05-17 11:20:40 +01:00
Jakob Bornecrantz 850527adc5 xrt: Add system builders and update xrt_prober interface
Aka setter uppers.
2022-05-17 11:20:40 +01:00
Jakob Bornecrantz 82e2ce6390 st/oxr: Fix crash when there is no optional extension in the list 2022-05-16 21:18:23 +00:00
Frederic Plourde 2e42373d21 aux/os: Fix os_semaphore_get_realtime_clock()
Function was previously using output param 'ts' as
input for computing 'now' internally.
2022-05-16 20:56:53 +00:00
Moses Turner 8ac95a5177 d/ht: Add some things to the WMR creation interface, and make it the default interface. 2022-05-16 19:15:33 +01:00
Ryan Pavlik 2f457d0665 build: Search for DXGI and WinRT (WindowsApp) libraries 2022-05-16 11:00:27 -05:00
Ryan Pavlik 213f4b6003 a/util: Add a COM guard object.
Need COM initialized to do some things (like d3d11) on Windows,
don't know if the app already initialized it, don't have a big preference
for "how" we initialize it.
2022-05-16 11:00:27 -05:00
Ryan Pavlik 46a3c7b039 build: Look for WIL (Windows Implementation Library)
Also define XRT_HAVE_WIL if we have it.
2022-05-16 11:00:27 -05:00
Moses Turner bd0d24ad5c mercury: Hopefully fix 1DOF joint limiting 2022-05-16 16:09:32 +01:00
Moses Turner 0aadc85a79 mercury: Initialize variables
Caused heisencrashes sometimes.
2022-05-16 16:03:18 +01:00
Moses Turner 85f30f48c6 mercury: Correctly handle lower resolution input images
And better calibration debug prints
2022-05-16 16:03:18 +01:00
Jakob Bornecrantz 85d4a72d0f d/psmv: Fix NULL check 2022-05-15 21:40:26 +01:00
Jakob Bornecrantz 0201274764 c/render: Drop s from interface file for consistant naming 2022-05-15 18:04:45 +01:00
Jakob Bornecrantz f4ab51f78b u/pp: Add xrt_result_t printing 2022-05-15 15:02:08 +01:00
Jakob Bornecrantz 535cb839fa u/pp: Add stack only sink for printing messages 2022-05-15 14:54:00 +01:00
Jakob Bornecrantz 6a2426c0a2 d/psmv: Refactor device creation in preperation of builders 2022-05-15 14:45:01 +01:00
Jakob Bornecrantz ddb142564f d/psvr: Refactor device creation in preperation of builders 2022-05-15 14:45:01 +01:00
Jakob Bornecrantz 23ed0a6632 xrt: Remove unused xdev argument to trackers 2022-05-14 22:40:36 +01:00
Mateo de Mayo 4e20384f11 gui: Make imgui.ini file live in config directory 2022-05-14 16:46:20 -03:00
Moses Turner bcfd50c839 u/sink: Make sure gen-locked frames have the same timestamp 2022-05-13 14:18:02 +01:00
Jakob Bornecrantz 2e8d1f9b34 ipc: Set xdev_count on xrt_system_devices 2022-05-13 10:57:28 +01:00
Moses Turner 5122ecd0b0 d/dai: Fisheye calibration was upstreamed, actually use it now 2022-05-12 20:01:15 +00:00
Jakob Bornecrantz faca646193 u/logging: Change suffix to _func_t 2022-05-12 11:59:12 +00:00
Jakob Bornecrantz aeb11566cd xrt: Re-order things in xrt_prober 2022-05-12 11:59:12 +00:00
Jakob Bornecrantz 3a9ac6aa5d xrt: Move prober creation functions and struct last 2022-05-12 11:59:12 +00:00
Jakob Bornecrantz 116d1a9bf8 xrt: Typedefs have a _t suffix 2022-05-12 11:59:12 +00:00
Jakob Bornecrantz 126dbb540f xrt: Remove functions now living in helper code 2022-05-12 11:59:12 +00:00
Jakob Bornecrantz a38ea4231c d/vive: Use prober helper code 2022-05-12 11:59:12 +00:00
Jakob Bornecrantz b9d88f4eab d/wmr: Use prober helper code 2022-05-12 11:59:12 +00:00
Jakob Bornecrantz ceed09d9b5 u/prober: Add helper file for prober functions 2022-05-12 11:59:12 +00:00
Jakob Bornecrantz d76b1f5e9a st/prober: Remove last vestiges of hand tracking 2022-05-12 12:53:16 +01:00
Jakob Bornecrantz 1a358d3a92 u/sink: Remove unused downstream2 2022-05-12 12:53:14 +01:00
Jakob Bornecrantz fc093e2c7b u/sink: Assert on downstream being null 2022-05-12 12:53:12 +01:00
Jakob Bornecrantz add6cb639a st/gui: Fix crash if no instance have been created 2022-05-11 15:36:53 +01:00
Jakob Bornecrantz aafbaecbc9 xrt: Remove old unused instance functions 2022-05-11 10:49:15 +01:00
Moses Turner d6f62633e9 st/gui: Use xrt_system_devices struct and xrt_instance_create_system call
Includes fixes from Christoph Haag:

```
st/gui: Fix segfault when starting monado-gui without arguments
```

```
st/gui: Run gui_prober_select only in the modules that need a prober

This also speeds up starting up the monado-gui main menu.
```

Co-authored-by: Moses Turner <moses@collabora.com>
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
Co-authored-by: Christoph Haag <christoph.haag@collabora.com>
2022-05-11 10:49:15 +01:00
Jakob Bornecrantz 65aa7581d2 st/ovrd: Use xrt_instance_create_system 2022-05-11 10:49:15 +01:00
Jakob Bornecrantz 3c6bf7b912 st/oxr: Use xrt_instance_create_system 2022-05-11 10:49:15 +01:00
Jakob Bornecrantz 634d495301 ipc: Use and support xrt_instance_create_system 2022-05-11 10:18:35 +01:00
Jakob Bornecrantz d642848bb1 t/cli: Use xrt_instance_create_system call 2022-05-11 10:16:08 +01:00
Jakob Bornecrantz 1b8cbfd226 t/common: Implement xrt_instance_create_system call 2022-05-11 10:15:18 +01:00
Jakob Bornecrantz d84819eee7 u/system_helpers: Add helper code for system devices 2022-05-11 10:14:00 +01:00
Jakob Bornecrantz 224b473dba xrt: Add xrt_instance_create_system call 2022-05-11 10:11:43 +01:00
Jakob Bornecrantz d0d3e0cac8 xrt: Add xrt_system_devices struct 2022-05-11 10:10:38 +01:00
Jakob Bornecrantz ccfe8c8de0 c/main: Fix doxygen ref 2022-05-11 10:08:03 +01:00