Commit graph

4662 commits

Author SHA1 Message Date
Ryan Pavlik 0c8d78fe49 a/bindings: JSON schema for bindings 2023-03-01 17:10:48 +00:00
Ryan Pavlik 2d056e6606 a/math: Add comment for searching in the lever arm math. 2023-03-01 17:08:39 +00:00
Ryan Pavlik 66a303f809 st/oxr: Internal docs 2023-03-01 17:08:39 +00:00
Jan Schmidt 699a92d9f8 rift_s: Ignore the first 100 samples for the clock
After turning on the display, the Rift S
sends a burst of stale data and it can lead to
wildly incorrect clock estimates that then
recover really slowly and cause SLAM tracking to
lag horribly.

Throw away the first 100 samples, which seems to be
enough (only the first 20 or so seem to be bad).

Also reduce the clock a2b cutoff frequency, for
faster adaptation to changes.

Tested-By: Nova <technobaboo@gmail.com>
2023-03-01 17:08:09 +00:00
Ryan Pavlik f6ab734b2e a/math: Add floating point conversion methods to Rational 2023-03-01 10:53:18 -06:00
Jakob Bornecrantz 9a19a91f2d ipc: Refactor out common ipc_client_xdev 2023-02-28 21:27:56 +00:00
Jakob Bornecrantz a86cb86c80 st/oxr: Remove unused out_xdev argument 2023-02-28 21:27:53 +00:00
Jakob Bornecrantz 78f069a10d a/math: Make argument const 2023-02-28 21:27:19 +00:00
Ryan Pavlik f66d60cb2c aux/android: The Android XINA already always adds "sampled" 2023-02-28 13:56:58 -06:00
Jarvis Huang 9b2384f1fb t/android: Fix unable to connet to runtime if process is still alive 2023-02-28 19:38:41 +00:00
Jakob Bornecrantz 494e17e173 c/util: Filter Vulkan formats for AHardwareBuffer formats
Some drivers says that they can export/import Vulkan formats that doesn't
have a direct mapping to a AHardwareBuffer format. Our import/export code
doesn't handle that case so make sure to filter out those formats.
2023-02-28 16:05:39 +00:00
Jarvis Huang 5380b6c149 st/oxr: Use xrt_device_is_form_factor_available 2023-02-22 23:52:21 +00:00
Jarvis Huang 693641b70b ipc: Add support for xrt_device::is_form_factor_available 2023-02-22 23:52:21 +00:00
Jarvis Huang b93d1ea8b8 xrt: Add xrt_device::is_form_factor_available 2023-02-22 23:52:21 +00:00
Simon Zeni fdec80cd99 d/survive: add hand tracking pose offsets to controller 2023-02-22 23:51:50 +00:00
Simon Zeni 0402a1e1a0 aux/vive: add hand tracking values to vive_poses transforms 2023-02-22 23:51:50 +00:00
Fernando Innella 80a8048c39 c/render: Fix handling of alpha channel in compute layer renderer 2023-02-21 11:10:10 -05:00
Mateo de Mayo e9e0cf9f2c t/slam: Recover fallback measurements for systems without timing extension
Fixes #235
2023-02-18 13:49:56 +00:00
Mateo de Mayo b666b8b017 t/slam: Use accel for prediction by default
Before we were not doing this because we have a hardcoded gravity vector.
Due to this, if the IMU gravity is too different, it causes the prediction to
bounce around slightly.
In practice the difference seems to be sufficiently small so as to be almost
not noticeable and we get the latency improvements we get are probably worth it.
2023-02-17 15:31:59 -06:00
Mateo de Mayo 4ac9d985e5 st/steamvr_drv: Silence warning 2023-02-17 15:31:53 -06:00
Mateo de Mayo 5ba9efd522 t/euroc: Implement trajectory recording 2023-02-17 21:03:08 +00:00
Connor Smith 8b8358f0c9 Fix typo in Magic Leap 2 controller shoulder button path. 2023-02-17 15:05:41 -05:00
Moses Turner 3bfc87f76d (NFC) h/mercury: Fix typo 2023-02-16 17:03:17 -06:00
Moses Turner 8621acd899 d/ht, h/mercury: Use u_file_get_hand_tracking_models_dir
Needed for Windows SteamVR driver
2023-02-16 17:03:17 -06:00
Moses Turner 8b2d62cf57 a/util: Add u_file_get_hand_tracking_models_dir
Needed for Windows SteamVR driver
2023-02-16 17:03:15 -06:00
Moses Turner 266aec20e1 (NFC) h/mercury: Random nit in if case 2023-02-16 17:01:12 -06:00
Moses Turner 79701d8567 h/mercury: Remove __builtin_expect on MSVC 2023-02-16 17:01:12 -06:00
Moses Turner 3155765aed h/mercury: IWYU hg_image_distorter 2023-02-16 17:00:48 -06:00
Moses Turner b32ee5bbfb a/vive: Add extern "C" so we can use from C++
Needed for Windows SteamVR driver
2023-02-16 17:00:48 -06:00
Moses Turner 2835b597be a/tracking: Support JPEG output in euroc recorder 2023-02-16 16:53:13 -06:00
Moshi Turner 73416db7ba a/tracking: Remove break statement that broke OPENCV_RADTAN promotion/demotion 2023-02-13 11:30:44 -06:00
Ryan Pavlik 0b7c822007 a/bindings: Fix typos 2023-02-08 17:35:58 -06:00
Ryan Pavlik f32ed406d8 a/android,ipc/android: Fix typos 2023-02-08 17:35:49 -06:00
Ryan Pavlik a87fb2be93 a/tracking: Fix typo 2023-02-08 17:35:33 -06:00
Ryan Pavlik a51c2bcb1a d/rift_s: Fix typo 2023-02-08 17:35:22 -06:00
Ryan Pavlik 992066ea7e c/shaders: Fix typos 2023-02-08 17:35:14 -06:00
Christoph Haag 60b8b6e8fc a/binding: reverb g2 input/menu/click is on both hands
Spec:

