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
Ryan Pavlik
1a556740d5
src/external: Update to Catch2 version 2.13.7
2021-10-28 11:31:55 +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
ea43e197a3
external: Improve slam_tracker interface documentation
2021-10-06 16:41:18 -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
8de97f197f
ext/openxr: Update headers to 1.0.19
2021-08-27 02:21:58 +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
Moses Turner
74c93f83f7
d/survive: Use u_device_free to free distortion mesh data
2021-08-20 12:28:22 +01:00
Moses Turner
e8907afeed
d/rs: Free JSON
2021-08-20 12:28:19 +01:00
Jakob Bornecrantz
003ade3006
d/ht: Don't leak when we can't create the hand-tracker tracker
2021-08-19 23:20:24 +01:00
Moses Turner
6e5efc850e
aux/math: Add euro filtering
2021-08-18 18:56:10 +00:00
Moses Turner
a1574312d2
d/v4l2: more paranoid logging
2021-08-18 13:17:17 -05:00
Jakob Bornecrantz
ea2aa56af8
st/oxr: Add debug variable for adding extra sleep in wait frame
2021-08-17 12:04:49 +01:00
Jakob Bornecrantz
f27b50ff5a
d/dummy: Add option to rotate around up axis
2021-08-17 12:04:49 +01:00
Jakob Bornecrantz
9178e0ef59
c/main: Constify argument
2021-08-17 12:04:49 +01:00
Jakob Bornecrantz
05c61511ab
m/vec2: Add a few more scalar functions
2021-08-17 12:04:49 +01:00
Jakob Bornecrantz
70ceabb56e
m/mat4: Add Matrix 4x4 f64 functions
2021-08-17 12:04:49 +01:00
Jakob Bornecrantz
521f066e72
xrt: Add a Matrix4x4 with f64
2021-08-17 12:04:49 +01:00
Moses Turner
bcddb4cff3
targets/service: Use address sanitizer on monado-service if desired
2021-08-16 21:18:52 +01:00
Jakob Bornecrantz
a6bdf92fd0
d/vf: Remove debug message
2021-08-16 21:18:52 +01:00
Moses Turner
b2ef01af10
d/vf: Add trace marker
2021-08-16 21:18:46 +01:00
Moses Turner
13f2b3b7c4
aux/util: Add get_vec3_f64_array
2021-08-16 21:02:27 +01:00
Moses Turner
0b2dd35b60
aux/os: Add os_mutex_trylock
2021-08-16 21:02:27 +01:00
Moses Turner
7356100696
aux/math: Add m_vec3_project, m_vec3_orthonormalize, m_vec3_lerp, m_vec2_normalize, math_lerp
2021-08-16 21:02:27 +01:00
Moses Turner
cda56ddfbd
xrt: Add xrt_vec3_f64 struct
2021-08-16 21:02:27 +01:00
Christoph Haag
778515739f
comp: Guard acquire/release with a fence
...
Fixes validation warning when acquiring images before the command buffer
of the previous acquire or release on the same queue has finished.
VUID-vkQueueSubmit-pCommandBuffers-00071(ERROR / SPEC): msgNum: 774851941 - Validation Error: [ VUID-vkQueueSubmit-pCommandBuffers-00071 ] Object 0: handle = 0x558634c5c750, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x2e2f4d65 | vkQueueSubmit(): pSubmits[0].pCommandBuffers[0] VkCommandBuffer 0x558634b85a10[] is already in use and is not marked for simultaneous use. The Vulkan spec states: If any element of the pCommandBuffers member of any element of pSubmits was not recorded with the VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT, it must not be in the pending state (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-vkQueueSubmit-pCommandBuffers-00071 )
Objects: 1
[0] 0x558634c5c750, type: 3, name: NULL
2021-08-16 15:52:57 +02:00
Christoph Haag
32d09aadc3
aux/vk: Add vkGetFenceStatus function
2021-08-16 15:37:29 +02:00
Jakob Bornecrantz
7d8b83aba5
xrt: Add docu
2021-08-11 18:28:27 +01:00
Jakob Bornecrantz
77a67387b4
ipc/server: Paranoia
2021-08-11 18:09:52 +01:00
Christoph Haag
b249af9415
comp: Bind the correct GL texture for importing memory objects
2021-08-09 15:17:25 +02:00
Christoph Haag
1b179306dc
comp: Only use dedicated allocation when supported/preferred
...
Fixes OpenGL depth formats on Tegra
2021-08-09 15:17:25 +02:00
Christoph Haag
b4145a1543
aux/vk: Print all used device extensions in XRT_LOG=trace
2021-08-09 15:15:57 +02:00
Moses Turner
e8e977faa2
inc/xrt, aux/bindings: fix typo XRT_OUTPUT_NAME_XBOX_HAPTIC_RIGHTT -> XRT_OUTPUT_NAME_XBOX_HAPTIC_RIGHT
2021-07-29 20:45:05 +00:00
humbletim
0b36586fe7
add 'Vive MV.' model_number variant
2021-07-27 20:02:33 -04:00
Jakob Bornecrantz
9d9879ca3e
c/multi: Make sure there are at least some predicted data
...
To avoid asserts in non-service mode.
2021-07-22 17:19:45 +01:00
Jakob Bornecrantz
fb92a3f27f
d/vf: Add tracing support
2021-07-16 15:29:27 +00:00
Jakob Bornecrantz
a6a5b3dda6
d/vf: Refactor frame handling
2021-07-16 15:29:27 +00:00
Jakob Bornecrantz
f04a113693
d/vf: Tidy
2021-07-16 15:29:27 +00:00
Christoph Haag
162915f022
p/prober: disable all drivers when qwerty is enabled
...
qwerty is auto probed, making HMDs that are not auto probed always take precedence.
When setting QWERTY_ENABLE=1 the intent is usually to exclusively use qwerty.
Therefore we default to disabling all other drivers when this variable is set.
To make the old behavior of adding qwerty devices with lower priority than actual
devices, the variable QWERTY_COMBINE=1 is introduced.
2021-07-16 15:15:28 +00:00
Christoph Haag
c6b5c5322c
aux/vk: Print info for setting CAP_SYS_NICE
2021-07-15 16:35:06 +00:00
Christoph Haag
c676020bdb
aux/vk: Add VK_ERROR_NOT_PERMITTED_EXT error code string
2021-07-15 16:35:06 +00:00
Christoph Haag
82140ea83b
aux/vk: Print vkCreateDevice error num too
2021-07-15 16:35:06 +00:00
Christoph Haag
be0b4f496a
d/ulv2: fix maybe uninitialized warning
...
../src/xrt/drivers/ultraleap_v2/ulv2_driver.cpp: In function 'void* leap_input_loop(void*)':
../src/xrt/drivers/ultraleap_v2/ulv2_driver.cpp:290:29: warning: 'hi' may be used uninitialized in this function [-Wmaybe-uninitialized]
290 | int hi; // hand index
| ^~
2021-07-15 01:35:49 +02:00
Christoph Haag
ab209bcf18
c/main: Add return value for when asserts are disabled
...
It's not worth introducing a new error code for this case, just
return XRT_ERROR_VULKAN.
Fixes error with asserts disabled
../src/xrt/compositor/main/comp_compositor.c: In function 'compositor_mark_frame':
../src/xrt/compositor/main/comp_compositor.c:186:1: warning: control reaches end of non-void function [-Wreturn-type]
186 | }
| ^
2021-07-15 01:31:19 +02:00
Christoph Haag
86e42858b7
d/qwerty: Add reasonable alternative code paths for asserts
...
In release builds asserts will be disabled, so we should try to handle the
assert cases reasonably.
This commit fixes several unused variable warnings when asserts are disabled.
2021-07-15 01:19:13 +02:00
Christoph Haag
2b94b2b165
d/ns: Fix may be used uninitialized warnings
2021-07-15 01:10:40 +02:00
Christoph Haag
bc8ac9ca3c
st/oxr: Use OXR_MAX_BINDINGS_PER_ACTION instead of hardcoded 32
...
The hardcoded value 32 was actually wrong and caused a warning
../src/xrt/state_trackers/oxr/oxr_input.c:668:9: warning: 'oxr_binding_find_bindings_from_key' accessing 256 bytes in a region of size 128 [-Wstringop-overflow=]
668 | oxr_binding_find_bindings_from_key(log, profile, act->act_key, binding_points, &num);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2021-07-15 01:08:20 +02:00
Christoph Haag
e2e13b7ac3
st/gui: Don't access first vec3 member as float array
...
It produces a warning
../src/xrt/state_trackers/gui/gui_scene_debug.c:141:9: warning: ‘igInputFloat3’ accessing 12 bytes in a region of size 4 [-Wstringop-overflow=]
141 | igInputFloat3(name, (float *) &value.x, "%+f", ImGuiInputTextFlags_ReadOnly);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2021-07-15 00:59:09 +02:00
Jakob Bornecrantz
cb9ce8b34e
t/calibration: Add support for RGB images
2021-07-13 15:01:00 +00:00
Jakob Bornecrantz
dbb6b1f43c
t/calibration: Make it possible to select number distortion parameters
2021-07-13 15:01:00 +00:00
Jakob Bornecrantz
9aff6fb9b3
u/sink: Add special converter sink that passes through YUV, L8 and RGB
2021-07-13 15:01:00 +00:00
Jakob Bornecrantz
f725924723
st/gui: Make it possible to select the DepthAI camera in Video select UI
2021-07-13 15:01:00 +00:00
Jakob Bornecrantz
6beb57bf98
st/gui: Add support to record from ELP 3D camera
2021-07-13 15:01:00 +00:00
Jakob Bornecrantz
33563ccb7e
st/gui: Correct order of arguments to xrt_fs_stream_start
2021-07-13 15:01:00 +00:00
Jakob Bornecrantz
ae3a2179b9
st/gui: Check that we actually opened the video device
2021-07-13 15:01:00 +00:00
Jakob Bornecrantz
9e5df0f504
st/oxr: Calculate normalized sub-image offsets and sizes
2021-07-10 17:59:17 +01:00
Jakob Bornecrantz
390b06b22a
st/oxr: Put all sub-image handling in one place (NFC)
2021-07-10 17:59:17 +01:00
Jakob Bornecrantz
570e7a5702
st/oxr: Tidy oxr_session_frame_end.c (NFC)
2021-07-10 17:59:17 +01:00
Jakob Bornecrantz
189aea97aa
st/oxr: Refactor out end frame function into own file
2021-07-10 17:59:17 +01:00
Jakob Bornecrantz
b8d88113c2
st/oxr: Add gfx to session gfx files
2021-07-10 17:59:17 +01:00
Jakob Bornecrantz
7bd1dba1d8
xrt: Add normalized sub-image offset and size in layer data
...
This makes the compositor not have to care about texture size.
2021-07-10 17:58:54 +01:00
Moses Turner
e312422e61
t/gui: Add tracing support
2021-07-09 20:24:38 -05:00
Jakob Bornecrantz
94d029ed15
d/dai: Add tracing support
2021-07-09 20:23:49 -05:00
Jakob Bornecrantz
09513d73af
d/v4l2: Add tracing support
2021-07-09 21:43:21 +01:00
Jakob Bornecrantz
c278618ec1
t/hsv: Add tracing support
2021-07-09 21:38:02 +01:00
Jakob Bornecrantz
cdf30b00e1
u/sink: Add tracing support
2021-07-09 21:36:57 +01:00
Jakob Bornecrantz
e04decbe64
u/trace_marker: Add sink category
2021-07-09 19:19:50 +01:00
Christoph Haag
9ba24e3b15
t/ctl: Fix error message when toggling io fails
2021-07-07 00:50:07 +02:00
Christoph Haag
e21f4a2458
t/ctl: Add usage information
2021-07-07 00:49:28 +02:00
Christoph Haag
250ef94d71
st/oxr: Don't go to READY after EXITING
...
The STOPPING state has two possible follow up paths:
STOPPING -> IDLE -> READY
STOPPING -> IDLE -> EXITING
After EXITING, the application must call xrDestroySession; there is no meaningful
session state after EXITING.
To go to the READY state again, the application should first create a new session.
Applications that are lazy and drain the entire event queue and only handle
the last encountered state would be affected by "skipping" the EXITING state.
2021-07-02 15:19:00 +00:00
Jakob Bornecrantz
5838d737b3
u/sink: Tidy and add some comments to queue sink (NFC)
2021-06-27 00:59:24 +00:00
Jan Schmidt
8192e74f76
d/wmr: Compute visible region for render rectangle.
...
Use the distortion function to calculate the visible limits of the
display and then configure the rendered FoV angles accordingly.
2021-06-26 03:52:32 +10:00
Jan Schmidt
dfe932ffd7
d/wmr: Add an extensible headset map.
...
Add a mechanism for recognising known headsets and handling specific
init/deinit sequences for those that need it.
2021-06-26 03:52:29 +10:00
Dan Weatherford
6bb3577b1b
d/wmr: Implement Lenovo explorer support.
...
Recognise the Lenovo explorer device
2021-06-26 03:52:29 +10:00
Jan Schmidt
bad625965a
d/wmr: Extract JSON configuration from the firmware.
...
Pull in the WMR config obfuscation key and extract the JSON
calibration data.
Based on a patch from Dan Weatherford <sabretooth@gmail.com>
2021-06-26 03:52:26 +10:00
Dan Weatherford
3ca80e9607
d/wmr: Add functions to read raw config data
...
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2021-06-26 03:52:26 +10:00
Jan Schmidt
0cf7b4a9b3
d/wmr: Add render distortion configuration
...
Take the parameters from the headset configuration and the existing
render FoV, and use them to instantiate a distortion mesh.
TODO: Reverse the distortion in order to calculate good FoV range
that covers the full view for each headset.
2021-06-26 03:52:23 +10:00
Jan Schmidt
f663727b07
d/wmr: Add some groundwork for config parsing.
...
Sketch out some groundwork for parsing WMR config blocks,
using some hard-coded values from my headset for now. Later,
this will be parsed from the headset JSON blob.
2021-06-26 03:52:16 +10:00
Dan Weatherford
fabf01ff39
aux/math: Add math_quat_slerp()
2021-06-25 17:40:07 +01:00
Jan Schmidt
4581a7a9a6
aux/math: Implement math_matrix_3x3_inverse.
...
Add a function to invert 3x3 matrices, to reverse 2D
affine transforms.
2021-06-25 17:40:07 +01:00
Christoph Haag
bcc50dbd4f
st/oxr: Add checks for Vulkan graphics bindings
2021-06-25 01:10:25 +02:00
Moses Turner
7461c57043
cmake: make ulv2 build a little better
2021-06-23 23:40:43 +01:00
Jakob Bornecrantz
47470cc8e2
d/ns: Use fread when reading from config file
2021-06-21 12:29:31 -05:00
Moses Turner
3569e4f2ed
d/ns: Fix 3D distortion FOV calc
...
co-authored-by: Nico Zobernig <nico.zobernig@gmail.com>
2021-06-21 12:29:31 -05:00
Moses Turner
bcadbea3aa
d/ns: Clean utility_northstar a bit
2021-06-21 12:29:31 -05:00
Moses Turner
7e385aa810
d/ns: Big refactor
2021-06-21 12:29:31 -05:00
Moses Turner
93ec678110
aux/util: Add North Star "VIPD" and "polynomial 2D" distortion methods
2021-06-21 12:29:31 -05:00
Moses Turner
017997fba3
aux/math: Add math_map_ranges function
2021-06-21 12:29:31 -05:00
Moses Turner
01bfed1694
aux/util: Make new u_extents_2d as alternative to u_device_simple_info
2021-06-21 14:49:35 +00:00
Jakob Bornecrantz
e554f9ee02
ipc: Fix NULL check stopping main app visibility events from working
2021-06-18 20:13:46 +01:00
Christoph Haag
ccb9777a47
d/vive: Set hand tracking values to actives
...
fixes !716 which introduced the need for setting hand joint active status.
2021-06-16 23:17:07 +02:00
Ryan Pavlik
ad44f42b24
aux/vk: Add fence import for windows
2021-06-15 17:37:14 -05:00
Ryan Pavlik
2d20a6436c
comp: Wrap a unistd include for Windows.
2021-06-15 17:37:14 -05:00
Jakob Bornecrantz
ebc2208a73
c/main: Also resize on VK_SUBOPTIMAL_KHR
2021-06-15 19:45:14 +00:00
Jakob Bornecrantz
9996d686e4
c/main: Tidy
2021-06-15 19:45:14 +00:00
Jakob Bornecrantz
1eebc12780
c/main: Refactor out viewport calculation into own function
2021-06-15 19:45:14 +00:00
Jakob Bornecrantz
6d011e25d4
c/main: Give the correct queue family argument to vkGetPhysicalDeviceSurfaceSupportKHR
2021-06-15 19:45:14 +00:00
Jakob Bornecrantz
f38932cb64
c/main: Tidy comp_renderer fence creation a bit
2021-06-15 19:45:14 +00:00
Jakob Bornecrantz
65ca3113f8
c/main: Allow to specifiy image usage for target images
2021-06-15 19:45:14 +00:00
Jakob Bornecrantz
fd1a916e0b
c/main: Tidy and add a bit of debug to comp_target_swapchain
2021-06-15 19:45:14 +00:00
Jakob Bornecrantz
0f07e5b899
c/main: Tweak swapchain formats a bit
2021-06-15 19:45:14 +00:00
Jakob Bornecrantz
928ae5b27a
c/render: Add support for non-freeable descriptor pools
2021-06-15 19:45:14 +00:00
Jakob Bornecrantz
6c033658a8
c/render: Add support for storage image descriptors
2021-06-15 19:45:14 +00:00
Jakob Bornecrantz
8a7d857dde
aux/vk: Add the option to handle optional device features
2021-06-15 19:45:14 +00:00
Jakob Bornecrantz
4bbc13f5d4
aux/vk: Add support for VK_EXT_robustness2 and tidy
2021-06-15 19:45:14 +00:00
Jakob Bornecrantz
bf27691280
aux/vk: Refactor out optional extension handling
2021-06-15 19:45:14 +00:00
Jakob Bornecrantz
57d24ecdbb
aux/vk: Make it possible to get a compute only queue
2021-06-15 19:45:14 +00:00
Jakob Bornecrantz
c42d681db0
aux/vk: Add vkCmdCopyBufferToImage and vkCmdCopyImageToBuffer
2021-06-15 19:45:14 +00:00
Jakob Bornecrantz
8899b267a6
aux/vk: Add vkCmdDispatch, vkCreateComputePipelines and vkResetDescriptorPool functions
2021-06-15 19:45:14 +00:00
Jakob Bornecrantz
4b9b1f991c
xrt: Add xrt_device_compute_distortion helper
2021-06-15 19:45:14 +00:00
Jakob Bornecrantz
b805742a53
c/main: Do not list VK_FORMAT_A2B10G10R10_UNORM_PACK32 as a supported format
2021-06-15 14:27:07 +00:00
Jakob Bornecrantz
aa3f071d2b
u/trace_marker: Refactor init to fix bug
2021-06-14 19:12:14 +01:00
Jakob Bornecrantz
c2c49cb6d3
u/trace_marker: Make sure to include headers outside of extern block
2021-06-14 19:12:12 +01:00
Moses Turner
6285223fd2
d/dai: Even more tidy
2021-06-11 18:49:50 +01:00
Jakob Bornecrantz
576593010f
d/dai: Add code so we can open mono cameras with compile time option
2021-06-11 16:48:30 +00:00
Jakob Bornecrantz
96248931cc
d/dai: Refactor a bit so we can at compile time support OAK-D
2021-06-11 16:48:30 +00:00
Moses Turner
d555b255fe
st/gui: Add support for depthAI camera in record scene
...
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2021-06-10 14:32:07 -05:00
Moses Turner
37cbbb6660
d/dai: Add simple DepthAI driver
...
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2021-06-10 14:32:07 -05:00
Moses Turner
01283257b2
xrt: clarify camera type (NFC)
2021-06-10 19:25:14 +01:00
quic_zhibinw
76cf6aeae4
st/oxr: Transform projection layer pose to global space.
2021-06-10 17:08:04 +08:00
Ryan Pavlik
2c87f57ad1
cmake: Make sure st_oxr exposes its optional vulkan/gl dependencies
...
Fixes builds of tests on Windows
2021-06-08 12:05:23 -05:00
Jakob Bornecrantz
f9b5097134
c/client: Use the EGL compositor's display in swapchain
2021-06-02 14:26:59 +00:00
Jakob Bornecrantz
b7b469089c
t/fm: Add simple FrameMat that wraps a cv::Mat
2021-05-31 13:43:19 +00:00
Christoph Haag
6ba07514ef
ipc: Add env var to ignore client/service version conflicts
2021-05-26 22:22:04 +02:00
Christoph Haag
f49d3ae404
ipc: Check that service and client are the same git revision
2021-05-26 22:21:08 +02:00
Jakob Bornecrantz
b3e9653994
t/gui: Show git hash in Window title (NFC)
2021-05-26 16:33:47 +01:00
Jakob Bornecrantz
606b23b5c4
d/rs: Tidy code (NFC)
2021-05-18 03:48:50 +01:00
Jakob Bornecrantz
855cdb4c29
aux/vk: Tidy code (NFC)
2021-05-18 03:48:50 +01:00
Moses Turner
5cb130cd08
d/rs: cleanup and initialize u_config_json with zero
2021-05-18 01:22:39 +00:00
Moses Turner
36bc45b686
util: make sure u_config_json.file_loaded is false if we didn't load the file
2021-05-18 01:22:39 +00:00
Christoph Haag
82d9ed75c2
aux/vk: Check that native handles are importable
2021-05-18 03:01:44 +02:00
zhibinw
92565b7f21
ipc/android: support create surface from runtime.
2021-05-17 16:20:29 +00:00
Jae Lee
df9ebf261f
d/illixr: Update ILLIXR driver.
2021-05-16 22:59:32 +00:00
Ryan Pavlik
bdc53b97a3
gradle: Apply suggestion from android studio
2021-05-14 14:55:08 -05:00
Ryan Pavlik
d11ef4ae1e
Revert "gradle: Only forward EIGEN3_INCLUDE_DIR definition if we actually have it set."
...
This reverts commit 0868a90a1f
.
2021-05-14 14:54:52 -05:00
Moses Turner
302e72b2fe
d/rs: remove superfluous rs_update_offset; add config options
2021-05-13 17:57:34 -05:00
Christoph Haag
f6e831d8fb
steamvr: Don't crash if we don't have bindings for device
2021-05-13 14:08:24 +02:00
Jakob Bornecrantz
13a5036b24
c/main: Make temp_vk be a pointer
2021-05-11 16:34:10 +00:00
Jakob Bornecrantz
9b6b5b7e6a
c/main: Do not copy vk_bundle
2021-05-11 16:34:10 +00:00
Jakob Bornecrantz
bd6e15c70c
c/main: Follow style of using vk variable for vk_bundle interactions
2021-05-11 16:34:10 +00:00
Jakob Bornecrantz
3af65d60d2
c/client: Follow style of using vk variable for vk_bundle interactions
2021-05-11 16:34:10 +00:00
Christoph Haag
28a29f8152
st/oxr: Fix xrGetSystemProperties crash in headless mode
...
fixes #125
v2: Handle sys->xsysc being NULL
2021-05-11 02:10:58 +02:00
Moses Turner
4ff7fb74ff
aux/util: only do tracing things if XRT_FEATURE_TRACING is enabled
2021-05-10 10:10:18 -05:00
Moses Turner
886a87e5ef
meson: add option for tracing
2021-05-10 10:10:07 -05:00
Christoph Haag
d384c90104
st/oxr: Check that VkPhysicalDevice in graphics binding matches suggested device
...
XR_KHR_vulkan_enable2:
physicalDevice VkPhysicalDevice must match the device specified by xrGetVulkanGraphicsDevice2KHR
XR_KHR_vulkan_enable:
physicalDevice VkPhysicalDevice must match the device specified by xrGetVulkanGraphicsDeviceKHR
XR_KHR_vulkan_enable:
Add a trivial check that xrGetVulkanGraphicsDeviceKHR is called before xrCreateSession.
(our cached suggested device will be XR_NULL_HANDLE if it has not been called).
The XR_KHR_vulkan_enable2 code path already contains this check.
2021-05-07 13:42:49 +02:00
Jakob Bornecrantz
35beaeead4
c/client: Add EGL comment (NFC)
2021-05-05 16:14:00 +00:00
Jakob Bornecrantz
c1ac7fc679
c/client: s/comp_egl_glue.c/comp_egl_client.c (NFC)
2021-05-05 16:14:00 +00:00
Jakob Bornecrantz
3a537b8374
c/client: Tidy EGL code (NFC)
2021-05-05 16:14:00 +00:00
Jakob Bornecrantz
12489295cb
c/client: Do not blindly try to restore no EGLDisplay contexts
2021-05-05 16:14:00 +00:00
Jakob Bornecrantz
41817b6e11
c/client: Tidy EGL code (NFC)
2021-05-05 16:14:00 +00:00
Jakob Bornecrantz
b3455555c2
u/trace_marker: Use Percetto/Perfetto for tracing
2021-05-05 17:00:35 +01:00
Jakob Bornecrantz
5c916fd77d
d/illixr: Use u_device_get_view_pose helper
2021-05-04 16:37:51 +00:00
Ryan Pavlik
b6f440fa26
aux/tracking: Move general docs to a separate header.
2021-05-04 11:21:46 -05:00
Ryan Pavlik
348b7dff3a
d/wmr: fix doxygen warning
2021-05-04 11:21:46 -05:00
Ryan Pavlik
77baa8b7e6
aux/android: Move code into official namespaces
2021-05-04 11:21:46 -05:00
Ryan Pavlik
265c49d337
a/math: Move functionality into official namespaces.
2021-05-04 11:04:32 -05:00
Ryan Pavlik
2ae3ce883d
a/util: Namespace documentation
2021-05-04 11:04:32 -05:00
Ryan Pavlik
d88aefafbc
a/tracking: Migrate C++ APIs to the official namespaces now that we have some.
2021-05-04 10:34:43 -05:00
Ryan Pavlik
bc4cf1cb93
external/jnipp: Move away from explicit instantiation of function templates.
...
Makes it too hard to track down errors: they showed up as linker errors, instead of compiler errors.
2021-04-30 17:58:21 -05:00
Ryan Pavlik
4ef5b65487
d/wmr: Fix typo
2021-04-30 17:57:50 -05:00
Ryan Pavlik
f35ce4ea9b
external: Update android-jni-wrap
2021-04-30 17:57:50 -05:00
Ryan Pavlik
d31bab9398
external: Update jnipp
2021-04-30 17:57:50 -05:00
Ryan Pavlik
a66f567392
aux/android: Remove unused include
2021-04-30 17:57:50 -05:00
Ryan Pavlik
cf2abe7d88
u/process: Fix a warning by marking a function as maybe unused.
2021-04-30 17:57:50 -05:00
Ryan Pavlik
125b0799a3
aux/android: Update wrappers
2021-04-30 17:57:50 -05:00
Ryan Pavlik
45c0ca2ef9
aux/android: Expose native pointer from MonadoView
2021-04-30 17:34:21 -05:00
Ryan Pavlik
faa753c667
android: Annotation, docs, and formatting improvements for MonadoView
2021-04-30 17:34:21 -05:00
Ryan Pavlik
e4f2ac3286
android: Revise MonadoView so it doesn't require an Activity.
2021-04-30 17:34:21 -05:00
Ryan Pavlik
417de87cb2
a/util: Add a generic callbacks collection.
...
Based on the work for the Android surface callbacks,
just finished being made generic since we'll need to reuse it.
2021-04-30 17:34:21 -05:00
Ryan Pavlik
928771fddf
t/oxr_android: Update recyclerview, and do not use wildcard version
2021-04-30 17:34:21 -05:00
Ryan Pavlik
ad31345986
d/qwerty: Fix doxygen warnings.
...
Comments were a bit too clever to work across doxygen versions.
2021-04-30 17:34:21 -05:00
Jakob Bornecrantz
1af00e7cbe
c/client: Fix swapchain leak
2021-04-30 21:56:09 +00:00
Jakob Bornecrantz
61d4d86874
ipc: Remove debug print (NFC)
2021-04-30 21:56:09 +00:00
Jakob Bornecrantz
e0bf0a423f
st/oxr: Make Vulkan optional
2021-04-30 21:53:21 +00:00
Ryan Pavlik
e82fafb186
cmake: Allow C++17 mode on all platforms, all modules.
...
Remove per-module C++17 settings.
2021-04-30 15:37:04 -05:00
Jakob Bornecrantz
daccde940e
d/wmr: Fix accel axis conversion
2021-04-28 23:26:09 +00:00
Moses Turner
f09e02c517
d/ns: fix resolution from 2880x1440 to 2880x1600
2021-04-28 18:07:07 -05:00
Ryan Pavlik
c6a3dec08e
doc: Rename sample NorthStar config for file extension reasons, and add schema
2021-04-28 21:13:34 +00:00
Ryan Pavlik
23c73e145b
a/util: Make JSON reading more robust.
...
We were missing some null checks.
2021-04-28 21:13:34 +00:00
Ryan Pavlik
cfbb81cb71
a/util: Add schema directive to json before writing.
2021-04-28 21:13:34 +00:00
Jakob Bornecrantz
76ed4d16ce
c/client: Tidy and lower the logging level
2021-04-28 12:25:53 +00:00
Jakob Bornecrantz
5befa76f42
m/3dof: Add manual way to set the gyro bias
2021-04-28 12:25:53 +00:00
Jakob Bornecrantz
8a191daa29
ipc: Add session_destroy to handle session destruction
2021-04-27 22:47:11 +00:00
Jakob Bornecrantz
8a715ec41c
xrt: Add new error return for IPC
2021-04-27 22:47:11 +00:00
Jakob Bornecrantz
0c685cf7ba
d/qwerty: Use u_device_get_view_pose helper
2021-04-27 22:18:39 +00:00
Ryan Pavlik
7d1c8480b3
xrt: Fix an incomplete compositor method doc.
2021-04-27 22:05:00 +00:00
Ryan Pavlik
8af1bfbf8c
a/u_logging: Docs for logging.
2021-04-27 22:05:00 +00:00
Ryan Pavlik
2c382734ca
a/bindings: Clean up formatting of script
2021-04-27 16:43:38 -05:00
Ryan Pavlik
d8cf72f6d9
a/bindings: Simplify as suggested by IDE
2021-04-27 16:43:38 -05:00
Ryan Pavlik
5a7412e86d
a/bindings: Fix typos
2021-04-27 16:43:38 -05:00
Jakob Bornecrantz
b81d3138af
d/remote: Assert if st/oxr calls the wrong thing (NFC)
2021-04-27 17:34:28 +01:00
Jakob Bornecrantz
385af79e82
d/survive: Add comment and assert to get_view_pose (NFC)
2021-04-27 17:19:18 +01:00
Jakob Bornecrantz
a6b908f3ce
d/vive: Add comment and assert to get_view_pose (NFC)
2021-04-27 16:51:56 +01:00
Jakob Bornecrantz
4e572af96a
st/oxr: Rename oxr_session_views to oxr_session_locate_views (NFC)
2021-04-27 01:44:16 +01:00
Jakob Bornecrantz
4da87635d1
st/oxr: Tidy xrLocateViews function
2021-04-27 01:44:16 +01:00
Jakob Bornecrantz
78f7d5ce91
ipc: Assert if st/oxr calls the wrong thing
2021-04-27 01:44:16 +01:00
Jakob Bornecrantz
8277df418d
xrt: Make eye_relation argument to xrt_device_get_view_pose const (NFC)
2021-04-27 01:44:13 +01:00
Ryan Pavlik
4dd96a666b
u/ht: Const-correctness
2021-04-26 22:38:42 +00:00
Ryan Pavlik
bc279076b8
u/ht: Port to new unit-vector defines
2021-04-26 22:38:42 +00:00
Ryan Pavlik
334b59f9fa
d/qwerty: Port to new unit-vector defines
2021-04-26 22:38:42 +00:00
Ryan Pavlik
a80d159b07
t/ht: Port to using unit-vector defines.
2021-04-26 22:38:42 +00:00
Ryan Pavlik
19a1228bd2
xrt: Add unit vector defines for xrt_vec3
2021-04-26 22:38:42 +00:00
Ryan Pavlik
3cfaa2ea9f
st/oxr: Port to using new zero/identity defines
2021-04-26 22:38:42 +00:00
Ryan Pavlik
48d043796c
d/vive: Port to using new zero/identity defines
2021-04-26 22:38:42 +00:00
Ryan Pavlik
c3ce7f33a0
d/ht: Port to using new zero/identity defines
2021-04-26 22:38:42 +00:00
Ryan Pavlik
06eab724ec
d/remote: Port to using new zero/identity defines
2021-04-26 22:38:42 +00:00
Ryan Pavlik
fde3e631cf
d/qwerty: Port to using new zero/identity defines
2021-04-26 22:38:42 +00:00
Ryan Pavlik
85ea0f8f78
d/oh: Port to using new zero/identity defines
2021-04-26 22:38:42 +00:00
Ryan Pavlik
71fabf50c5
d/north_star: Port to using new zero/identity defines
2021-04-26 22:38:42 +00:00
Ryan Pavlik
2dd81f53e3
comp: Port to using new zero/identity defines
2021-04-26 22:38:42 +00:00
Ryan Pavlik
6f46fcc251
aux/vive: Port to using new zero/identity defines
2021-04-26 22:38:42 +00:00
Ryan Pavlik
20053252aa
m/space: Port to using new zero/identity defines
2021-04-26 22:38:42 +00:00
Ryan Pavlik
cb8925ae04
u/ht: Port to using new zero/identity defines
2021-04-26 22:38:42 +00:00
Ryan Pavlik
edc6490d74
a/math: Port to using the new zero/identity defines
2021-04-26 22:38:42 +00:00
Ryan Pavlik
8c0aabfc0d
xrt: Add definitions for zero/identity initializers for pose-related structs.
2021-04-26 22:38:42 +00:00
Ryan Pavlik
e44c6d56c7
d/wmr: Port to u_device_get_view_pose
2021-04-26 22:38:42 +00:00
Ryan Pavlik
3b0a6a558c
d/vive: Port to u_device_get_view_pose
2021-04-26 22:38:42 +00:00
Ryan Pavlik
2d47c496e6
d/survive: Port to u_device_get_view_pose
2021-04-26 22:38:42 +00:00
Ryan Pavlik
6682bb0291
d/hdk: Port to u_device_get_view_pose
2021-04-26 22:38:42 +00:00
Ryan Pavlik
52c00436c7
d/remote: Port to u_device_get_view_pose
2021-04-26 22:38:42 +00:00
Ryan Pavlik
89895be83b
d/psvr: Port to u_device_get_view_pose
2021-04-26 22:38:42 +00:00
Ryan Pavlik
7c5342efe2
d/oh: Port to u_device_get_view_pose
2021-04-26 22:38:42 +00:00
Ryan Pavlik
2774b3375f
d/north_star: Port to u_device_get_view_pose
2021-04-26 22:38:42 +00:00
Ryan Pavlik
d45e13642e
d/dummy: Port to u_device_get_view_pose
2021-04-26 22:38:42 +00:00
Ryan Pavlik
f4a1c5344b
d/android_sensors: Port to u_device_get_view_pose
2021-04-26 22:38:42 +00:00
Ryan Pavlik
2adbde4673
a/util: Add u_device_get_view_pose helper function.
...
I saw many, many exact copies of this function in the code: good to de-duplicate them.
2021-04-26 22:38:42 +00:00
Jakob Bornecrantz
41ad1dcf99
c/main: Better Vulkan error printing
2021-04-26 22:56:08 +01:00
Jakob Bornecrantz
8c26be37ae
u/ft: Warn when missing frames
2021-04-26 22:55:41 +01:00
Jakob Bornecrantz
159eeb81a7
c/main: Pass in preferred dimensions to create images
...
Fixes #120
2021-04-26 20:28:32 +00:00
Jakob Bornecrantz
9c4b41f58e
c/main: Assert that preferred dimensions are somewhat valid
2021-04-26 20:28:32 +00:00
Jakob Bornecrantz
2efd2f543f
c/main: Tidy code in comp_target_swapchain (NFC)
2021-04-26 20:28:32 +00:00
Jakob Bornecrantz
5915318654
c/main: Clarify in code that it is preferred dimensions (NFC)
2021-04-26 20:28:32 +00:00
Jakob Bornecrantz
ceb6c8b3fe
c/main: Remove trailing newline in error message (NFC)
2021-04-26 20:28:32 +00:00
Jakob Bornecrantz
846a663942
c/main: Make instance extension list more readable (NFC)
2021-04-26 20:28:32 +00:00
Jakob Bornecrantz
64093dfaaf
c/main: Expose more formats
2021-04-26 20:26:30 +01:00
Jakob Bornecrantz
a377fb135f
c/client: Vulkan formats are listed as numbers not hex
2021-04-26 18:52:31 +00:00
Jakob Bornecrantz
c1d18f9b25
c/client: Add support for more formats in GL
2021-04-26 18:52:31 +00:00
Ryan Pavlik
0868a90a1f
gradle: Only forward EIGEN3_INCLUDE_DIR definition if we actually have it set.
2021-04-26 14:27:21 +00:00
Ryan Pavlik
3df2708a5d
st/gui: Add missing copyright header to file
2021-04-26 14:08:57 +00:00
Ryan Pavlik
d2c81681fe
external/stb: Add license sidecar file for stb_image_write.h
2021-04-26 14:08:57 +00:00
Ryan Pavlik
6d4b098e65
t/steamvr_drv: Add license sidecar files
2021-04-26 14:08:57 +00:00
Christoph Haag
08c91d4136
st/oxr: Fix printing of the format in error message
2021-04-26 14:54:30 +02:00
Boris-Chengbiao Zhou
d05aa9a458
aux/vk: Extend the correct structure for VK_EXT_global_priority
2021-04-24 17:50:18 +02:00
Jakob Bornecrantz
1ef79820e6
d/wmr: Clarify struct layout (NFC)
2021-04-23 22:48:56 +01:00
Jakob Bornecrantz
0807ce6ddd
d/wmr: Only take the lock once per received packet
2021-04-23 22:47:40 +01:00
Jakob Bornecrantz
13d127035b
d/wmr: Remove raw_accel and raw_gyro fields (NFC)
2021-04-23 19:06:05 +01:00
Jakob Bornecrantz
1b4b180e61
d/wmr: Do prediction when returning poses
2021-04-23 18:24:13 +01:00
Jakob Bornecrantz
a41a869c71
d/wmr: Rename variables and tidy code (NFC)
2021-04-23 14:50:58 +01:00
Christoph Haag
2b70189b45
d/wmr: log at least one space in trace log
...
Fixes warnings
../src/xrt/drivers/wmr/wmr_hmd.c:83:16: warning: zero-length gnu_printf format string [-Wformat-zero-length]
83 | WMR_TRACE(wh, "");
| ^~
2021-04-22 02:41:48 +02:00
Jakob Bornecrantz
741dcbdf40
ipc: Return XRT_ERROR_IPC_SESSION_NOT_CREATED if so is the case
2021-04-21 18:03:10 +00:00
Jakob Bornecrantz
5627849135
ipc: More trace_marker functions
2021-04-21 18:03:10 +00:00
Jakob Bornecrantz
3953321129
ipc: Return error from ipc_call_session_create in create_native_compositor
2021-04-21 18:03:10 +00:00
Jakob Bornecrantz
c49abf9103
ipc: Print out all error messages, and values
2021-04-21 18:03:10 +00:00
Jakob Bornecrantz
576ff7d252
xrt: Add new IPC session not created error
2021-04-21 18:03:10 +00:00
Jakob Bornecrantz
5105148c45
xrt: Correct error number
2021-04-21 18:03:10 +00:00
Jakob Bornecrantz
7af531a6c5
c/main: Refactor so we can do an early acquire
2021-04-21 17:56:29 +00:00
Jan Schmidt
bc4661aa48
wmr: Don't start reading thread until setup is complete.
...
Make sure the headset struct is fully configured before
starting the reading thread, otherwise we can get a crash if an
IMU update arrives for processing before the 3dof fusion is
ready.
2021-04-22 03:39:16 +10:00
Ryan Pavlik
4488699e55
d/ultraleap_v2: Add missing copyright/license header, reflow, and fix markdownlint warnings.
2021-04-21 11:14:49 -05:00
Christoph Haag
341fa45eda
ipc: Print socket filename and errno in error message
2021-04-20 16:04:26 +02:00
Christoph Haag
885a668a03
d/oh: Fix number of inputs for generic controller
...
fixes memory corruption
2021-04-20 12:43:56 +02:00
nima01
027ce21bd5
d/wmr: Initial 3DoF WinMR driver
...
Only supports HP Reverb G1 and G2 for now.
Squash of the following commits:
Initial boilerplate code for HP Reverb G1 driver implementation
Detect and open MS HoloLens Sensors interface
Power up HMD display when headset is detected, and som general code cleanup
Add Reverb G2 PID
reverb_g1: Fix defines
reverb_g1: Run clang format
wmr: Rename Reverb G1 driver to WMR driver
d/wmr: Code style
d/wmr: Flesh out driver a bit more
d/wmr: Code style
Add basic 3dof rotational tracking
d/wmr: Code style
d/wmr: More tidy
xrt: Remove XRT_DEVICE_REVERB_G1
d/wmr: Even more tidy
d/wmr: Changes for Reverb G2
d/wmr: Fixes since last commit
wmr: Fix the meson build and auto-enable the driver
d/wmr: Sleep for compositor to get modes
d/wmr: Use os_hid for control device
d/wmr: Remove hidapi as a dependancy
d/wmr: Move sensor reading to own thread and fix locking
d/wmr: Read from control device and handle more unknown messages
d/wmr: Decode IPD value from control device
d/wmr: Remove all left over dummy driver fields
Co-author: nima01 <nima_zero_one@protonmail.com>
Co-author: Jakob Bornecrantz <jakob@collabora.com>
Co-author: Jan Schmidt <jan@centricular.com>
2021-04-19 13:33:01 +00:00
Jakob Bornecrantz
0058525457
util: Depend on bindings
2021-04-19 14:26:51 +01:00
Christoph Haag
c47775a95d
comp: Fix warning after Vulkan 1.2.174 VK_NULL_HANDLE change
...
../src/xrt/compositor/main/comp_layer_renderer.c:317:17: warning: initialization of 'unsigned int' from 'void *' makes integer from pointer without a cast [-Wint-conversion]
317 | .subpass = VK_NULL_HANDLE,
| ^~~~~~~~~~~~~~
2021-04-19 13:04:59 +02:00
Christoph Haag
686d12d66f
p/prober: Print info for applied tracking override
2021-04-19 12:53:47 +02:00
Christoph Haag
26d93c52df
d/multi: Use supplied pose input name enum
2021-04-19 12:53:47 +02:00
Christoph Haag
471b876725
u_config_json: Load tracking override pose input name
2021-04-19 12:53:47 +02:00
Christoph Haag
664c103a3e
u_config_json: Store tracking override pose input name
2021-04-19 12:53:47 +02:00
Christoph Haag
fa79451858
build/cmake: link generated bindings to aux_util
2021-04-19 12:53:47 +02:00
Christoph Haag
cffd009fe9
st/gui: Add tracker pose input name selection
2021-04-19 12:53:46 +02:00
Christoph Haag
e9eba9a2b4
aux/bindings: Generate char* <-> enum for all used inputs
2021-04-19 12:53:14 +02:00
Jakob Bornecrantz
daff92a275
c/main: None functional refactor of renderer.
...
Not ment to change the functionallity of the code only reflow the code.
2021-04-17 00:12:22 +01:00
Christoph Haag
598c1a3b56
d/ohmd: Only set output name if there is an output
...
This needs to be revisited after OpenHMD gets a proper API for haptic feedback.
closes #119
2021-04-16 16:41:44 +02:00
Jakob Bornecrantz
5d605c7b3f
c/main: Do not create images when initing swapchain.
2021-04-16 02:27:22 +01:00
Ryan Pavlik
1521953813
c/main: Re-arrange comp_renderer to allow late init.
...
Co-author: Jakob Bornecrantz <jakob@collabora.com>
2021-04-16 02:27:22 +01:00
Ryan Pavlik
1cf39ec2c0
c/main: Add comp_target::has_images, and implement in comp_target_swapchain.
2021-04-16 01:51:05 +01:00
Ryan Pavlik
90192118d0
c/main: Add comp_target::check_ready, and implement in comp_target_swapchain.
2021-04-16 01:45:38 +01:00
Jakob Bornecrantz
780ec4fac9
c/main: Turn debug into spew
2021-04-16 01:45:38 +01:00
Ryan Pavlik
7c2ea1369f
c/main: Normalize destroy pattern for comp_renderer.
2021-04-15 23:28:47 +01:00
Ryan Pavlik
70982e9c39
c/main: Remove unimplemented comp_renderer function.
2021-04-15 23:28:47 +01:00
Ryan Pavlik
04c9a7d892
c/main: Normalize comp_layer_renderer_destroy convention.
2021-04-15 23:28:47 +01:00
Ryan Pavlik
ffe458fdba
c/main: Add comp_layer_renderer docs.
2021-04-15 23:28:47 +01:00
Ryan Pavlik
80da6fe3b8
c/main: Add comp_renderer docs.
2021-04-15 23:28:47 +01:00
Ryan Pavlik
ab5f9ae9d8
c/main: Add comp_target docs.
2021-04-15 23:28:47 +01:00
Ryan Pavlik
969c78efbd
c/client: Fix comment.
2021-04-15 23:28:47 +01:00
Christoph Haag
fd6bd0f592
ipc: Use xdg runtime directory for socket
...
u_file_get_runtime_dir falls back to /tmp if $XDG_RUNTIME_DIR is not set.
ipc: %t/monado_comp_ipc socket for systemd socket activation
2021-04-15 21:42:06 +00:00
Christoph Haag
4ea68b89a4
xrt: Add u_process, backed by libbsd's pidfile
...
Delete stale ipc files in ipc server when not already running.
If built without libbsd, fall back to previous behavior of complaining about existing ipc files and exit.
2021-04-15 21:42:06 +00:00
Christoph Haag
c92bc0a704
xrt: Add u_file_get_runtime_dir() and u_file_get_path_in_runtime_dir()
...
Analog to u_file_get_path_in_config_dir.
2021-04-15 21:42:06 +00:00
Jakob Bornecrantz
0e18e1f8b0
d/qwerty: Add SDL include dirs
2021-04-15 21:27:13 +00:00
Jakob Bornecrantz
cabaece344
st/oxr: Print value on bad layer type
2021-04-15 21:27:13 +00:00
Jakob Bornecrantz
c24a20ce18
t/cli: Fix warnings
2021-04-15 17:38:08 +01:00
Jakob Bornecrantz
74c9531d4f
st/oxr: Use right enum for ret check
2021-04-15 17:38:06 +01:00
Jakob Bornecrantz
f434de27bd
st/gui: Fix warning (false positive)
2021-04-15 17:38:05 +01:00
Jakob Bornecrantz
26756cc52d
aux/vk: Fix use free of stack variable and use correct return
2021-04-15 17:38:03 +01:00
Jakob Bornecrantz
05f14461a3
t/psvr: Fix warning
2021-04-15 17:38:01 +01:00
Jakob Bornecrantz
898bf15a08
u/tf: Use new trace marker helpers
2021-04-14 01:55:59 +00:00
Jakob Bornecrantz
c750447add
u/trace_marker: Add render timing support
2021-04-14 01:55:59 +00:00
Jakob Bornecrantz
52d1c4d834
u/trace_marker: Add json writing helpers
2021-04-14 01:55:59 +00:00
Jakob Bornecrantz
654043ede5
ipc: Remove stale todo
2021-04-13 23:21:14 +01:00
Jakob Bornecrantz
c8cde9c447
ipc: Set correct reference count on swapchain
2021-04-13 23:21:14 +01:00
Jakob Bornecrantz
7dc132a207
c/client: Set correct reference on swapchain
2021-04-13 23:21:14 +01:00
Jakob Bornecrantz
7c77625da9
st/oxr: Set visibility and z_order if multi compositor controls are available
2021-04-13 16:56:17 +00:00
Jakob Bornecrantz
f82f289907
u/rt: Also print what kind of point we are marking when tracing
2021-04-13 16:56:17 +00:00
Jakob Bornecrantz
b48cdfed44
c/main: Fix xrt_compositor::wait_frame
2021-04-13 16:56:17 +00:00
Jakob Bornecrantz
4507804819
c/multi: Implement xrt_compositor::wait_frame
2021-04-13 16:56:17 +00:00
Ryan Pavlik
cb2710db87
comp: Improve docs on comp_target_swapchain
2021-04-13 11:46:53 -05:00
Ryan Pavlik
1e1fe01374
comp: Doc improvements.
2021-04-13 11:46:53 -05:00
Ryan Pavlik
701ea290d0
os: Fix comment typo.
2021-04-13 11:46:53 -05:00
Ryan Pavlik
64c56ef8d0
editorconfig: Update
2021-04-13 11:46:53 -05:00
Ryan Pavlik
65a7b490a8
android: Add support for casting Context to Activity
2021-04-13 11:46:53 -05:00
Ryan Pavlik
43e0206abc
st/oxr: Implement loader init extension.
2021-04-13 11:33:50 -05:00
Ryan Pavlik
142a9b4cb5
st/oxr: Add XR_KHR_loader_init and ..._android extension
2021-04-13 11:33:50 -05:00
Jakob Bornecrantz
1b51cbd1a7
aux/vk: Add support for VK_EXT_global_priority
2021-04-12 22:16:31 +00:00
Jakob Bornecrantz
796f3cf792
c/main: Set default logging level to INFO
2021-04-12 22:16:31 +00:00
Jakob Bornecrantz
c9c362e16a
c/multi: Overwrite stale scheduled frames
2021-04-12 22:16:31 +00:00
Jakob Bornecrantz
b0c9f2a1d9
c/multi: Break potential long running tasks into functions for better trace_marker logging
2021-04-12 22:16:31 +00:00
Jakob Bornecrantz
95e95ba9b5
c/render: Tidy mesh shader
2021-04-12 22:16:31 +00:00
iVRy VR
0064989e8b
t/psvr: Various fixes and changes
...
- Fix out of array bounds crash, curr_y can be out of bounds.
- Set tracked bits appropriately.
- Use m_imu_3dof for orientation.
2021-04-12 15:02:16 +00:00
Moses Turner
7cd2a33737
drivers: switch blend mode to array
2021-04-11 04:08:49 -05:00
Moses Turner
36a48bd62b
aux/util: switch blend mode to array
2021-04-11 04:08:49 -05:00
Moses Turner
c53eba34d0
ipc: switch blend mode to array
2021-04-11 04:08:49 -05:00
Moses Turner
1062ef35fc
st/oxr: switch blend mode to array
2021-04-11 04:08:49 -05:00
Moses Turner
6f93b4c718
inc/xrt: switch blend mode to array
...
In order of how preferred they are.
2021-04-11 04:08:49 -05:00
Ryan Pavlik
c906151fb1
util: Fix doxygen warnings
2021-04-09 18:22:42 -05:00
Ryan Pavlik
d6d933f20d
xrt: Fix doxygen warnings.
2021-04-09 18:16:54 -05:00
Ryan Pavlik
0450e317e1
cmake: prober requires drv_multi now.
2021-04-09 18:16:39 -05:00
Ryan Pavlik
1ce306cb55
cmake: Fix include dir scope for comp_multi
2021-04-09 18:11:46 -05:00
Ryan Pavlik
cf08cbba78
aux/vk: Docs for Vulkan native import helpers.
2021-04-09 18:11:52 +01:00
Ryan Pavlik
dde274b13e
comp: Fix typo.
2021-04-09 18:11:52 +01:00
Ryan Pavlik
322f6d473a
util: Don't try to use $HOME or $XDG_CONFIG_HOME on Android.
2021-04-09 18:11:52 +01:00
Ryan Pavlik
b56441702c
st/oxr: Clean up Android message.
2021-04-09 18:11:52 +01:00
zhibinw
d7f0380f53
ipc/android: Dup the socket fd in native side, close the fd on java side.
2021-04-09 16:42:00 +00:00
Christoph Haag
e7f82c297a
st/oxr: Fix running when only one hand suports hand tracking
2021-04-08 20:32:55 +02:00
Christoph Haag
08e39a1a0e
d/survive: Increase device detection timeout
...
With libsurvive 20127ef1bbb9206c9b429de47b891fc71d9df355 it can take a bit longer for devices to appear.
2021-04-08 19:37:09 +02:00
Jakob Bornecrantz
aca09bdebf
c/multi: Do not display frames before they are to be displayed
...
This follows the OpenXR spec that says that a frame might not be
displayed before XrFrameEndInfo::displayTime value.
2021-04-07 15:41:47 +01:00
Jakob Bornecrantz
736b9abdbe
u/rt: Print frame period and tidy
2021-04-07 15:41:47 +01:00
Jakob Bornecrantz
b68041fb93
u/rt: Tweak IIR alpha numbers
2021-04-07 15:41:47 +01:00
Jakob Bornecrantz
8606eb9d11
u/rt: Adjust app period depending on app time
2021-04-07 01:05:38 +01:00
Jakob Bornecrantz
1b0a9acb56
u/rt: Adjust app time during runtime
2021-04-07 01:04:20 +01:00
Jakob Bornecrantz
8215af5e5c
u/rt: Refactor render timing
2021-04-07 01:04:20 +01:00
Jakob Bornecrantz
670906ea0e
u/ft: Spelling
2021-04-07 01:04:20 +01:00
Jakob Bornecrantz
971f88f34f
u/ft: Rename frame timing functions
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
5dbcca65c5
u/tr: Refactor rendering timing code
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
d745396396
u/ft: Tweak frame timing numbers
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
bcf9b62fc0
ipc: Adopt to new multi client interface
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
f14958f2b0
c/main: Explicitly wait for GPU work to finish
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
bf2a90fec5
c/main: Switch to multi client layer
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
205db10353
c/main: Implement new predict and mark frame functions
2021-04-07 00:50:10 +01:00
Ryan Pavlik
22df47f974
c/main: Port to using u_graphics_sync_unref
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
2035da1ec9
c/main: Implement fence functions
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
086bef8545
c/multi: Add new multi-client helper
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
efdba1602f
xrt: Pass along display_time_ns to layer begin
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
f3abddf224
xrt: Add multi session managment interface
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
353c7735bf
xrt: Add alternative functions to wait_frame
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
1f3896d729
xrt: Add new error code
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
2ab99b821b
xrt: Add compositor fence interface
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
07fb9941b3
aux/vk: Add fence import function
2021-04-07 00:50:10 +01:00
Ryan Pavlik
61c1044089
u/handles: Add graphics sync handle helpers.
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
c876087ee7
u/time: Add helper comparising functions
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
5c15b60cf2
st/oxr: Add more trace markers
2021-04-07 00:50:10 +01:00
Moses Turner
0ef8f55ef1
targets/oxr/sdl2_hack: only do Qwerty things if we are building qwerty driver
2021-04-04 22:38:24 +01:00
Moses Turner
b62b6eaef7
c/main: Follow OpenXR spec with blackground colour, tweek no layer colour.
...
Make background colour completely black if there are layers to display, to
follow OpenXR spec. Make the default background colour darker.
2021-04-04 20:34:35 +01:00
Christoph Haag
2b962a5bfb
u_config_json: Create root node on save if no config file loaded
...
If no config file is loaded, json->root can be uninitialized instead of NULL.
Fixes #117
2021-04-04 21:02:41 +02:00
Jakob Bornecrantz
1b0d67a895
st/gui: Add recording interface
2021-04-03 03:07:21 +01:00
Jakob Bornecrantz
fac93948b3
st/gui: Add STB image writing support
2021-04-03 03:07:21 +01:00
Jakob Bornecrantz
95e71ebba7
external: Add STB header library
2021-04-03 03:07:21 +01:00
Jakob Bornecrantz
30573fb90f
a/gst: Add GStreamer helper code
...
Co-authored-by: Aaron Boxer <aaron.boxer@collabora.com>
2021-04-03 03:07:21 +01:00
Jakob Bornecrantz
2b63fd8078
xrt: Add helper push frame function
2021-04-03 03:07:21 +01:00
Jakob Bornecrantz
98f81734c8
d/vf: Add clock overlay to videotestsource
2021-04-03 03:07:21 +01:00
Jakob Bornecrantz
1155106dc1
d/v4l2: Be more tolorant for long pipelines
2021-04-03 03:07:21 +01:00
Ryan Pavlik
d34e1464fd
comp: Update file header.
2021-04-02 18:02:10 -05:00
Ryan Pavlik
c81ae4670b
comp: Properly service Windows message queue.
2021-04-02 17:47:40 -05:00
Ryan Pavlik
607eae4fdd
aux/vk: Fix creation of Windows external memory backed image.
2021-04-02 17:29:55 -05:00
Christoph Haag
3a60df33aa
d/openhmd: Add support for rift CV1 controllers
2021-04-02 15:48:10 +00:00
Christoph Haag
91a3d8b9cb
st/steamvr: Add rift controllers
2021-04-02 15:48:10 +00:00
Christoph Haag
7ce07aeedf
st/oxr: Support all known interaction profiles in selection
...
Remove the default case to generate a compiler warning when new profiles
are missing.
2021-04-02 15:48:10 +00:00
Christoph Haag
85ff0dc73c
xrt: Add msft_hand_interaction path to cache and check func
2021-04-02 15:48:10 +00:00
Jakob Bornecrantz
9695e90d95
d/vive: Setup the variable tracking for imu fusion
2021-04-02 16:00:42 +01:00
Jakob Bornecrantz
cebc8ebed5
st/oxr: No longer need to work around depth Swapchain on Unreal
2021-04-02 16:00:42 +01:00
Moses Turner
55b86fe815
d/ulv2: Create the driver.
...
Co-authored-by: Moses Turner <mosesturner@protonmail.com>
Co-authored-by: Christoph Haag <christoph.haag@collabora.com>
2021-04-01 02:10:33 +02:00
Moses Turner
b319371500
d/survive: for now always set xrt_hand_joint_set->is_active to true
2021-04-01 02:02:26 +02:00
Moses Turner
6a833b1131
st/oxr+xrt: add is_active to struct xrt_hand_joint_set to give drivers an easy way to deactivate hands
2021-04-01 02:02:26 +02:00
Moses Turner
a027852767
aux/math: implement math_pose_identity.
2021-04-01 02:02:26 +02:00
Moses Turner
c776a19e15
aux/math: Implement math_matrix_3x3_multiply.
2021-04-01 02:02:26 +02:00
Moses Turner
d54b653751
d/multi: correctly override hand pose for "attached" tracking
2021-04-01 02:02:26 +02:00
Christoph Haag
4061bf7707
d/multi: Add "attached" tracking override type
...
Example usage: Leap Motion attached to a Northstar headset.
2021-04-01 02:02:26 +02:00
Ryan Pavlik
0139aa1525
comp: Fix conversion warnings
2021-03-31 12:02:41 -05:00
Ryan Pavlik
d4c352ef69
comp: Improve Windows errors.
2021-03-31 12:02:41 -05:00
Ryan Pavlik
942091c10d
comp: Enable VK_EXT_debug_report extension
2021-03-31 12:02:41 -05:00
Ryan Pavlik
061ae2f7b7
xrt: Fix more narrowing conversion warnings.
2021-03-31 12:02:41 -05:00
Ryan Pavlik
592df37c0f
comp: Fix some narrowing conversion warnings
2021-03-31 12:02:41 -05:00
Ryan Pavlik
78301ae5eb
comp: Use precise sleeper.
2021-03-31 12:02:41 -05:00
Ryan Pavlik
f65635f378
aux/vk: Fix doxygen warning
2021-03-31 12:02:41 -05:00
Ryan Pavlik
b3280c5bc1
os/time: Small cleanup.
2021-03-31 12:02:41 -05:00
Ryan Pavlik
aa3d1c1f6a
os: Add os_precise_sleeper.
...
Mostly to be able to use a timer on Windows.
2021-03-31 12:02:41 -05:00
Ryan Pavlik
47bf17a0cc
os: Improve comment and prototype for os_nanosleep
2021-03-31 12:02:41 -05:00
Ryan Pavlik
0717975853
os: Improve timestamp retrieval on Windows.
2021-03-31 12:02:41 -05:00
Ryan Pavlik
00915cab0f
os: Add caveats to some timespec conversion functions.
2021-03-31 12:02:41 -05:00
Ryan Pavlik
ddc9b00d14
os: Adjust how we compute the timeout for a semaphore.
...
Preparation for overhaul of timing on Windows.
2021-03-31 12:02:36 -05:00
Ryan Pavlik
b3772e2710
cmake: Support multi-config generators
2021-03-30 20:46:00 +00:00
Ryan Pavlik
aefd8c0697
ipc/android: Be sure to init the mutexes.
2021-03-30 20:46:00 +00:00
Ryan Pavlik
58ebd7ee20
xrt: Adjust how we define ssize_t on MSVC
2021-03-30 20:46:00 +00:00
Ryan Pavlik
4e11abc06b
aux/vk: Fix warning about narrowing conversion.
2021-03-30 20:46:00 +00:00
Ryan Pavlik
ace8dc8c46
comp: clean up comment
2021-03-30 20:46:00 +00:00
Ryan Pavlik
8553b5f901
comp/vk_client: Be sure to init/de-init the mutexes in the vulkan bundle
2021-03-30 20:46:00 +00:00
Ryan Pavlik
3f2b09ae54
comp: Comment cleanup
2021-03-30 20:46:00 +00:00
Ryan Pavlik
be5a273659
comp/main: Use the new vk_bundle mutex functions.
2021-03-30 20:46:00 +00:00
Ryan Pavlik
adb5eefb86
aux/vk: Add functions to initialize and clean up mutexes in the vk_bundle
2021-03-30 20:46:00 +00:00
Jakob Bornecrantz
6ba27de305
m/mathinclude: Apperently _USE_MATH_DEFINES was not enough
2021-03-30 21:27:29 +01:00
Jakob Bornecrantz
6f10f474fa
t/psvr: Ensure that m_mathinclude.h is included
2021-03-30 21:27:29 +01:00
Jakob Bornecrantz
967c27060e
st/prober: Change log env variable and set default level to info
2021-03-30 21:27:29 +01:00
Jakob Bornecrantz
083e4f5108
u/logging: Fix first global log message not getting correct level, add comments
2021-03-30 19:23:41 +01:00
Mateo de Mayo
5c6158cc8b
d/qwerty: Implement controller pose reset
2021-03-29 15:42:01 -03:00
Mateo de Mayo
5e6c4b63a5
d/qwerty: Implement controller parenting to HMD
...
Although, it only works for the qwerty HMD.
2021-03-29 15:42:01 -03:00
Mateo de Mayo
7f00ca3da2
d/qwerty: Improve selection of default controller
2021-03-29 15:41:59 -03:00
Mateo de Mayo
8b81afeb59
d/qwerty: Implement haptic output
2021-03-29 15:41:25 -03:00
Mateo de Mayo
4ea696bfdd
d/qwerty: Implement select and menu click inputs
2021-03-29 15:41:25 -03:00
Mateo de Mayo
582a287dd4
d/qwerty: Use u_logging.h with QWERTY_LOG env var
2021-03-29 15:41:25 -03:00
Mateo de Mayo
ef74e24abe
d/qwerty: Add variable tracking widget to UI
2021-03-29 15:41:25 -03:00
Mateo de Mayo
a1b70c746b
d/qwerty: Add qwerty_system for driver management
2021-03-29 15:41:25 -03:00
Mateo de Mayo
f8f14a1d9e
d/qwerty: Move left/right controllers with CTRL/ALT
...
In qwerty_sdl.c the u_device_assign_xdev_roles function is used for
knowing which devices are being used by the user. These could
be other physical devices. And as such the idea of a default focused
device is introduced and depends upon which devices the user already
has. With this change qwerty devices should be properly introduced
to fill any device the user may not have.
2021-03-29 15:41:25 -03:00
Mateo de Mayo
62e05f267a
d/qwerty: Add still qwerty controllers
...
By making an initial inheritance hierarchy, thus separating qwerty_hmd
from qwerty_controller, both inheriting from qwerty_device
2021-03-29 15:41:25 -03:00
Mateo de Mayo
e13a6fc2fd
d/qwerty: Add QWERTY_ENABLE environment variable
2021-03-29 15:41:25 -03:00
Mateo de Mayo
183ee4f4ee
d/qwerty: Implement mouse input and sprinting
2021-03-29 15:41:25 -03:00
Mateo de Mayo
ec340fabe2
d/qwerty: Implement WASDQE and arrow keys HMD movement
2021-03-29 15:41:25 -03:00
Mateo de Mayo
12d52193da
d/qwerty: Connect the debug UI to the Qwerty driver
...
It was necessary to add a list of xdevs to oxr_sdl2_hack_start and to
populate such list from its callees.
That includes sdl2_program.gui_program->xdevs which was not being filled
for the monado-service target.
2021-03-29 15:41:25 -03:00
Mateo de Mayo
e6db1fae74
d/qwerty: Implement still HMD creation
2021-03-29 15:41:25 -03:00
Mateo de Mayo
0340ae3cc8
d/qwerty: Add Qwerty driver initial boilerplate
...
The Qwerty driver will emulate an HMD and controllers through the use
of mouse and keyboard, and in particular, using the SDL key events
generated from the debug GUI.
2021-03-29 15:41:25 -03:00
Ryan Pavlik
98886d5317
d/multi: Fix contagious doxygen warning.
2021-03-26 17:10:53 -05:00
Ryan Pavlik
b93b082bd3
aux: Fix doxygen warnings
2021-03-26 17:10:53 -05:00
Ryan Pavlik
f82d0f484f
ipc: Fix doxygen warning
2021-03-26 17:10:53 -05:00
Ryan Pavlik
08b0fd257f
st/oxr: Fix doxygen warning
2021-03-26 17:10:53 -05:00
Ryan Pavlik
6fc4cc0cc9
st/prober: Fix doxygen warnings
2021-03-26 17:10:53 -05:00
Ryan Pavlik
7b92d212a2
comp: Fix doxygen warnings
2021-03-26 17:10:53 -05:00
Ryan Pavlik
4004402c40
aux/vk: Wrap statement defines in do {} while (0)
2021-03-26 17:10:53 -05:00
Ryan Pavlik
20468070fa
ipc: De-duplicate member for simplicity and to avoid Doxygen warning
2021-03-26 17:10:47 -05:00
Ryan Pavlik
12f9cac46b
imgui_monado: Fix a few warnings
2021-03-26 17:06:17 -05:00
Ryan Pavlik
3414f62ccf
aux: fix or silence warnings
2021-03-26 17:06:17 -05:00
Ryan Pavlik
b57d52f373
comp/main: Fix warnings
2021-03-26 17:06:17 -05:00
Ryan Pavlik
a830f46db0
st/prober: Fix warnings
2021-03-26 17:06:17 -05:00
Ryan Pavlik
8ebd97330d
st/steamvr: Fix warnings
2021-03-26 17:06:17 -05:00
Ryan Pavlik
bd00c7ffd3
comp/main: Deal with MSVC not liking static array sizes being non-constant.
2021-03-26 17:06:17 -05:00
Ryan Pavlik
0140ea34b6
comp/main: Implement consumption of sync handle on Windows
2021-03-26 17:06:17 -05:00
Ryan Pavlik
b147f2ecd4
a/util: Non-linux implementation of u_file
2021-03-26 17:06:17 -05:00
Ryan Pavlik
c00884e827
cmake: aux/vk depends on aux/os
2021-03-26 17:06:17 -05:00
Ryan Pavlik
4ed3d21b09
a/util: Stub out trace marker on non-Linux for now.
2021-03-26 17:06:17 -05:00
Ryan Pavlik
e5c193bcd0
aux/util: Silence warnings on MSVC
2021-03-26 17:05:56 -05:00
Christoph Haag
a991e66b85
u_vive: Fix debug level of printing acc_bias
2021-03-24 18:45:00 +00:00
Christoph Haag
1f25acfa94
d/vive: remove duplicate range record error message
2021-03-24 18:45:00 +00:00
Christoph Haag
a2b49138e7
d/vive: change imu range report error->info
2021-03-24 18:45:00 +00:00
Christoph Haag
e8999b06c8
st/p: Change tracking override target/tracker not found error->warning
2021-03-24 18:45:00 +00:00
Christoph Haag
08db19beca
u_config_json: Change node not found error->info
...
As our config grows it will happen more often that users won't have all possible nodes.
2021-03-24 18:45:00 +00:00
Christoph Haag
3ba9a9411a
d/vive: change config start report error->info
...
And clarify the message that it happens for example for powered off controllers.
2021-03-24 18:45:00 +00:00
Christoph Haag
de6d2a888a
ipc: Change server exiting error->info
2021-03-24 18:45:00 +00:00
Christoph Haag
f6210be44a
d/survive: Change event for unknown object error->info
2021-03-24 18:45:00 +00:00
Christoph Haag
f9c2ab7ed7
d/ht: Change hand tracking not set up error->debug
2021-03-24 18:45:00 +00:00
Christoph Haag
030230eba9
st/p: change PSVR/PSMV not set up error->info
2021-03-24 18:45:00 +00:00
Christoph Haag
8f16118020
u_config_json: Remove bogus "No tracking node" messages
...
* open_tracking_settings() already reports missing tracking nodes.
* open_tracking_settings() can also fail for other reasons
2021-03-24 18:45:00 +00:00
Christoph Haag
45d889e390
u_config_json: Make missing tracking node messages friendlier
2021-03-24 18:45:00 +00:00
Christoph Haag
054850de76
u_config_json: Remove duplicated is_json_ok code
2021-03-24 18:45:00 +00:00
Christoph Haag
2959747221
u_config_json: clarify json not parsed error message
2021-03-24 18:45:00 +00:00
Christoph Haag
f0132eb997
u_config_json: change no config file warning->info
...
Running without a config file is fully supported, no reason to warn users.
2021-03-24 18:45:00 +00:00
Jakob Bornecrantz
63f5c86257
xrt: Make xrt_swapchain be reference counted
2021-03-24 17:50:08 +00:00
Christoph Haag
aab94e7add
build/meson: Allow disabling tracking
...
The tracking code uses ifdefs with XRT_HAVE_OPENCV.
2021-03-24 18:05:51 +01:00
Christoph Haag
dad5c6d5d8
u_config_json: Fix saving when no config file exists
...
If json->root was null, it would write a config file containing only (null).
2021-03-24 17:33:46 +01:00
Jakob Bornecrantz
e066f6a828
st/gui: Fix warning
2021-03-24 14:09:13 +00:00
Jakob Bornecrantz
67339a4d7c
d/remote: Fix warning
2021-03-24 14:09:13 +00:00
Christoph Haag
2ac4ff84ec
aux/util: Fix comment for u_device_setup_tracking_origins
2021-03-23 19:05:35 +00:00
Christoph Haag
857b831e30
d/illixr: Add driver name
2021-03-22 01:25:44 +01:00
Jakob Bornecrantz
a71b3d35d1
m/3dof: Add assert for timestamp paranoia
2021-03-17 01:10:02 +00:00
Jakob Bornecrantz
c73146c6fd
d/psvr: Ensure that timestamps are always after each other
2021-03-17 01:10:02 +00:00
Jakob Bornecrantz
0452c69caa
c/main: Detect when config is needed but missing
2021-03-12 00:06:36 +00:00
Jakob Bornecrantz
6c3ab4151a
st/oxr: Handle XRT_ERROR_EGL_CONFIG_MISSING
2021-03-12 00:06:36 +00:00
Jakob Bornecrantz
0571e0337e
xrt: Add XRT_ERROR_EGL_CONFIG_MISSING error
2021-03-12 00:06:36 +00:00
Jakob Bornecrantz
8be59f73ec
xrt: Return xrt_result_t from xrt_gfx_provider_create_gl_egl
2021-03-12 00:06:36 +00:00
Jakob Bornecrantz
7d51bbef27
external: Update EGL with another extension
2021-03-12 00:06:36 +00:00
Jakob Bornecrantz
8992f79257
c/main: Be even more paranoid about display timing code
2021-03-10 17:53:36 +00:00
Jakob Bornecrantz
dac5bc0ea5
u/timing: Deal slightly better when timing info appears to time travel
2021-03-10 17:53:36 +00:00
Jakob Bornecrantz
d71ccc39ce
u/timing: Add when_predict_ns on first frame
2021-03-10 17:53:36 +00:00
Christoph Haag
7b95330bb5
ipc: Print information to delete socket file
2021-03-10 02:02:44 +01:00
Christoph Haag
2a02130301
build/meson: Install systemd service file with meson
2021-03-10 01:58:18 +01:00
Christoph Haag
851a600a6a
build/meson: Add systemd feature option for monado-service
2021-03-10 01:57:55 +01:00
Christoph Haag
0adcc179c0
xrt: Fix typo in u_file
2021-03-10 01:56:07 +01:00
Jakob Bornecrantz
a6da40de50
c/main: Remove unused fields
...
Tested-by: Boris-Chengbiao Zhou <bobo1239@web.de>
2021-03-09 18:16:01 +00:00
Jakob Bornecrantz
003b70d05e
c/main: Use correct predicted display time for rendering
...
Closes #114
Reported-by: Boris-Chengbiao Zhou <bobo1239@web.de>
Tested-by: Boris-Chengbiao Zhou <bobo1239@web.de>
2021-03-09 18:15:52 +00:00
Christoph Haag
eb594409dd
xrt: Increase number of autoprobers to 16
...
We actually have a total of 11 auto probers.
2021-03-09 14:16:28 +01:00
Christoph Haag
a887ddcc3c
d/hdk: Use a mutex for get_tracked_pose
2021-03-09 12:39:12 +00:00
Christoph Haag
5c014193f7
d/vive_controller: Use a mutex for get_tracked_pose and update_inputs
2021-03-09 12:39:12 +00:00
Christoph Haag
aa65480607
d/vive: Use a mutex for get_tracked_pose
2021-03-09 12:39:12 +00:00
Christoph Haag
484d63a4eb
d/survive: Use thread for processing events
...
Due to an oversight libsurvive events were only processed when inputs were updated.
If only triggering event processing when an event is needed, we would need to process
a random number of events, causing random overhead.
Rather, follow the model of other drivers and process events in a thread.
This required creating a local copy of the xrt_input arrays.
Fixes #113
Fixes !679
v2: Use a mutex for get_tracked_pose and update_inputs
2021-03-09 12:39:12 +00:00
Christoph Haag
1e24602ca0
st/prober: fix off by one in reallocating list of disabled drivers
2021-03-09 13:22:41 +01:00
Jakob Bornecrantz
966b4b7048
t/service: Enable tracing
2021-03-08 11:20:52 +00:00
Jakob Bornecrantz
7524239b1f
t/oxr: Enable tracing
2021-03-08 11:20:52 +00:00
Jakob Bornecrantz
b4f9d07abf
ipc: Trace markers
2021-03-08 11:20:52 +00:00
Jakob Bornecrantz
f754fb583f
st/oxr: Trace markers
2021-03-08 11:20:52 +00:00
Jakob Bornecrantz
8c724d67d4
c/main: Trace markers
2021-03-08 11:20:52 +00:00
Jakob Bornecrantz
fac1ce4a5a
c/main: Hookup up new frame timing code
2021-03-08 11:20:52 +00:00
Jakob Bornecrantz
a40c2e7d50
aux/vk: Load VK_GOOGLE_display_timing functions
2021-03-08 11:20:52 +00:00
Jakob Bornecrantz
e2104a4f31
t/cli: Add trace piping support
2021-03-08 11:20:52 +00:00
Jakob Bornecrantz
049f6be351
u/timing: Add frame timing code
2021-03-08 11:20:52 +00:00
Jakob Bornecrantz
3077660f1d
u/tracing: Add trace marker code
2021-03-08 11:20:52 +00:00
Mateo de Mayo
75e908552f
doc: Fix missing entities from modules documentation
2021-03-06 20:34:35 -03:00
Christoph Haag
12ad9a6766
d/ns: Remove tracker logic in favor of tracking overrides
2021-03-02 19:43:19 +01:00
Christoph Haag
44e375dd8a
aux/util: Save tracking override config
2021-03-02 19:43:19 +01:00
Christoph Haag
c077788436
aux/util: Store calibration config non-destructively
...
On save
* delete only nodes pertaining to calibration
* add new calibration nodes
* write config file
2021-03-02 19:43:19 +01:00
Christoph Haag
de169bf575
gui: Add gui for tracking overrides
2021-03-02 19:43:19 +01:00
Christoph Haag
5e4c62c8aa
aux/util: Move json config parsing to aux/util
2021-03-02 19:43:19 +01:00
Christoph Haag
aa9298f70d
aux/util: Move read_content to u_file
2021-03-02 19:43:19 +01:00
Christoph Haag
ff16eab9df
xrt: implement multi device wrappers for tracking overrides
...
Example config ~/.config/monado/config_v0.json
{
"active": "tracking",
"tracking": {
"version": 0,
"tracking_overrides": [
{
"target_device_serial": "LHR-E8CC625B",
"tracker_device_serial": "LHR-1D80A098",
"offset": {
"orientation": {
"x": 0,
"y": 0,
"z": 0,
"w": 1
},
"position": {
"x": 0,
"y": 0,
"z": 0
}
}
}
]
}
}
v2: Add multi device wrapper
2021-03-02 19:43:19 +01:00
Christoph Haag
13db11901c
d/rs: Add prober and create xrt_device for rs
2021-03-02 19:43:19 +01:00
Christoph Haag
6c6c70f700
d/rs: exit early if no realsense device is connected
...
Previously we only exited after rs2_pipeline_start_with_config timed out.
2021-03-02 19:27:36 +01:00
Christoph Haag
aa7b3978b7
d/rs: Initialize offset to identity
2021-03-02 19:27:36 +01:00
Christoph Haag
9332bb04c8
st/prober: Disable vive driver when we have survive
...
Unless survive is disabled via config, then don't disable vive.
2021-03-02 17:50:19 +00:00
Christoph Haag
ebd4b8eae4
st/prober: Add ability to skip drivers
...
Only for drivers loaded with probers and autoprobers for now.
Example config:
{
"disabled": [
"survive"
]
}
2021-03-02 17:50:19 +00:00
Christoph Haag
279520c302
d/survive: Use autoprober interface
2021-03-02 17:50:19 +00:00
Christoph Haag
a89f32470e
cli: Print built in drivers from driver names
...
for probers and auto probers only for now
2021-03-02 17:50:19 +00:00
Christoph Haag
58e68e0a4a
st/prober: Allow querying entries and autoprobers
2021-03-02 17:50:19 +00:00
Christoph Haag
37c96ee7fb
xrt: Add a static driver_name to probers
2021-03-02 17:50:19 +00:00
Christoph Haag
6914bae78e
d/ns: Add autoprober name
2021-03-02 17:50:19 +00:00
Christoph Haag
9ea02ac032
d/vive: Give consistent name to HMD
2021-03-02 17:50:19 +00:00
Christoph Haag
6e852ec9a0
d/survive: Give consistent name to HMD
2021-03-02 17:50:19 +00:00
Christoph Haag
92d94ddcc7
d/psvr: Don't report created device if creation failed
2021-03-02 17:50:19 +00:00
Christoph Haag
ea404a265b
st/prober: Print name of misbehaving autoprober
2021-03-02 17:50:19 +00:00
zhibinw
57b42cad9a
ipc/android: Start client listener thread when get new fd from client.
2021-03-02 14:02:54 +08:00
Jakob Bornecrantz
d6eda06ae2
doc: Remove md prefix from all Markdown pages
2021-03-01 19:42:52 +00:00
Jakob Bornecrantz
ecfec5028e
xrt: Add doccomment and fix doxygen error
2021-03-01 19:31:25 +00:00
Mateo de Mayo
116d77f52e
st/prober: Allow autoprobe function to create more than one device.
2021-02-28 15:27:52 +00:00
zhibinw
f55c0d7bfb
t/service-lib: Remove unused header.
2021-02-27 09:55:26 +08:00
Ryan Pavlik
1963e313b1
ipc/android: Switch to using client push mutex to avoid cond var wait in server.
2021-02-24 15:25:28 -06:00
Ryan Pavlik
12e07bdb69
ipc/android: Fix potential lost signal to client
2021-02-24 15:23:26 -06:00
Ryan Pavlik
ccf6ac4b94
ipc/android: Remove old workaround
2021-02-24 15:23:26 -06:00
Ryan Pavlik
01fbbc4ed5
ipc/server, t/server_lib: Implement mainloop code for Android, using a pipe.
2021-02-24 15:23:26 -06:00
Jakob Bornecrantz
5e06acf2ad
t/cli: Tidy
2021-02-24 14:33:34 +00:00
Jakob Bornecrantz
48c2fe1f87
c/main: Refactor out wait idle to own function
2021-02-24 14:33:34 +00:00
Jakob Bornecrantz
616b7f6ae0
c/main: Tidy comp_target_swapchain
2021-02-24 14:33:34 +00:00
Jakob Bornecrantz
77baa0c6ca
u/ht: Sort build files
2021-02-24 14:33:34 +00:00
Jakob Bornecrantz
7460ae54f4
u/timing: Rename files
2021-02-24 14:33:34 +00:00
Jakob Bornecrantz
b810c2df0a
u/timing: Improve render code, predict when frame should be delivered
2021-02-24 14:33:30 +00:00
Jakob Bornecrantz
55c7690185
u/time: Make defines more readable and add more defines
2021-02-24 13:55:07 +00:00
Jakob Bornecrantz
69eebb49e2
u/time: Use double for time conversion
2021-02-24 04:14:51 +00:00
Jakob Bornecrantz
5291b8d2bb
ipc: Refactor out broadcasting of timings
2021-02-24 01:23:55 +00:00
Jakob Bornecrantz
97d7902f94
targets: Show implot demo
2021-02-22 23:20:05 +00:00
Jakob Bornecrantz
4cf20b0dd3
imgui: Add implot demo
2021-02-22 23:20:05 +00:00
Ryan Pavlik
f15a14b193
ipc/server: Factor out the mainloop code that may vary between platforms
2021-02-22 17:03:16 -06:00
Ryan Pavlik
0644521da9
d/ht: Fix typo in docs
...
Fixes doxygen warning.
2021-02-22 16:50:00 -06:00
Ryan Pavlik
b7cc966cb0
aux/vk: Add docs to helpers
2021-02-22 16:50:00 -06:00
Moses Turner
daff282946
ipc: don't drop the blend mode on the floor
2021-02-19 17:47:07 -06:00
Christoph Haag
4d1b5f033a
d/vive: Add controller rotation pose prediction
2021-02-17 19:59:59 +01:00
Christoph Haag
ab70115a89
d/vive: Add HMD rotation pose prediction
2021-02-17 19:59:52 +01:00
Jakob Bornecrantz
5b61a9b905
st/oxr: Fix crash
2021-02-16 22:53:49 +00:00
Jakob Bornecrantz
2849c7c5ae
st/oxr: Quirk UnrealEngine
2021-02-16 17:55:23 +00:00
Jakob Bornecrantz
4ef6211286
st/oxr: Detect UnrealEngine
2021-02-16 17:55:23 +00:00
Jakob Bornecrantz
0ee32dfa21
st/oxr: Log application info
2021-02-16 17:55:23 +00:00
Jakob Bornecrantz
84486aa2b9
ipc/server: Print application info
2021-02-16 17:55:23 +00:00
Jakob Bornecrantz
cfed1c3607
st/oxr: It's not a error to pass in XrSystemHandTrackingPropertiesEXT
...
...when the hand tracking extension is not enabled.
2021-02-16 07:04:40 +00:00
Christoph Haag
def0bef533
build/meson: Explicitly depend on generated binding header
...
fixes header not being generated on alpine
2021-02-15 22:04:38 +01:00
Christoph Haag
b77630ba57
d/remote: define _BSD_SOURCE for SOL_TCP on musl
2021-02-15 22:04:38 +01:00
Jakob Bornecrantz
78dbbec891
st/prober: Improve xrt_prober_destroy
2021-02-15 16:13:07 +00:00
Jakob Bornecrantz
2c012374da
st/prober: Add copydocs
2021-02-15 16:13:07 +00:00
Jakob Bornecrantz
a6fe8e8b1e
st/prober: Clarify xrt_prober_get_string_descriptor
2021-02-15 16:13:06 +00:00
Jakob Bornecrantz
a55c6f3cc4
st/prober: Tidy and add doc-comment
2021-02-15 16:13:00 +00:00
Jakob Bornecrantz
165df31d77
st/prober: Use U_LOG_RAW for dump function
2021-02-15 15:13:51 +00:00
Christoph Haag
d56834f7a9
d/psmv: Use bluetooth mac as serial
2021-02-15 14:55:10 +01:00
Christoph Haag
c6695b7a27
prober: return XRT_PROBER_STRING_SERIAL_NUMBER for bluetooth devices
...
Using the bluetooth id gotten from uevent.
2021-02-15 14:54:54 +01:00
Christoph Haag
42996d6b1c
os/hid: Add get_physical_address()
2021-02-12 02:44:00 +01:00
Christoph Haag
a4bde60e08
st/steamvr: Use serial number for controller id
2021-02-12 00:38:52 +01:00
Christoph Haag
d5e74b959a
d/vive: Improve naming scheme
2021-02-12 00:38:52 +01:00
Christoph Haag
c66aea3311
d/survive: Improve device naming scheme
2021-02-12 00:38:52 +01:00
Christoph Haag
c67a6ccd34
xrt: Add xrt_device::serial for uniquely identifying devices if possible
...
d: Make controller serials unique by appending number
For drivers that do not (yet) know a persistent unique id per device.
2021-02-12 00:38:51 +01:00
Christoph Haag
ea6d6bfb3f
d/rs: Use XRT_INPUT_GENERIC_TRACKER_POSE instead of XRT_INPUT_GENERIC_HEAD_POSE
2021-02-12 00:37:43 +01:00
Christoph Haag
9760f6d123
d/survive: Create devices for trackers
...
They can not be queried yet.
2021-02-12 00:37:43 +01:00
Christoph Haag
47ed26a5e8
xrt: Add XRT_INPUT_GENERIC_TRACKER_POSE
2021-02-11 20:54:31 +01:00
Christoph Haag
7e1408787a
d/survive: Update to new API and clean up
...
* Remove survive_device.{ctrl,hmd}::variant and use variant from config
* Use SurviveSimpleEventType_ConfigEvent to find connected devices
* Use SurviveSimpleEventType_PoseUpdateEvent for pose updates
2021-02-11 20:54:31 +01:00
Christoph Haag
3a02610e77
d/vive: Remove vive_controller_device::variant and use variant from config
2021-02-11 20:54:31 +01:00
Christoph Haag
f93209a1ed
d/vive: Remove vive_device::variant and use variant from config
2021-02-11 20:54:31 +01:00
Christoph Haag
2d814dab57
aux/vive: Parse hmd variant and add various model strings
...
Model strings collected from libsurvive, survive_default_devices.c
2021-02-11 20:54:31 +01:00
Ryan Pavlik
a702b42439
ext/openxr: Update headers to 1.0.14
2021-02-11 09:45:01 -06:00
Ryan Pavlik
1d9ea3f195
external/flexkalman: Add some missing copyright/license headers
2021-02-11 09:43:22 -06:00
Ryan Pavlik
d8aad83932
d/ht: Fix mistaken 2029 copyright date.
2021-02-11 09:28:12 -06:00
Christoph Haag
cc81174b70
comp: Fix VkDisplayKHR direct mode build without libx11-xcb
2021-02-10 22:02:30 +01:00
Ryan Pavlik
8f0c20093c
ipc/android: Specify full qualified service name
2021-02-10 16:09:12 +00:00
Ryan Pavlik
c65ce85fe1
ipc/android: Clean up MonadoService
2021-02-10 16:09:12 +00:00
Ryan Pavlik
ee81edfe48
t/oxr_android: Fix gradle build for release 21.
2021-02-10 16:09:12 +00:00
Ryan Pavlik
51704bc2e5
math: Fix doc warnings
2021-02-10 16:09:12 +00:00
Ryan Pavlik
84508320f4
ipc: Fix typo in comment
2021-02-10 16:09:12 +00:00
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