Moses Turner
f5bc81756e
d/survive: use controller emulation for hand-tracking
2021-11-30 05:56:57 -06:00
Moses Turner
0214937aa0
d/vive: use controller emulation for hand-tracking
2021-11-30 05:56:57 -06:00
Moses Turner
03359e2bfb
d/ht_ctrl_emu: Create the driver
2021-11-30 05:56:57 -06:00
Moses Turner
8cde257817
aux/math: add vec3 overloads for scalar multiplication
2021-11-29 23:23:57 -06:00
Nima01
bdf96d6810
d/wmr: Decode and handle controller buttons, thumbstick and trackpad.
2021-11-27 04:31:13 +01:00
Jan Schmidt
ce03824824
d/wmr: Comment updates for wmr_protocol.h
...
Improve the descriptions of some pieces of the WMR
protocol
2021-11-25 23:33:55 +11:00
Jan Schmidt
7f392936c6
d/wmr: Report frame source_sequence and source_timestamp
...
Extract timestamp in source 100ns units and convert to
nanoseconds, then place them in the emitted xrt_frames.
Unwrap the 8-bit frame sequence counter to 64-bits, and
add that too.
Add some comments and debug for other fields in the
incoming data.
2021-11-25 23:33:55 +11:00
Jan Schmidt
0fab912c5c
d/wmr: Add debug gain control
...
Add a control to the debug UI for adjusting the
camera gain setting when testing.
2021-11-25 20:05:10 +11:00
Simon Zeni
a090655e16
d/ht: remove old ht_models API
2021-11-24 16:42:56 -05:00
Simon Zeni
ee45be6f7b
d/ht: use new ht_model API
2021-11-24 16:42:56 -05:00
Simon Zeni
0e53b3b87f
d/ht: introduce ht_model
2021-11-24 16:42:56 -05:00
Simon Zeni
e84d948fb4
d/ht: blackar takes const input
2021-11-24 16:42:56 -05:00
Simon Zeni
32330d467c
d/ht: planarize takes const input
2021-11-24 16:42:56 -05:00
Jakob Bornecrantz
986cde6750
cmake: Build the IPC irrespectively of the service or not
2021-11-24 21:30:01 +00:00
Jakob Bornecrantz
63701511eb
d/wmr: Tidy
2021-11-24 17:12:19 +00:00
Jakob Bornecrantz
0bd38a0a0d
c/render: Error on failing to get memory type
2021-11-24 17:05:13 +00:00
Christoph Haag
01c6e4ed28
d/wmr: make wmr_config_key static
...
OpenHMD has a global variable wmr_config_key too which is exported in some
build configurations, causing Monado to fail linking openhmd and the wmr
driver together.
2021-11-24 14:36:55 +00:00
Christoph Haag
22d9d97e61
st/oxr: fix finding profiles for device
...
fixes 6627049af3
2021-11-24 01:36:25 +01:00
Christoph Haag
821c7f0f7a
st/oxr: Don't create interaction profile in xrGetInputSourceLocalizedName
...
oxr_instance::oxr_interaction_profile is used to bind interaction profiles
available on the assigned device to interaction profiles suggested by the
application.
Creating an interaction profile that has not been suggested might interfere
with the binding code.
xrGetInputSourceLocalizedName can only be called after the action sets are
attached, meaning all the interaction profiles must have already been
suggested.
2021-11-24 01:34:13 +01:00
Christoph Haag
1a9e0750c7
st/oxr: document oxr_instance::oxr_interaction_profile
2021-11-24 01:34:13 +01:00
Christoph Haag
a1c00e14fd
st/oxr: Implement a basic version of XR_FB_display_refresh_rate
2021-11-22 20:44:18 +00:00
Christoph Haag
eae7231f83
st/oxr: Add XR_FB_display_refresh_rate ext to script
2021-11-22 20:44:18 +00:00
Jakob Bornecrantz
3f98ea5595
xrt: Tidy s/ll/log_level/g
...
Also make sure all variable logging uses the right type for logging variables.
2021-11-22 14:29:10 -06:00
Christoph Haag
431857dd16
d/ohmd: use os_nanosleep for delay_after_initialization
2021-11-22 00:45:08 +01:00
Christoph Haag
8a4a09bb1b
d/ohmd: Remove duplicate delay_after_initialization code
2021-11-22 00:40:13 +01:00
Jakob Bornecrantz
839ada7115
d/wmr: Add more to the I/O
2021-11-20 18:54:16 +00:00
Jakob Bornecrantz
7fa3109e2a
d/wmr: Minimum to bind and return a pose
2021-11-20 17:44:34 +00:00
Jakob Bornecrantz
673ac5ee6c
d/wmr: Add support for Samsung Odyssey controllers
2021-11-20 17:33:25 +00:00
Ryan Pavlik
27a8ec675b
a/util: Add utility for lists of strings, like extension lists.
2021-11-20 17:21:02 +00:00
Jakob Bornecrantz
ea38309c86
d/wmr: Bracemaggedon
2021-11-20 15:37:15 +00:00
Jakob Bornecrantz
50e0e7783e
d/wmr: Shuffle and group things in camera file
2021-11-20 15:00:02 +00:00
Jakob Bornecrantz
85f79f935b
d/wmr: Tidy
2021-11-20 15:00:02 +00:00
Jakob Bornecrantz
1441453d5f
d/wmr: Add log level to variable tracking
2021-11-20 13:54:51 +00:00
Jakob Bornecrantz
4329b755a9
d/wmr: Document camera start and constify argument
2021-11-20 13:50:54 +00:00
Jakob Bornecrantz
16c75e7cc7
d/wmr: Tidy variable tracking
2021-11-20 13:29:24 +00:00
Jan Schmidt
733d463ec4
d/wmr: Use proximity sensor value in IPD message.
...
The first byte after the packet ID toggles when
the proximity sensor is activated.
2021-11-20 12:52:45 +00:00
Jan Schmidt
5efe0da713
d/wmr: Handle 0x17 packets
...
Add a debug report for 0x17 packets on Reverb G2 that
report controller statuses. The statuses seen so far
are 0x0 for unpaired, 0x1 for paired but offline, and
0x2 for online. Paired reports provide VID and PID for the
associated motion controller.
2021-11-20 12:52:45 +00:00
Jan Schmidt
7b95755f07
d/wmr: Implement bluetooth debug message handling
...
Handle the debug message packet from the bluetooth
interface on the HP G2. There might be other packet
types, but that's the only one I've seen so far.
2021-11-20 12:52:45 +00:00
Jan Schmidt
e0b5070f49
d/wmr: Rename controller related packets
...
Rename the controller and bluetooth related packets
according to their usage, and split out the
controller update handling function.
2021-11-20 12:52:45 +00:00
Jan Schmidt
e18288cc57
d/wmr: Ignore all other packets when reading config
...
Any other WMR packets can arrive while we're reading the
config block - ignore all of them, not just a few. Fixes
config reading failures.
2021-11-20 12:52:45 +00:00
Jan Schmidt
a14d6f1c2b
d/wmr: Parse and log HMD debug messages
2021-11-20 12:52:45 +00:00
Jan Schmidt
6bb2972443
d/wmr: Set default camera gain
...
Add API for gain control on headset cameras,
and use it to set a mid-range default exposure gain
2021-11-20 12:52:45 +00:00
Jan Schmidt
0da1bd74ce
d/wmr: Debug output for camera frames
...
Compute the frame size required for the cameras on a given
headset.
Copy the pixels out into an xrt_frame, then send it
to a debug sink - one for SLAM tracking exposures, and
1 for controller frames.
Based on a patch by Jakob Bornecrantz
2021-11-20 12:52:45 +00:00
Jan Schmidt
5fe935a5b0
d/wmr: Add camera reading loop
...
Calculate and configure USB transfers to read the
cameras on a WMR headset. Needs more work to
make use of the received frames.
2021-11-20 12:52:45 +00:00
Jan Schmidt
e422be89fa
d/wmr: Add camera configuration block parsing
...
Read camera configuration info from the HMD JSON
block
2021-11-20 12:52:45 +00:00
Jan Schmidt
7fb94889a8
d/wmr: Fix a small lock handling mistake
...
In the wmr handling thread, make sure lock
handling is symmetrical in all code paths.
2021-11-20 12:52:45 +00:00
Moses Turner
cef025a546
Revert "st/oxr: fix building on linux with OPENGL_GLX OFF"
...
This reverts commit d20f8f4363
2021-11-20 00:11:06 +00:00
Jakob Bornecrantz
be5b9c9d88
st/gui: Prober or tracking is no longer needed for debug sink
2021-11-19 14:38:31 +00:00
Jakob Bornecrantz
6627049af3
st/oxr: Don't hardcode profiles for devices
2021-11-19 14:38:31 +00:00
Jakob Bornecrantz
974f42f068
st/oxr: Debug print devices
2021-11-19 14:26:44 +00:00
Jakob Bornecrantz
a56ea7cad6
c/multi: Fix copy-pasto
2021-11-18 20:14:05 +00:00
Nima01
e536a02b33
d/wmr: Factor out parsing of controller messages and minor cleanup.
2021-11-18 17:19:07 +00:00
Nima01
c4db3dfccc
d/wmr: Add basic Reverb (G1, Bluetooth) motion controller support.
2021-11-18 17:19:07 +00:00
Nima01
acd8a0986e
d/wmr: Prepare for WMR motion controller driver - Change ambiguous names and traces.
2021-11-18 17:19:07 +00:00
Jan Schmidt
760e8dd3ad
meson: Add GStreamer recording support
2021-11-19 04:05:40 +11:00
nima01
70263a6b16
c/util: Use GPU index specified by XRT_COMPOSITOR_FORCE_CLIENT_GPU_INDEX
2021-11-18 14:14:32 +00:00
Ryan Pavlik
0a9b098a37
cmake: Build fix re SDL on some systems
2021-11-17 10:09:57 -06:00
Antonio Ospite
14cc4f1ba2
d/v4l2: fix building with older linux kernel like 4.15
...
Older linux kernels like 4.15 don't have V4L2_CID_DIGITAL_GAIN or
V4L2_CTRL_FLAG_MODIFY_LAYOUT, add conditional guards to build
successfully on systems with such kernels.
2021-11-13 13:48:00 +00:00
Jakob Bornecrantz
79ec1bd695
d/wmr: Add basic support for Samsung Odyssey+
...
Display start-up sequence still probably needed.
2021-11-13 12:36:25 +00:00
Ryan Pavlik
9a41a1a8be
d/ulv2: Improve source docs
2021-11-13 12:29:58 +00:00
Ryan Pavlik
0fa5876a5c
drivers: Add references to xrt_prober_found_function_t in all relevant docs
2021-11-13 12:29:58 +00:00
Ryan Pavlik
3a22c74aa6
xrt: Update some xrt_device docs
2021-11-13 12:29:58 +00:00
Ryan Pavlik
b5bcea758d
xrt: Rename a prober-related define that wasn't namespaced.
2021-11-13 12:29:58 +00:00
Ryan Pavlik
46fdb32991
xrt: Factor out a function pointer type for the prober "found" functions.
2021-11-13 12:24:15 +00:00
Antonio Ospite
d20f8f4363
st/oxr: fix building on linux with OPENGL_GLX OFF
...
When building on linux and OPENGL_GLX OFF compilation fails with the
following error:
-----------------------------------------------------------------------
../../state_trackers/oxr/libst_oxr.a(oxr_session_gfx_gl.c.o): In function `oxr_session_populate_gl_xlib':
oxr_session_gfx_gl.c:(.text+0x5c): undefined reference to `xrt_gfx_provider_create_gl_xlib'
collect2: error: ld returned 1 exit status
src/xrt/targets/openxr/CMakeFiles/openxr_monado.dir/build.make:126: recipe for target 'src/xrt/targets/openxr/libopenxr_monado.so' failed
make[2]: *** [src/xrt/targets/openxr/libopenxr_monado.so] Error 1
CMakeFiles/Makefile2:2490: recipe for target 'src/xrt/targets/openxr/CMakeFiles/openxr_monado.dir/all' failed
make[1]: *** [src/xrt/targets/openxr/CMakeFiles/openxr_monado.dir/all] Error 2
Makefile:145: recipe for target 'all' failed
make: *** [all] Error 2
-----------------------------------------------------------------------
Apparently the gl_xlib backend really depends on GLX specifically, so
fix the issue by reflecting that in the conditionally compiled blocks.
2021-11-13 12:16:29 +00:00
Ryan Pavlik
185bf61dd8
comp: Migrate num_ to _count
2021-11-13 12:04:38 +00:00
Ryan Pavlik
2e323add6f
drivers: Migrate num_ to _count
2021-11-13 12:04:38 +00:00
Ryan Pavlik
4957f6577f
st/p: Migrate num_ to _count
2021-11-13 12:04:38 +00:00
Ryan Pavlik
dfa0aba496
aux: Migrate num_ to _count
2021-11-13 12:04:38 +00:00
Ryan Pavlik
469b9d907d
st/oxr: Rename all num_ in the state tracker, too.
2021-11-13 12:04:38 +00:00
Ryan Pavlik
33c0287f8b
xrt: Rename all "num" parameters and fields to "count" (or "capacity" as appropriate)
...
This matches the OpenXR usage: the array is the plural of the element type,
and the count is the singular element type plus "count" (usually CountOutput
because of the two-call idiom)
Includes fixes to other code to match API changes.
2021-11-13 12:04:38 +00:00
Ryan Pavlik
5e55b9d992
xrt: Prober docs.
2021-11-13 12:04:38 +00:00
Mateo de Mayo
b94b7d1f52
u/json: Implement C++ wrapper for cJSON
2021-11-12 15:33:06 -03:00
Mateo de Mayo
87a1198b0a
misc: Address compilation warnings and fix u_json_get_bool
2021-11-12 15:33:06 -03:00
Ryan Pavlik
cc4007a69e
cmake: Substantial cleanups and simplifications
...
We now have a cmake-format config file.
We no longer use list variables for sources, instead using
target_sources when we need to add, in accordance with current
best practice. (This makes it a lot easier to edit too.) There's no more
include_directories(), add_definitions(), or other gently-deprecated
directory-scoped commands, nor any CMake scripts that include
a parent directory reference (named targets instead)
2021-11-12 09:48:37 -06:00
Ryan Pavlik
19947a2d27
cmake: Refactor how we build imgui
2021-11-12 09:38:50 -06:00
Jakob Bornecrantz
62ca16c70e
a/math: Make sure it's safe to pass in the result as either left or right
2021-11-12 10:27:54 +00:00
Ryan Pavlik
b180b244e3
st/oxr: Populate oxr_system's blend modes list from the system compositor, not the device.
2021-11-12 03:05:10 +00:00
Ryan Pavlik
201765d3a7
comp: Populate blend mode list in system compositor info from device
2021-11-12 03:05:10 +00:00
Ryan Pavlik
cd5ac5f1c9
xrt: Support multiple blend modes in system compositor info
2021-11-12 03:05:10 +00:00
Jakob Bornecrantz
7ecf649ac2
c/render: Use new Vulkan helpers
2021-11-10 14:22:28 +00:00
Jakob Bornecrantz
e8b0ab3b35
aux/vk: Add many more helper functions
2021-11-10 14:22:28 +00:00
Jakob Bornecrantz
5554b0fa00
st/prober: Fix warning and tidy code
2021-11-10 11:32:54 +00:00
Ryan Pavlik
35d7e85266
a/vk: Return of the justification and function rename
2021-11-09 15:36:24 -06:00
Ryan Pavlik
b816c08141
a/vk: Add to the file comments mentioning the script.
2021-11-09 11:05:15 -06:00
Ryan Pavlik
8a56046c1d
a/vk: Also generate the extension list/checking
2021-11-09 11:05:15 -06:00
Ryan Pavlik
9fc992d540
a/vk: Normalize member names in extensions
2021-11-09 11:05:15 -06:00
Ryan Pavlik
01c02897dc
a/vk: Update vulkan files: generate from script
2021-11-09 11:05:15 -06:00
Nima01
2a1e6debfb
st/prober: Support for querying of 'Product name' from Bluetooth devices.
2021-11-09 01:10:20 +00:00
Jakob Bornecrantz
a081bacc5d
aux/vk: Guard vkSignalSemaphore with VK_KHR_timeline_semaphore
2021-11-08 17:36:58 +00:00
Jakob Bornecrantz
4c4e30d875
aux/vk: Add more functions
2021-11-08 17:21:31 +00:00
Ryan Pavlik
fa308848ab
android: Update source link for licenses
2021-11-08 09:45:00 -06:00
Moses Turner
c1d4314aad
d/ht: move DEBUG_GET_ONCE_LOG_OPTION to ht_driver.cpp (NFC)
...
Fixes an annoying warning.
2021-11-08 08:11:26 -06:00
Simon Zeni
49d2d81940
d/ht: split ht_algorithm into source and header
2021-11-08 13:56:37 +00:00
Simon Zeni
39bc129564
d/ht: split ht_models into source and header
2021-11-08 13:56:37 +00:00
Simon Zeni
7618a7e34d
d/ht: split ht_nms into source and header
2021-11-08 13:56:37 +00:00
Simon Zeni
83630efc3d
d/ht: split ht_image_math into source and header
2021-11-08 13:56:37 +00:00
Simon Zeni
44b46a28bf
d/ht: split ht_hand_math into source and header
2021-11-08 13:56:37 +00:00
Jakob Bornecrantz
f10951b5ac
t/openxr: Only link against qwerty driver if built
2021-11-08 13:07:22 +00:00
Jakob Bornecrantz
551c1f19a9
st/prober: Depend on VF driver since we refer to it directly
2021-11-08 13:07:22 +00:00
Jakob Bornecrantz
42b0361852
c/main: Use Vulkan helper in util
2021-11-07 15:14:04 +00:00
Jakob Bornecrantz
7703b7104b
c/main: Tidy extensions
2021-11-06 10:51:19 +00:00
Jakob Bornecrantz
a97523591f
c/util: Add Vulkan helper
2021-11-06 10:51:19 +00:00
Jakob Bornecrantz
2a536f17d1
cmake: Remove missed source array
2021-11-05 15:56:14 +00:00
Jakob Bornecrantz
56b5918d69
c/main: Fix tab CVK_ERROR macro
2021-11-04 20:57:55 +00:00
Jakob Bornecrantz
c912c67dc6
c/main: Use comp_base
2021-11-04 20:57:53 +00:00
Jakob Bornecrantz
a1b515616a
c/render: Documentation
2021-11-04 20:56:21 +00:00
Jakob Bornecrantz
6e28533bdc
c/render: Break out into own library
2021-11-04 20:56:21 +00:00
Jakob Bornecrantz
e08c1b1f04
c/util: Add comp_base native compositor helper base class
2021-11-04 20:56:21 +00:00
Jakob Bornecrantz
c3b8810bb0
c/util: Documentation
2021-11-04 20:56:20 +00:00
Jakob Bornecrantz
029031cfd3
c/util: Break out swapchain and sync into own library
2021-11-04 20:55:48 +00:00
Jakob Bornecrantz
78936d2b4e
c/main: Use get_vk more
2021-11-04 20:54:11 +00:00
Jakob Bornecrantz
c6031a26e8
c/main: Refactor fence to be more independent
2021-11-04 20:46:09 +00:00
Jakob Bornecrantz
293d617dd5
c/main: Refactor swapchain to be more independent
2021-11-04 20:46:03 +00:00
Ryan Pavlik
3bd0a07aa2
cmake: Split out finding GLX from the rest of OpenGL on Linux.
...
Fixes #132 .
2021-11-04 15:36:58 +00:00
Ryan Pavlik
15c8414155
cmake: Un-nest a conditional
2021-11-04 15:36:58 +00:00
Jakob Bornecrantz
36765256a6
c/render: Free command buffer when closing rendering
2021-11-03 23:10:47 +00:00
Ryan Pavlik
4759ddda63
ipc: Fix it's vs its
2021-11-03 17:29:13 -05:00
Ryan Pavlik
9ab69a2c99
d/arduino/device: Fix it's vs its
2021-11-03 17:28:56 -05:00
Ryan Pavlik
85dab57936
a/util: Fix some it's vs its
2021-11-03 17:28:41 -05:00
Ryan Pavlik
7a26a2339b
comp: Fix some it's vs its.
2021-11-03 17:28:17 -05:00
Ryan Pavlik
afc2af549f
xrt: Improve docs for ref-counting functions.
2021-11-03 17:27:56 -05:00
Ryan Pavlik
334bd83619
a/tracking: Fix some it's vs its and other minor doc tweaks
2021-11-03 17:27:36 -05:00
Ryan Pavlik
f4b61d9e41
a/os: Fix some it's vs its.
2021-11-03 17:24:17 -05:00
Ryan Pavlik
a6ae6eb095
a/math: Fix some it's vs its.
2021-11-03 17:23:51 -05:00
Ryan Pavlik
86c7a27156
a/tracking: Fix doxygen warnings about invalid link requests
2021-11-03 17:13:38 -05:00
Ryan Pavlik
ebde5344a1
cmake: Make compilation of the sample driver optional.
2021-11-03 17:04:05 -05:00
Ryan Pavlik
55d16046eb
doc: Update driver writing documentation
2021-11-03 17:04:02 -05:00
Ryan Pavlik
33e367ee42
drivers: Add a sample driver intended for use as a template.
2021-11-03 17:00:28 -05:00
Ryan Pavlik
e2c6fbdd9a
cmake: Inline lists of sources for drivers, per current best practice
2021-11-03 17:00:28 -05:00
Jakob Bornecrantz
ec9cfa690d
c/render: s/rts/rtr/g
2021-11-03 13:28:15 +00:00
Jakob Bornecrantz
12bfc8b5c9
c/render: Do not depend on the compositor
2021-11-03 13:26:42 +00:00
Jakob Bornecrantz
c346d812c7
c/render: Add helpers to access the vk_bundle
2021-11-03 13:25:15 +00:00
Jakob Bornecrantz
648f49f4ef
c/render: Change argument order to object first
2021-11-03 13:25:15 +00:00
Jakob Bornecrantz
ccc4bbcf86
c/render: Remove unused disable_atw argument
2021-11-03 13:25:15 +00:00
Jakob Bornecrantz
56f4466ffa
c/render: Move shaders to render
2021-11-03 13:25:15 +00:00
Jakob Bornecrantz
8c8d72647b
c/render: Refactor out timewarp matrix into util file
2021-11-03 13:25:15 +00:00
Jakob Bornecrantz
60024efba9
c/render: If we only have a projection layer skip the layer renderer
2021-11-03 13:25:14 +00:00
Jakob Bornecrantz
4ca35b8b3c
c/render: Don't cache comp_rendering
2021-11-03 13:24:20 +00:00
Jakob Bornecrantz
847e322fe5
c/render: Remove stub function decls
2021-11-02 20:19:05 +00:00
Jakob Bornecrantz
d8a580d875
c/render: Tidy compute rendering
2021-11-02 20:19:05 +00:00
Jakob Bornecrantz
f74812f02e
c/render: Refactor rendering code so target data is it's own struct.
2021-11-02 20:19:05 +00:00
Jakob Bornecrantz
08135b6365
c/shaders: Tidy and codestyle
2021-11-02 20:19:05 +00:00
Jakob Bornecrantz
0b9bf9c772
c/main: Do not go via target for compositor
2021-11-02 20:19:05 +00:00
Jakob Bornecrantz
765feb6fe1
c/main: Refactor mesh descriptor and UBO upload
2021-11-02 20:19:05 +00:00
Moses Turner
67430358c2
ipc: add a newline at the end of ipc_protocol_generated.h (NFC)
2021-11-01 18:01:40 -05:00
Simon Zeni
c67587c066
d/ht: improve anchor data for hand detector
2021-11-01 17:54:26 -05:00
Jason McNew
fd065cca6e
d/wmr: Fix segfault if unsupported HoloLens Sensors device is present.
2021-10-31 17:07:55 +00:00
Jakob Bornecrantz
c8ee075b8d
ipc/server: Add error messages for init failures
2021-10-28 22:58:44 +00:00
Mario Kleiner
a6185490e8
c/direct: Fix direct display RandR leased output on multi-X-Screen.
...
The old code assumes the HMD is always connected to a RandR
output on X-Screen 0, but this is not neccessarily the case
on multi-X-Screen setups. Use a loop to iterate over all
X-Screens outputs until the HMD output is found.
Tested on single and dual X-Screen setups, also with Oculus
Rift CV1 connected to 2nd X-Screen.
This is rather useful for porting applications from "OpenHMD Rift
on separate X-Screen for performance" to OpenXR Monado direct
mode, so one can quickly switch between Monado and OpenHMD native
without cumbersome xorg.conf + logout + login games.
Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
2021-10-28 12:29:36 +00:00
Mateo de Mayo
f407536279
st/prober: Hook the realsense SLAM source into the prober
2021-10-28 11:40:49 +00:00
Mateo de Mayo
f84629ccbc
d/rs: Split SLAM source out of rs_hdev
...
(This temporarily disables the RealSense SLAM stream as there is
nothing starting it until the next commit)
2021-10-28 11:40:49 +00:00
Mateo de Mayo
0202cb9223
st/prober: Improve usage of SLAM tracking frameservers
...
Use a similar "hardcoded" idea as in p_factory_ensure_frameserver.
This fix usage of SLAM sources in other contexts like calibration, at the
cost of requiring a device to call create_tracked_slam at least once.
(again, similar to how psmv/psvr/hand tracking work already)
2021-10-28 11:40:49 +00:00
Mateo de Mayo
773eccad6c
docs: Move some driver entities into @addtogroup and other NFC
2021-10-28 11:40:49 +00:00
Mateo de Mayo
891842cb51
os: Change os_nanosleep parameter to int64_t
2021-10-28 11:40:49 +00:00
Christoph Haag
cbc018239b
st/gui: Fix editing tracking override when tracker is not connected
...
Fixes an assertion.
2021-10-28 11:21:58 +00:00
Christoph Haag
8da1b10010
st/gui: More consistent variable names in tracking overrides
2021-10-28 11:21:58 +00:00
Christoph Haag
9f7ef73429
st/gui: better wording for tracking override delete button
2021-10-28 11:21:58 +00:00
Ryan Pavlik
9688cd37dd
xrt: Improve doc comments in compositor header
2021-10-27 17:05:55 -05:00
Jarvis Huang
6b8349c887
ipc/android: Force client entering resume state before IPC setup
2021-10-27 13:44:20 +00:00
Jarvis Huang
c635375dc7
aux/android: Remove unused header file
2021-10-27 13:44:20 +00:00
Jarvis Huang
210a6908cd
ipc/android: Avoid deadlock on Android
2021-10-27 13:44:20 +00:00
Christoph Haag
13f7fa3b82
ipc: Pack ipc message structs to make valgrind happy
2021-10-26 23:20:28 +02:00
Moses Turner
0dee9094b3
aux/math: encourage people to use normalized inputs to math_quat_from_plus_x_z
2021-10-26 10:56:41 +00:00
Ryan Pavlik
409541427d
st/oxr: MSVC-specialized version of macro in oxr_xrResultToString
2021-10-19 16:49:23 -05:00
Ryan Pavlik
05ed361601
t/psvr: Fix some truncation warnings.
2021-10-19 16:49:13 -05:00
Ryan Pavlik
b62fb33e36
d/wmr: Fix some truncation warnings.
2021-10-19 16:11:34 -05:00
Ryan Pavlik
4ae1a1753c
util: Fix typo
2021-10-19 16:11:34 -05:00
Ryan Pavlik
d4d6a1a73f
util: Fix some truncation warnings, mostly by explicitly casting
2021-10-19 16:11:34 -05:00
Ryan Pavlik
5f8cb4e227
a/math: Fix some truncation warnings.
2021-10-19 15:31:29 -05:00
Mateo de Mayo
1095c3a2c1
d/rs: Add pose correction for Basalt
2021-10-16 17:03:02 -03:00
Mateo de Mayo
ab2da01631
build: Add Basalt as an external SLAM system
2021-10-16 17:02:27 -03:00
Ryan Pavlik
782aa11754
comp/main: Initial wiring, but don't actually allow closing the window on Windows for now.
2021-10-15 15:29:58 -05:00
Ryan Pavlik
cb3fc65f14
comp/main: Win32: Spawn a thread for our windowed output.
2021-10-15 15:13:00 -05:00
Ryan Pavlik
c47463b4eb
aux/util: Fix log message formatting on Windows.
2021-10-15 15:05:34 -05:00
Ryan Pavlik
c40553580d
util: Fix copyright typo.
2021-10-15 14:55:12 -05:00
Ryan Pavlik
d6177777e5
os: Fix os_nanosleep on Windows.
2021-10-15 13:05:18 -05:00
Ryan Pavlik
3351ef5396
os: Add new thread helper methods
2021-10-15 13:05:18 -05:00
Ryan Pavlik
793a7d659d
os: Improve docs for thread helper.
2021-10-15 11:57:44 -05:00
Ryan Pavlik
2790f6d29f
comp: Fix windows build - near and far are keywords.
2021-10-15 10:15:16 -05:00
Moses Turner
d440a23888
d/dai: rename things to either 'monocular' or 'grayscale'
2021-10-13 16:26:26 -05:00
Jakob Bornecrantz
0d07971ebb
st/gui: Make it possible to use depthAI as a stereo and single source
2021-10-13 15:47:48 -05:00
Jakob Bornecrantz
21f6842e49
st/gui: Add some debugging to the paranoia
2021-10-12 20:44:32 +01:00
Jakob Bornecrantz
be9a91fd12
d/dai: Explicitly close queue to avoid use after free errors from asan
2021-10-12 20:44:32 +01:00
Jakob Bornecrantz
6f22d4d819
d/dai: Handle cameras without calibration data
2021-10-12 15:37:42 +01:00
Jakob Bornecrantz
c5b2c5827b
d/dai: Some tidy
2021-10-11 21:45:38 +01:00
Jakob Bornecrantz
a5fc2fa49e
d/dai: Expose function to get stereo calibration
2021-10-10 00:16:39 +01:00
Jakob Bornecrantz
3fd740e6e9
d/dai: Add support for a stereo pipeline via slam_stream_start
2021-10-09 22:28:11 +01:00
Jakob Bornecrantz
344b5d9755
d/dai: Refactor out create function
2021-10-09 22:28:11 +01:00
Jakob Bornecrantz
e1dd59f749
d/dai: Refactor out pipeline setup to helper function
2021-10-09 22:28:11 +01:00
Jakob Bornecrantz
b8e2cbd9ee
d/dai: Add code to extract calibration of gray stereo cameras
2021-10-09 22:28:11 +01:00
Jakob Bornecrantz
8c242c1bc1
d/dai: Work around RGB_OV_9782 not yet being supported on main
2021-10-09 22:28:11 +01:00
Jakob Bornecrantz
c2b00ebb18
d/dai: Switch default logging to info
2021-10-09 22:28:11 +01:00
Jakob Bornecrantz
580a2f6fff
u/sink: Add u_sink_combiner helper to combine frames to stereo frames
2021-10-09 22:28:11 +01:00
Jakob Bornecrantz
e8f7f2de0a
t/util: Add function to dump a stereo camera calibration
2021-10-09 22:28:11 +01:00
Mateo de Mayo
7f247604e3
build: Use pkg-config for finding SLAM systems in CMake and other minor improvements
2021-10-07 14:33:10 -03:00
Mateo de Mayo
9b21b7d36c
t/slam: Use debug assertions and ensure timestamps come in order
2021-10-06 16:41:18 -03:00
Mateo de Mayo
df3c36ba0c
d/rs: Improve how hdev handles IMU samples
...
- Prevent race conditions with a lock
- Check that timestamps "domains" are the same across samples
- Use faster sensor to push the IMU sample instead of always gyro
2021-10-06 16:41:18 -03:00
Mateo de Mayo
67a5946778
xrt: Add units to xrt_imu_sample fields
...
After using the structure a bit more, and realizing that while different components
sometimes use different units, it is easier to force them to send the imu_samples
in a standardized unit.
2021-10-06 16:41:18 -03:00
Mateo de Mayo
5845155229
xrt: Use doubles in xrt_vec3_f64
2021-10-06 15:23:28 -03:00
Moses Turner
5abd3b3570
d/ht: Switch to new get_hand_tracking signature and update tracking
2021-10-02 23:09:36 +01:00
Moses Turner
322d5b8f2d
d/remote: Switch to new get_hand_tracking signature
2021-10-02 23:09:25 +01:00
Moses Turner
621681ffb4
d/vive: Switch to new get_hand_tracking signature
2021-10-02 23:09:14 +01:00
Moses Turner
9f0de997d1
d/ulv2: Switch to new get_hand_tracking signature
2021-10-02 23:08:12 +01:00
Moses Turner
193dcc8776
d/survive: Switch to new get_hand_tracking signature
2021-10-02 23:08:09 +01:00
Moses Turner
bec03a09bc
d/multi: Switch to new get_hand_tracking signature
2021-10-02 23:08:06 +01:00
Moses Turner
8fdeaccbc7
st/oxr: Switch to new get_hand_tracking signature
2021-10-02 23:06:43 +01:00
Moses Turner
1a4dd31b5e
ipc: Switch to new get_hand_tracking signature
2021-10-02 23:06:29 +01:00
Moses Turner
ca007be4d5
xrt: Switch to new get_hand_tracking signature
2021-10-02 23:05:46 +01:00
Moses Turner
e134b24f8f
u/var: Add u_var_draggable_f32
2021-10-02 23:05:35 +01:00
Moses Turner
5efdea78da
aux/gst: Expose function to get offset from global time to video timestamp
2021-10-02 23:05:26 +01:00
Ryan Pavlik
37c5eee02a
a/math: Refactor one euro filter code
2021-10-02 23:05:22 +01:00
Moses Turner
52f1ce14ca
aux/math: Add m_vec2_lerp
2021-10-02 23:05:19 +01:00
Moses Turner
b067d3b0c2
d/vf: Fix typo
2021-10-02 23:05:16 +01:00
Mateo de Mayo
a409ed6141
d/rs: Fix build errors and warnings when compiling without a SLAM dependency
2021-10-01 23:22:16 -03:00
Moses Turner
140a39f9c4
d/ns: move ns_hmd_create to ns_hmd.h
2021-10-01 13:54:19 -05:00
Ryan Pavlik
884a312011
build: Fix build with CMake before 3.14
2021-10-01 11:21:35 -05:00
Simon Zeni
036eb19343
d/ht: fix stack overflow on hand detection
2021-09-30 14:30:22 -04:00
Jakob Bornecrantz
9a4cc80e87
st/prober: Tidy and re-order functions
2021-09-29 21:38:33 +00:00
Jakob Bornecrantz
874d48a810
st/prober: Add some tracing functions
2021-09-29 21:38:33 +00:00
Jakob Bornecrantz
c8d57a4ff3
d/vive: Add some more tracing
2021-09-29 21:38:33 +00:00
Jakob Bornecrantz
98c1cb5358
d/vive: Add tracing support focusing on device message processing
2021-09-29 21:38:33 +00:00
Jakob Bornecrantz
73d631c775
cmake: Make math depend on util
...
This fixes the build when tracing is enabled.
2021-09-29 21:38:33 +00:00
Christoph Haag
d2e64d8b75
d/survive: Add SURVIVE_LH_GEN env var
...
On some systems libsurvive gets randomly confused and misdetects lh2 as lh1.
This causes the config to be pruned and is very annoying.
2021-09-29 23:03:20 +02:00
Jakob Bornecrantz
6f66ada6d9
u/vive: Remove old code and tidy camera calibration extraction
2021-09-29 20:48:54 +00:00
Jakob Bornecrantz
08721858dc
u/vive: Compare calibration solutions
2021-09-29 20:48:54 +00:00
Jakob Bornecrantz
4430dbe5d5
u/vive: Rework how calibration is extracted
2021-09-29 20:48:54 +00:00
Jakob Bornecrantz
a15e37587b
u/vive: Add more camera fields
2021-09-29 20:48:54 +00:00
Mateo de Mayo
6f20b6d88f
d/rs: Add host-SLAM tracked device (hdev)
...
This device was tested on a D455 but should work on any other RealSense camera
that supports camera and IMU streams (even the T265), given that you properly
configure the external SLAM config file.
2021-09-28 16:11:42 -03:00
Mateo de Mayo
95e22ae7c8
d/rs: Implement new probing logic to choose between ddev and hdev creation
...
Also adds a rs_container to keep track of RealSense created objects that
are useful to have during execution.
2021-09-28 16:07:14 -03:00
Mateo de Mayo
961c7c8ed1
d/rs: Rename 6dof to ddev
...
This commit introduces the term `ddev` for a "Device-SLAM tracked device",
it will be useful to differentiate itself from the `hdev`
("Host-SLAM tracked device") that will be introduced in next commits.
Note that "config_realsense" json field was renamed to "config_realsense_device"
and the device's serial (used for tracking overrides) changed from
"Intel RealSense 6-DOF" to "Intel RealSense Device-SLAM".
2021-09-28 16:07:08 -03:00
Mateo de Mayo
f70752aeda
d/qwerty: Fix tracking overrides and correct multi typo
2021-09-28 16:07:03 -03:00
Mateo de Mayo
e561d312f6
st/prober: Handle SLAM tracker creation failure for the Euroc player
...
This also adds a do-nothing section to `p_factory_create_tracked_slam`
that could be replicated by new SLAM frame servers.
2021-09-28 16:06:58 -03:00
Mateo de Mayo
f88befbdbc
t/slam: Replace assertion with return -1 if SLAM_CONFIG is not provided
2021-09-28 16:06:52 -03:00
Mateo de Mayo
debdb11e02
t/slam: Miscelaneous NFC changes
...
- Use @todo instead of TODO for doxygen
- Improve the slam_tracker interface documentation
- Move euroc functions declared by macros into extern C
2021-09-28 12:49:36 +00:00
Mateo de Mayo
1a5af03111
t/slam: Move pose corrections into the tracked devices
...
This discards the pose correction logic used that was for the D455 not for
an euroc dataset. It will be reintroduced in a later commit with an
appropriate device.
2021-09-28 12:49:36 +00:00
Moses Turner
1c99e8edb5
meson: add option for tracing; align messages
2021-09-28 12:41:01 +00:00
Mateo de Mayo
d61a695f13
meson: Allow percetto to be used with meson
...
You may need to specify --libdir=$installdir/lib when installing percetto,
otherwise it gets installed on $installdir/lib/x86_64-linux-gnu by default and
meson might not look for the appropriate pkgconfig in there.
2021-09-28 12:41:01 +00:00
quic_zhibinw
f9d0bfb80a
aux/vk: Apply the protected content flag if app pass it when create swapchain
2021-09-28 15:33:15 +08:00
Ryan Pavlik
7b5102dc28
t/oxr-android: Clean up about libraries usage and fix mangled comments.
2021-09-27 09:29:29 -05:00
Ryan Pavlik
61feb03d0e
gradle: Format
2021-09-27 09:26:15 -05:00
Ryan Pavlik
e8ed9c95f6
ipc/android: Require the OpenXR permission.
2021-09-27 09:26:15 -05:00
Ryan Pavlik
52e75e8e27
t/oxr_android: Update Hilt to a stable release
...
Only one change in our usage was needed.
2021-09-27 09:26:15 -05:00
Ryan Pavlik
690141a7ee
gradle: Update Android build tools
2021-09-27 09:26:15 -05:00
Ryan Pavlik
995866a576
cmake: Improve use of percetto
2021-09-27 09:26:15 -05:00
Jakob Bornecrantz
de283a8b0c
t/calibration: Add support for findChessboardCornersSB
2021-09-20 15:54:00 +00:00
Jakob Bornecrantz
d86adce39d
u/historybuf: Tidy code and work around clang-format CI troubles
2021-09-20 15:54:00 +00:00
Ryan Pavlik
a10a4ab123
a/math: Fix truncation warning due to double literal in float parameter.
2021-09-20 10:06:33 -05:00
Mateo de Mayo
0b7f3d92ef
d/euroc: Use new debug frame sinks
2021-09-20 14:59:18 +00:00
Ryan Pavlik
967efb4a12
a/os: SetWaitableTimer wants durations in hundreds of ns.
2021-09-20 09:25:31 -05:00
Christoph Haag
2ef9e0aa61
comp: Don't disconnect from NULL wayland_display
...
Fixes crash when not running on wayland.
2021-09-20 13:54:36 +00:00
Christoph Haag
d54c489738
st/oxr: Enumerate outputs too in xrEnumerateBoundSourcesForAction
...
Fixes #118
2021-09-20 00:28:46 +02:00
Jakob Bornecrantz
b4ce66a5dc
u/var: Remove sink variable tracking
2021-09-17 15:27:23 +01:00
Jakob Bornecrantz
7e8428a4d2
st/gui: Remove U_VAR_SINK support
2021-09-17 15:27:23 +01:00
Jakob Bornecrantz
b0b4034a93
st/gui: Add support for u_sink_debug
2021-09-17 15:27:23 +01:00
Jakob Bornecrantz
bef417b5a8
st/gui: Handle setting recording info from the first frame
2021-09-17 15:27:23 +01:00
Jakob Bornecrantz
2b72672cc2
st/gui: Expose bitrate as a combobox in recording window
2021-09-17 15:27:15 +01:00
Jakob Bornecrantz
7a6412672d
st/gui: Refactor out recording code into own window
2021-09-17 13:39:50 +01:00
Jakob Bornecrantz
9bfabdf706
d/ht: Disable sink variable tracking
2021-09-17 13:39:50 +01:00
Jakob Bornecrantz
5d4adebbbe
d/euroc: Disable sink variable tracking
2021-09-17 13:39:50 +01:00
Jakob Bornecrantz
0157b2d4b0
t/debug: Update HelperDebugSink to use new u_debug_sink
2021-09-17 13:39:50 +01:00
Jakob Bornecrantz
2404257077
t/hsv: Switch to u_sink_debug
2021-09-17 13:39:50 +01:00
Jakob Bornecrantz
8ccd0c3dff
d/v4l2: Use u_sink_debug for debugging
2021-09-17 13:39:50 +01:00
Jakob Bornecrantz
b8055eba6a
u/var: Add u_sink_debug
2021-09-17 13:01:02 +01:00
Jakob Bornecrantz
da628514d8
u/sink: Add u_sink_debug struct helper
2021-09-17 13:01:02 +01:00
Jakob Bornecrantz
d36eec8fbb
c/main: Guard against XRT_HAVE_WAYLAND_DIRECT
2021-09-17 11:54:57 +00:00
Jakob Bornecrantz
02d67a52c5
c/main: Guard use of VK_EXT_acquire_drm_display identifier
2021-09-17 11:54:57 +00:00
Jakob Bornecrantz
f1f4dd7c8a
xrt: Expose XRT_HAVE_WAYLAND and XRT_HAVE_WAYLAND_DIRECT
2021-09-17 11:54:57 +00:00
Jakob Bornecrantz
a58b8df4a9
cmake: Link with WAYLAND_LIBRARIES or SDL gets sad
2021-09-17 11:54:57 +00:00
Christoph Haag
a3b453dae7
t/slam: Print an error when SLAM_CONFIG is not set
...
Fixes crash
terminate called after throwing an instance of 'std::logic_error'
what(): basic_string::_M_construct null not valid
2021-09-16 23:33:05 +02:00
Christoph Haag
dc15dbf75d
build/meson: Don't build slam if tracking is disabled
...
Fixes build with -Dtracking=disabled
2021-09-16 23:33:05 +02:00
Christoph Haag
ec5b5f9e1d
t/slam: Only warn for incompatible OpenCV
2021-09-16 23:33:05 +02:00
Mateo de Mayo
78e8d3177c
st/prober: Use euroc stream for SLAM tracking
2021-09-15 19:03:55 +00:00
Mateo de Mayo
6de1ab8f8e
d/euroc: Add euroc device
2021-09-15 19:03:55 +00:00
Mateo de Mayo
3c618ec20c
d/euroc: Improve euroc player
...
- Implement xrt_slam_source instead of xrt_fs
- Merge intermediate sink pointers into xrt_slam_sinks in_sinks
- Add out_sinks for downstream passage of data
- Make speed playback option a double (float was not precise enough)
- Add use_source_ts playback option to optionally use original dataset timestamps
- Fix colored datasets not working
2021-09-15 19:03:55 +00:00
Mateo de Mayo
549c59a493
t/slam: Add SLAM tracking module
2021-09-15 19:03:55 +00:00
Mateo de Mayo
8e8a9c14a9
external: Add slam_tracker.hpp and SLAM build flow
2021-09-15 19:03:55 +00:00
Mateo de Mayo
caa9192a26
xrt: Add xrt_tracked_slam interface
2021-09-15 19:03:55 +00:00
Mateo de Mayo
cbc74bc9c1
xrt: Add stream_start alternative to xrt_fs for SLAM streaming
2021-09-15 19:03:55 +00:00
Mateo de Mayo
552c03bb2b
xrt: Add SLAM sinks
2021-09-15 19:03:55 +00:00
Simon Zeni
47be806428
c/main: Implement WINDOW_DIRECT_WAYLAND
2021-09-15 18:44:18 +00:00
Simon Zeni
26c684d42f
aux/vk: Add VK_EXT_acquire_drm_display functions
2021-09-15 18:44:18 +00:00
Moses Turner
56f34d23b9
d/vive: Use m_relation history for HMD
2021-09-15 12:13:14 -05:00
Moses Turner
7f88583d37
d/survive: Use m_relation_history for HMD and controllers
2021-09-15 12:13:14 -05:00
Moses Turner
f9d540aee0
d/rs: Use m_relation_history for 6DOF
2021-09-15 12:13:14 -05:00
Moses Turner
947bac9e54
aux/math: Implement m_relation_history
...
to keep track of past poses of HMDs, controllers, etc.
2021-09-15 12:13:14 -05:00
Moses Turner
7f69dc795f
d/ht; aux/util: Move ringbuffer implementation into aux/util
2021-09-15 12:13:00 -05:00
Moses Turner
9960f0ab22
aux/math: Add tracing for m_predict
2021-09-15 12:13:00 -05:00
Jakob Bornecrantz
c5c07eced2
c/render: Remove the hacks
2021-09-14 16:15:27 +00:00
Jakob Bornecrantz
5bff6f3c9b
c/render: Add ATW support for compute rendering
2021-09-14 16:15:27 +00:00
Jakob Bornecrantz
3795004208
c/main: Add compute distortion rendering backend
2021-09-14 16:15:27 +00:00
Moses Turner
ee429ac279
d/ht: make blackbar work with non-square inputs
2021-09-14 14:09:03 +01:00
Jakob Bornecrantz
cb7563ecd6
m/predict: Add C++ extern guards
2021-09-14 13:42:20 +01:00
Jakob Bornecrantz
608bb987d9
u/[rt|ft]: Adjust margins
...
This commit adds more margins to both the app and the compositor, with the
compute work this yeilds basically no frame misses for the compositor.
2021-09-13 21:50:20 +01:00
Jakob Bornecrantz
dda80836c6
u/ft: Rename min_margin_ns to margin_ns
2021-09-13 21:49:31 +01:00
Jakob Bornecrantz
5192e82948
d/ht: Tidy includes
2021-09-13 21:47:05 +01:00
Jakob Bornecrantz
4cdfadf3e0
d/ht: Tidy view creation
2021-09-13 21:47:04 +01:00
Christoph Haag
79fe29f674
c/main: Use ns_to_ms helper for nominal frame interval
2021-09-13 21:28:10 +01:00
Christoph Haag
fb6cf9b4cc
st/oxr: Only advertise hand tracking funcs if compiled with ext
2021-09-13 21:28:01 +01:00
Christoph Haag
2b7e8d8dce
st/oxr: Add ifdef for XR_EXT_hand_tracking
2021-09-13 21:27:58 +01:00
Christoph Haag
d114b8bb34
st/oxr: Move XR_EXT_thermal_query #endif to the correct place
2021-09-13 21:27:54 +01:00
Mateo de Mayo
d9482d0b76
u/var: Add f64 kind
2021-09-13 18:59:03 +01:00
Christoph Haag
83e194e9d3
comp: Wait for release/acquire fence before destroying swapchain
...
Fixes validation warning when quitting Vulkan OpenXR applications
like hello_xr -G Vulkan2:
VUID-vkDestroyImage-image-01000(ERROR / SPEC): msgNum: -221078694 - Validation Error: [ VUID-vkDestroyImage-image-01000 ] Object 0: handle = 0x55d4d96e4960, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xf2d29b5a | Cannot call vkDestroyImage on VkImage 0xcb1c7c000000001b[] that is currently in use by a command buffer. The Vulkan spec states: All submitted commands that refer to image, either directly or via a VkImageView, must have completed execution (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-vkDestroyImage-image-01000 )
Objects: 1
[0] 0x55d4d96e4960, type: 3, name: NULL
This is an addition to commit 778515739f
that
introduced this fence.
2021-09-07 11:51:03 +02:00
Christoph Haag
cc53994b4f
d/survive: Count ahead of time how many configs to wait for
...
On recent libsurvive versions, loading the config of the HMD takes quite
long when only a HMD is active without controllers.
Instead of adjusting the timeout value all the time, rework how we wait for
the device configs.
Previously we just waited for device configs to arrive until no new configs
arrive for a predefined timeout.
Now we count how many objects of interest libsurvive actually knows, and then
only wait until the configs for this many devices are loaded.
This should make initialization of the survive driver faster and more robust.
2021-09-04 02:35:59 +02:00
Jakob Bornecrantz
129902750d
u/sink: Add conversion from L8 to R8G8B8
2021-09-03 22:16:21 +01:00
Moses Turner
d7fc516cfb
d/vive: Use hand tracking if VIVE_USE_HANDTRACKING is set
2021-09-03 21:06:18 +00:00
Moses Turner
db4a50410c
d/survive: Use hand tracking if there aren't any controllers
...
rebase-survive
2021-09-03 21:06:18 +00:00
Moses Turner
624a676f56
d/ht: Change everything
2021-09-03 21:06:18 +00:00
Moses Turner
8068912953
targets: Don't probe handtracking driver
2021-09-03 21:06:18 +00:00
Moses Turner
cef922946a
aux/vive: Parse camera calibration
2021-09-03 21:06:18 +00:00
Moses Turner
efbc4cd9e5
d/survive: Allow users to set wait time through config_v0.json
...
Necessary for Moses - for some reason, with no controllers, his headset takes forever to probe
2021-09-03 21:06:18 +00:00
Moses Turner
a1b683385f
aux/util: Add u_frame_clone
2021-09-03 21:06:18 +00:00
Moses Turner
815aa47ac2
d/vf: Add new format for stereo hand tracking
2021-09-03 21:06:18 +00:00
Christoph Haag
2609502150
aux/vk: Add and document tegra specific dedicated allocation workaround
2021-09-03 15:32:35 +00:00
Christoph Haag
4982a14541
aux/vk: Add Tegra detection
2021-09-03 15:32:35 +00:00
Christoph Haag
e7d047f956
aux/vk: debug print preferred/required dedicated allocation
2021-09-03 15:32:35 +00:00
Christoph Haag
7dcd420df8
aux/vk: Add VK_FORMAT_R16G16B16A16_UNORM to vk_color_format_string
2021-09-03 15:32:35 +00:00
Christoph Haag
527efd379f
comp: debug print the numeric format
...
helps to see which format it is when it can not be translated to a string
2021-09-03 15:32:35 +00:00
Jakob Bornecrantz
3bab14fa3b
t/psmv: Fix misconception with disparity transform
2021-09-01 22:00:46 +01:00
Jakob Bornecrantz
992642bdf8
d/vive: Tidy warning
2021-09-01 22:00:46 +01:00
Jakob Bornecrantz
407461fd4f
d/vive: Silence warnings from when the camera is running
2021-09-01 22:00:46 +01:00
Mateo de Mayo
91db53572b
st/prober: Make euroc start by hooking it into the prober
2021-08-27 18:39:37 +01:00
Mateo de Mayo
97c59bd59f
d/euroc: Add EuRoC dataset reader driver.
...
A squash of the following commits.
d/euroc: Add Euroc driver initial boilerplate
d/euroc: Implement xrt_frame_node interface
d/euroc: Implement mainloop thread start flow
d/euroc: Parse samples from data.csv files
d/euroc: Determine dataset information at start
Also use that information to provide a xrt_fs mode and to know if
right camera images are available to use.
d/euroc: Produce frames for left and right sinks
d/euroc: Implement xrt_imu_sink
d/euroc: Implement playback properties
d/euroc: Implement pausing with UI state machine
d/euroc: Show IMU and progress data in UI
d/euroc: Make sure to give in nullptr or valid pointers to wrapL8
d/euroc: Unreference frames when done with them
d/euroc: Fix leaks with debug sinks, and work around free issue
d/euroc: Refactor playback to produce samples with current timestamps
d/euroc: Fix double free by separating debug sinks from downstream sinks
2021-08-27 18:38:40 +01:00
Mateo de Mayo
00a2f891a2
xrt: Add xrt_imu_sink interface
2021-08-27 13:02:18 +00:00
Mateo de Mayo
92fc2784e1
xrt: Add xrt_imu_sample
2021-08-27 13:02:18 +00:00
Mateo de Mayo
de3bfc193d
u/var: Add button and u64 var kinds
...
Also: fix on_ff_vec3_var
2021-08-27 13:02:18 +00:00
Mateo de Mayo
167fe78af0
st/gui: Handle NULL pdev in video listing scene.
2021-08-27 13:02:18 +00:00
Christoph Haag
08c136b712
ipc: Fix warning and paranoia check
2021-08-27 12:34:08 +00:00
Christoph Haag
7c285be9e8
st/oxr: Support XR_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT_KHR
...
Trivial, because XR_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT_MND and
XR_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT_KHR enum values are aliased.
2021-08-27 02:38:05 +02:00
Christoph Haag
cc4e46b3ec
xrt: typedef EGLenm too for GLES
...
Used in XrSwapchainStateSamplerOpenGLESFB added in OpenXR SDK 1.0.16
2021-08-27 02:21:58 +02:00
Christoph Haag
5e0891404e
scripts: Add XR_KHR_swapchain_usage_input_attachment_bit extension
2021-08-27 02:21:58 +02:00
Jakob Bornecrantz
8b8891f60f
u/sink: Make sure to add deinterleaver sink to context
2021-08-23 20:25:52 +01:00
Jakob Bornecrantz
c83dc7b323
u/sink: Make sure to add split sink to context
2021-08-23 20:25:08 +01:00
Jakob Bornecrantz
a8251815af
t/framemat: Update confusing comments, sorry.
2021-08-23 19:42:45 +01:00
Christoph Haag
602ce70a0a
aux/vk: Only use dedicated allocation when it is required
...
On tegra, when VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT is set for color image usage
with VK_FORMAT_R16G16B16A16_SFLOAT, dedicated allocation is preferred, but not required.
When using dedicated allocation in this case, we get only a black texture,
and when blitting from that texture, we get a kernel driver error:
gk20a_fifo_handle_mmu_fault_locked:1721 [ERR] fake mmu fault on engine 0, engine subid 1 (hub), client 1 (ce0), addr 0x46cd8aa000, type 15 (poisoned), access_type 0x00000000,inst_ptr 0x212ef3000
Only using dedicated allocation when it is required works around this issue.
2021-08-23 13:01:05 +00:00
korejan
42af354f65
c/multi: Fixes some uninitialized mutexes.
...
Fixes some uninitialized/null mutexes that causes crash bug during the creation of the multi compositors (seen on Windows).
2021-08-21 11:34:33 +01:00
Jakob Bornecrantz
49e6514a3d
u/sink: Make sure to free frame when we fail to decode
2021-08-20 18:55:21 +01:00
Jakob Bornecrantz
8225539178
st/gui: Make sure to unreference any frames pending for upload
2021-08-20 17:35:32 +01:00
Jakob Bornecrantz
36a8f949d5
st/gui: Make sure to add ogl texture sink to context
2021-08-20 17:18:42 +01:00
Jakob Bornecrantz
022bf18200
u/sink: Make sure to add quirk sink to context
2021-08-20 17:14:43 +01:00
Jakob Bornecrantz
601a6832b8
d/vive: Use u_device_free to free distortion mesh data
2021-08-20 17:09:05 +01:00
Jakob Bornecrantz
df484c508d
d/vive: Tidy
2021-08-20 16:56:15 +01:00
Jakob Bornecrantz
d61cf5dc78
d/vive: Make sure to properly destroy controller
2021-08-20 16:56:15 +01:00
Jakob Bornecrantz
a89c8309c7
u/vive: Pass in logging level to parse function
2021-08-20 13:42:11 +01:00
Jakob Bornecrantz
00aca14832
u/vive: Add vive_config_teardown function to free any pointers that needs freeing.
2021-08-20 13:42:11 +01:00
Jakob Bornecrantz
3b62f9e6fb
t/gui: Add sanitizers
2021-08-20 12:28:30 +01:00
Jakob Bornecrantz
4d8fa41c5e
t/ctl: Add sanitizers
2021-08-20 12:28:30 +01:00
Jakob Bornecrantz
5f66236de6
t/cli: Add sanitizers
2021-08-20 12:28:30 +01:00
Moses Turner
6dcf10a4fc
d/rs: clean up device list
2021-08-20 12:28:30 +01:00
Moses Turner
9febede5c6
ipc/server: Clean up the hack if we exit early
2021-08-20 12:28:26 +01:00