On both hands
    …/input/menu/click
2023-02-07 11:27:39 +00: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
Daniel Willmott 795de613c1 d/survive: Add aim pose offset to index controllers 2023-02-05 20:19:52 +00:00
Daniel Willmott ab857e8f74 aux/vive: Add vive_poses 2023-02-05 20:19:52 +00:00
Daniel Willmott e383609cbc aux/math: Add math_quat_from_euler_angles() 2023-02-05 20:19:52 +00:00
Moses Turner e9f79c45bf h/mercury: Update hand tracking with new half-artificial model 2023-02-04 15:23:04 -06:00
Moses Turner bfdeaa7d8f a/tracking: Introduce t_camera_models.h 2023-02-04 15:23:04 -06:00
Mateo de Mayo 3cdc02c1bb a/vk: Small improvements
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-02-04 18:52:59 +00:00
Jakob Bornecrantz a8c4d1299e a/vk: Fix crash caused by different signedness comparisons
Closes #234.

All credit for debugging and figuring out what the problem is goes to Mateo, I
made a different fix for it.

Co-authored-by: Mateo de Mayo <mateo.demayo@collabora.com>
2023-02-04 18:52:35 +00:00
Mateo de Mayo 5b431152e1 t/common: Remove invalid parameter 2023-02-03 10:13:41 -03:00
Jakob Bornecrantz c7e3a358b3 c/main: Prettier print of VkSurfaceFormats 2023-02-02 20:50:42 +00:00
Jakob Bornecrantz e5b28c491a c/main: Refactor instance extension selection
Add also add VK_EXT_swapchain_colorspace
2023-02-02 20:50:42 +00:00
Jakob Bornecrantz a7f7023570 c/main: Add optional VK_KHR_format_feature_flags2 2023-02-02 20:40:20 +00:00
Jakob Bornecrantz 3a143cadd1 a/vk: Print more color space formats 2023-02-02 20:40:20 +00:00
Jakob Bornecrantz 7576ce0960 a/vk: Track VK_EXT_swapchain_colorspace 2023-02-02 20:40:20 +00:00
Jakob Bornecrantz b7addee249 a/vk: Track VK_KHR_format_feature_flags2 2023-02-02 20:40:20 +00:00
Jakob Bornecrantz 3dc0415374 ipc: Tidy client includes (NFC)
Fixes some clang-tidy warnings about duplicated includes.
2023-02-02 20:05:06 +00:00
Jakob Bornecrantz 0938a1a02b xrt: Fix missing function declaration without a prototype warnings
Found by clang-15.

src/xrt/auxiliary/math/m_permutation.c:133:15: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes]
m_do_the_thing()
              ^
               void
2023-02-02 13:03:08 +00:00
Patrick Nicolas 559e145934 c/main: Record pose used in compositor 2023-01-31 09:30:47 +00:00
Patrick Nicolas 7a0d87db25 c/main: Allow providing comp_target_factory in constructor 2023-01-31 09:30:47 +00:00
Guillaume Meunier 76dff0b42f ipc: make the pid filename, the socket filename, and the client library suffix customizable 2023-01-31 09:30:47 +00:00
Moses Turner 86e31f54f3 xrt: Refactor t_camera_calibration to use a tagged union instead of a bare array
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-01-30 17:09:27 -06:00
Jakob Bornecrantz 3b0f938028 d/simulated: Add builder 2023-01-30 13:20:57 +00:00
Jakob Bornecrantz d1b7e3e557 d/simulated: Add controllers
Supports simulating Simple, WinMR and ML2 controllers
2023-01-30 13:20:57 +00:00
Jakob Bornecrantz c562930cdc d/simulated: Export logging level 2023-01-30 13:20:57 +00:00
Jakob Bornecrantz 0494777d1a d/simulated: Make hmd center be pose and make it possible to pass it in at start 2023-01-30 13:20:57 +00:00
Jakob Bornecrantz 121bcf028a d/simulated: Make it possible to pass in movement mode
And a little bit of tidy.
2023-01-30 13:20:57 +00:00
Jakob Bornecrantz 06806cc6ef t/common: Tidy builder list 2023-01-30 13:20:57 +00:00
Jakob Bornecrantz 9b8de2f155 t/common: Sort builder definitions alphabetically 2023-01-30 13:20:57 +00:00
Jakob Bornecrantz 84ebd4d687 t/common: Add comment to NorthStar builder create function 2023-01-30 13:20:57 +00:00
Jakob Bornecrantz 17a14d5b10 t/cli: Add calib-dump command 2023-01-29 01:38:01 +00:00
Moses Turner 7d72b74a68 c/main: Make peek window struct private, and fix build with old SDL2 2023-01-28 12:47:57 -06:00
Jakob Bornecrantz 9bd63cb37d d/dai: It's using aux_util so depend on it 2023-01-27 20:17:27 +00:00
Moses Turner 1bba34e944 xrt: Remove old_rgb hand tracking 2023-01-27 12:37:33 -06:00
Moses 10cdde859a a/math, comp/main, comp/render: Change math_matrix_2x2_* to m_mat2x2_* 2023-01-27 12:37:22 -06:00
Moses Turner 7d8d1ad8e7 a/math: Add m_matrix_2x2_invert 2023-01-27 12:37:22 -06:00
Moses Turner da16e64982 a/math: Move m_matrix_2x2 functions into their own header 2023-01-27 12:37:22 -06:00
Moses Turner 2c73485ecd d/ht: Tidy header 2023-01-26 19:10:57 -06:00
Mateo de Mayo da50a2499f d/wmr: Adjust exposure and gain individually for each camera 2023-01-26 18:07:10 +00:00
Mateo de Mayo 60b996239c u/aeg: Add optional prefix for having multiple aeg UIs 2023-01-26 18:07:10 +00:00
Mateo de Mayo d22f58bee4 u/var: Add nested headers 2023-01-26 18:07:10 +00:00
Christoph Haag 6f263dbda4 a/vk: allow VkImageViewUsageCreateInfo in Vulkan 1.1
Some drivers do not advertise support for VK_KHR_maintenance2 in
Vulkan 1.1, because it has been promoted to core.

This caused a validation error on compositors that use Vulkan 1.1
because the scratch image is allocated with unorm format and STORAGE
usage: an image view with srgb format can not be created with STORAGE
usage on many GPUs.
2023-01-26 12:30:13 +00:00
Christoph Haag a188ef219c a/vk: Store vulkan version in vk_bundle
Also adds code in c/util's Vulkan code to store it.
2023-01-26 12:30:13 +00:00
Christoph Haag e7fff3e435 d/hdk: handle 0 bytes read 2023-01-26 00:23:18 +01:00
Christoph Haag bc1d355e26 d/hdk: Zero initialize buffer 2023-01-26 00:17:37 +01:00
Christoph Haag 4030b474ad d/hdk: Use 100 ms hid read timeout
Avoids burning cpu cycles with busy looping
2023-01-26 00:17:37 +01:00
Moses Turner c9405e946f t/common: Add environment variable for replacing RiftS controllers with hand tracking 2023-01-25 22:24:53 +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
Jakob Bornecrantz 6ce2978648 xrt: Add ML2 controller 2023-01-24 22:40:53 +00:00
Jakob Bornecrantz d231850771 xrt: Add Samsung Odyssey Controller 2023-01-24 22:40:53 +00:00
Jakob Bornecrantz 958911fd0b xrt: Add HP Reverb G2 Controller 2023-01-24 22:40:53 +00:00
Jakob Bornecrantz ed1f18bb74 xrt: More space in xrt_input_name enum list 2023-01-24 22:40:53 +00:00
Jakob Bornecrantz 213cc271f6 xrt: Sort xrt_device_name enums 2023-01-24 22:40:53 +00:00
Jakob Bornecrantz da5323642d m/space: Correct comments 2023-01-24 16:11:56 +00:00
Jakob Bornecrantz c7fdaacd02 m/space: Make sure to use valid poses in linear and angular calculations 2023-01-24 16:11:56 +00:00
Jakob Bornecrantz f7118d7a93 m/space: Refactor pose part first 2023-01-24 16:11:56 +00:00
Jakob Bornecrantz 02aad19c78 m/space: Make pose validity upgrading clearer 2023-01-24 16:11:56 +00:00
Jakob Bornecrantz 2c1d413bf0 m/space: Add missing extern "C" 2023-01-24 16:11:56 +00:00
Jakob Bornecrantz 1c046dc523 m/space: Move functions to correct section 2023-01-24 16:11:56 +00:00
Robbie Bridgewater 17560d0618 a/util,st/gui: Add i64 as a debug GUI type 2023-01-24 15:35:39 +00:00
Fernando Velazquez Innella e035d060d1 c/render: implement render_resources_get_duration
Useful for systems that don't support calibrated timestamps and caseas where only execution time measuring is needed.
2023-01-24 15:35:31 +00:00
Ryan Pavlik 85a897a0b5 a/d3d,a/vk,c/client,ipc: D3D Depth texture / DXGI handle support
a/d3d: Improve allocation

Enable D3D11 and D3D112 depth images using DXGI handles

Allow D3D depth by default

D3D: only use DXGI handles

NT handles don't support depth formats and may fail to properly interop with Vulkan with some image dimensions.

Removed D3D_COMPOSITOR_ALLOW_DEPTH env.
D3D now always imports depth.

Added authorship.

Format pass

Fix D3D compositor tests

ipc: Fix HANDLE bit twiddling code

Merge into commits related to D3D depth changes. Makes the code compile
as C++, useful for Windows traceing

Co-authored-by: Robbie Bridgewater <ebridgewater@magicleap.com>
Co-authored-by: Fernando Velazquez Innella <finnella@magicleap.com>
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-01-24 15:35:22 +00:00