Samantha Bowen
14bfd17f39
d/ohmd: Add position tracking.
2020-01-15 21:07:05 +00:00
Ryan Pavlik
b44f14d348
st/gui: Display the calibration status data.
2020-01-14 15:55:50 -06:00
Ryan Pavlik
9790ca7602
t/calib: Add interface for getting some status info on calib process.
2020-01-14 15:55:50 -06:00
Ryan Pavlik
dec5d8de7d
st/gui: Update camera calibration config GUI
2020-01-14 15:55:50 -06:00
Ryan Pavlik
871395d5b5
build: Adjust meson build equivalently
2020-01-14 12:28:23 -06:00
Ryan Pavlik
066f57d7d8
external: Update flexkalman
2020-01-14 11:51:12 -06:00
Ryan Pavlik
c68d3bfe54
build: Adjust CMake build to allow actually disabling dependencies/options
2020-01-14 11:51:12 -06:00
Ryan Pavlik
f834d20300
xrt: Move OpenXR platform defines to build system
2020-01-14 11:51:12 -06:00
Ryan Pavlik
130a649f92
build: Move checking of sufficient enabled drivers to the drivers dir
2020-01-14 11:51:12 -06:00
Ryan Pavlik
47f704277a
xrt: Let BUILD_TRACKING mean you need more than just the IMU fusion.
...
This is required to build anything that uses the IMU fusion module
without OpenCV.
2020-01-14 11:51:12 -06:00
Ryan Pavlik
67a561d0ea
st/oxr: Fix ifdef guards
2020-01-14 11:51:12 -06:00
Ryan Pavlik
682f41a37c
comp: Fix build when VK_USE_PLATFORM_XLIB_XRANDR_EXT is not defined
2020-01-14 11:51:12 -06:00
Ryan Pavlik
358cde31b7
comp: Add a comment explaining why a function is guarded
2020-01-14 11:51:12 -06:00
Ryan Pavlik
d03db42075
d/hdk: Does not require hidapi
2020-01-14 11:51:12 -06:00
Jakob Bornecrantz
382813edd6
d/vive: Dump JSON config on debug instead of spew
2020-01-14 15:59:41 +00:00
Jakob Bornecrantz
8ded6bac8b
d/vive: Extract lighthouse data
2020-01-14 15:59:41 +00:00
Jakob Bornecrantz
5bf65b41fa
math: Add some more functions
2020-01-14 15:59:41 +00:00
Jakob Bornecrantz
796d9c49ec
t/calib: Support stereo fisheye in the config file
2020-01-14 15:42:31 +00:00
Jakob Bornecrantz
4ae650a006
t/calib: Support stereo fisheye in stereo calibration
2020-01-14 15:42:31 +00:00
Jakob Bornecrantz
0e6b908f80
t/callib: Move stereo calibration to new interaction
2020-01-14 15:42:31 +00:00
Jakob Bornecrantz
3f9d94cb8a
d/psmv: Mark ball pose as active depending on tracking
2020-01-13 21:59:37 +00:00
Jakob Bornecrantz
c383a933ea
st/oxr: Propegate device input active status through API
2020-01-13 21:59:37 +00:00
Jakob Bornecrantz
7082a599c7
xrt: Make it possible for the device set active status on inputs
2020-01-13 21:59:37 +00:00
Jakob Bornecrantz
998b198b44
math: Fix math_pose_invert
2020-01-13 10:37:14 +00:00
Ryan Pavlik
4cc9380f0b
st/oxr: Fix missing include.
2020-01-09 17:36:24 -06:00
Ryan Pavlik
c1928468af
t/gui: Fix SDL flag enum type
2020-01-09 17:35:54 -06:00
Ryan Pavlik
c123195800
t/oxr: Fix type issue with sdl2 code
2020-01-09 17:35:54 -06:00
Ryan Pavlik
9e953083fc
st/oxr: Move shipped binding data into a separate header to avoid re-declaration of statics
2020-01-09 17:35:54 -06:00
Ryan Pavlik
13c099f59e
xrt: Fix for mismatched parameter names
2020-01-09 22:54:01 +00:00
Ryan Pavlik
ae466ce70e
d/vive: Fix typos.
2020-01-09 16:32:18 -06:00
Jakob Bornecrantz
b816afce63
d/vive: Extract Index canting parameter from the config
2020-01-09 15:22:14 +00:00
Jakob Bornecrantz
7618f4c5a4
math: Make it possible to get a rotation from a rotation matrix
2020-01-09 15:22:14 +00:00
Jakob Bornecrantz
35fcd2ae3d
xrt: Add xrt_matrix_3x3
2020-01-09 15:22:14 +00:00
Ryan Pavlik
2ad93677e8
src/external: Remove nxjson
2020-01-09 15:21:04 +00:00
Ryan Pavlik
290bd7937b
d/vive: Port to cJSON.
...
Replacing nxjson because of license issues: upstream of nxjson is LGPL3.
2020-01-09 15:21:04 +00:00
Jakob Bornecrantz
eda46d3bea
util: Add some wrapper files around cJSON
...
This makes cJSON files be accessible from everywhere in Monado,
and adds a nice place to add common helpers.
2020-01-09 15:21:04 +00:00
Ryan Pavlik
b564499abf
src/external: Add cJSON.
...
MIT licensed, single-source-file, API quite similar to nxjson,
seemingly somewhat well tested and active.
2020-01-09 15:21:04 +00:00
Jakob Bornecrantz
d6ca37bc70
d/vive: Set last acc and gyro values
2020-01-09 15:21:04 +00:00
Jakob Bornecrantz
8306e00bd1
d/vive: Apply all axis flip after scale and bias
2020-01-09 15:21:04 +00:00
Jakob Bornecrantz
995ecfaac2
d/vive: Tidy IMU code
2020-01-09 15:21:04 +00:00
Jakob Bornecrantz
4895ab704c
d/vive: Tidy and refactor config parsing
2020-01-09 15:21:04 +00:00
Christoph Haag
bc20d84171
st/oxr: Also make sure to keep actions with outputs active
2020-01-09 02:13:08 +01:00
Christoph Haag
a3d04090c5
st/oxr: Always make actions active that have inputs
...
If an applications only syncs a subset of action sets, the actions from all
sets that are not synced get the active bit reset.
Once the application starts syncing the previously not synced sets again,
the actions have to become active again.
2020-01-09 02:12:59 +01:00
Jakob Bornecrantz
ba104f59f3
d/vive: Tidy motherboard thread
2019-12-22 14:08:14 +00:00
Jakob Bornecrantz
85197f1584
d/vive: Tidy sensors thread
2019-12-22 14:08:14 +00:00
Jakob Bornecrantz
784b53ded2
d/vive: Spew instead of debug vive_device_update_inputs
2019-12-22 13:35:37 +00:00
Ryan Pavlik
5c830f16b2
t/oxr: Fix linking in absence of SDL2
2019-12-07 18:25:37 +00:00
Ryan Pavlik
6d60227e06
comp: More renaming for clarity
2019-12-07 18:25:37 +00:00
Ryan Pavlik
9668437c78
comp: Rename comp_xlib_client to indicate it's also GL related
2019-12-07 18:25:37 +00:00
Ryan Pavlik
e49fdd8523
st/oxr: EGL extension requires OpenGL enabled
2019-12-07 18:25:37 +00:00
Ryan Pavlik
51c3240c23
st/oxr: Improve extension support header.
2019-12-07 18:25:37 +00:00
Ryan Pavlik
f25b5d7f8d
st/gui: clang-tidy
2019-12-07 18:25:37 +00:00
Ryan Pavlik
c92590930d
d/vive: clang-tidy
2019-12-07 18:25:37 +00:00
Ryan Pavlik
5772f86292
d/psvr: clang-tidy
2019-12-07 18:25:36 +00:00
Ryan Pavlik
a36d351a18
d/psmv: clang-tidy
2019-12-07 18:25:36 +00:00
Ryan Pavlik
56f8e3272e
a/tracking: clang-tidy
2019-12-07 18:25:36 +00:00
Ryan Pavlik
ceb600167c
u/var: Clang tidy and make param names consistent/expressive
2019-12-07 18:25:34 +00:00
Ryan Pavlik
24158bd747
t/gui: Apply clang-tidy fixes to remove redundant returns.
2019-12-07 18:24:56 +00:00
Ryan Pavlik
d9fb855f6e
t/cli: Fix type correctness
2019-12-07 18:24:56 +00:00
Ryan Pavlik
06ce6617f5
st/oxr: Port logger realloc to helper macro
2019-12-07 18:24:56 +00:00
Ryan Pavlik
c9f1b2be4b
d/vive: Port realloc to helper macro
2019-12-07 18:24:56 +00:00
Ryan Pavlik
a6d9eea394
comp: Port memory allocation to the helper macros
2019-12-07 18:24:56 +00:00
Ryan Pavlik
2d86dfd560
d/v4l2: Type safety fixes and realloc porting
2019-12-07 18:24:56 +00:00
Ryan Pavlik
b47428b451
st/p: Convert to realloc macro
2019-12-07 18:24:56 +00:00
Ryan Pavlik
f6d3aabc08
st/oxr: Convert remaining realloc in binding code
2019-12-07 18:24:56 +00:00
Ryan Pavlik
2b5fa2c57f
st/p: Fix enum types in libusb usage
2019-12-07 18:24:56 +00:00
Ryan Pavlik
447b3550e8
st/oxr: Fix enum types in shipped bindings
2019-12-07 18:24:56 +00:00
Ryan Pavlik
2751824e16
st/gui: Type safety fixes
2019-12-07 18:24:56 +00:00
Ryan Pavlik
e11eb0203f
d/vive: Initializer order fix
2019-12-07 18:24:56 +00:00
Ryan Pavlik
282f38ca62
d/vive: Type safety fix
2019-12-07 18:24:52 +00:00
Ryan Pavlik
be8530db74
d/psvr: Type correctness fixes
2019-12-07 18:21:28 +00:00
Ryan Pavlik
a7a7545d0d
d/psmv: Casting/type safety fixes
2019-12-07 18:21:22 +00:00
Ryan Pavlik
86db0622f9
d/vive: Split nxjson sources from vive sources
2019-12-07 18:21:17 +00:00
Christoph Haag
fcd43180e6
comp: Error when forcing a nonexistent vulkan gpu index
...
Instead of segfaulting.
2019-12-03 20:33:46 +01:00
Ryan Pavlik
808892742b
st/p: Fix allocation size error with realloc macro
2019-12-03 09:39:06 -06:00
Ryan Pavlik
f20a0e14e0
st/oxr: Fix oversized allocation in binding code
2019-12-03 09:39:06 -06:00
Ryan Pavlik
4f6b4761cb
aux/util: Add U_ARRAY_REALLOC_OR_FREE to safely wrap realloc.
2019-12-03 09:39:06 -06:00
Ryan Pavlik
a602b2247f
st/oxr: Fix bug in get current interaction profile.
...
We returned the path instead of putting it in the out value.
2019-12-03 09:39:06 -06:00
Ryan Pavlik
7ca4fb34d5
d/v4l2: typo fix
2019-12-03 09:39:06 -06:00
Ryan Pavlik
90e57a4e8a
xrt: Fix types related to EGL.
...
Fixes #46
2019-12-03 09:30:31 -06:00
Jakob Bornecrantz
ba9fd61bb8
u/sink: Reject frames that don't have a valid JPEG header
2019-11-23 00:01:05 +00:00
Jakob Bornecrantz
cdec2ca367
t/calib: Add resolution size to image name
2019-11-22 23:59:35 +00:00
Jakob Bornecrantz
ab0d94201a
t/calib: s/grey/gray/g
2019-11-22 15:53:17 +00:00
Jakob Bornecrantz
6cba920668
t/calib: Force the principal point to the center of the image
2019-11-22 15:51:58 +00:00
Jakob Bornecrantz
9b60bd7c77
t/calib: Add support to load images
2019-11-22 14:20:56 +00:00
Jakob Bornecrantz
0cbd3e8601
t/calib: Do not fix principal point and tweak balance
2019-11-22 14:19:22 +00:00
Jakob Bornecrantz
392b42e900
t/calib: Don't double wait for frame after finding a measurement
2019-11-22 14:09:29 +00:00
Jakob Bornecrantz
3f202d0d6f
t/calib: Make cooldown period separate from wait period
2019-11-22 12:36:23 +00:00
Jakob Bornecrantz
86dc9e1a6b
t/calib: Re-organize parameters and make it possible to select board type
2019-11-22 12:36:23 +00:00
Jakob Bornecrantz
9a4b55758a
st/gui: Add support for mirror RGB option
2019-11-21 22:43:04 +00:00
Jakob Bornecrantz
de67590bbf
t/calib: Tweak defaults
2019-11-21 22:43:04 +00:00
Jakob Bornecrantz
504a34bc95
t/calib: Tidy messages
2019-11-21 22:43:04 +00:00
Jakob Bornecrantz
276e81c373
t/calib: Add option to mirror RGB image
2019-11-21 22:40:00 +00:00
Jakob Bornecrantz
94c55fc206
t/calib: Ensure that camera is still before taking measurment
2019-11-21 22:40:00 +00:00
Jakob Bornecrantz
50d28369c4
m/headers: Rename C++ headers to hpp and tidy headers
2019-11-21 14:54:17 +00:00
Jakob Bornecrantz
54f7c2ed1d
t/headers: Rename C++ headers to hpp and tidy headers
2019-11-21 13:00:52 +00:00
Jakob Bornecrantz
84f9ad962c
st/gui: Tidy UI
2019-11-20 23:50:42 +00:00
Jakob Bornecrantz
ff4b91c688
st/gui: Expose fisheye option
2019-11-20 23:50:42 +00:00
Jakob Bornecrantz
dc6da46852
st/gui: Add option to save image and add separators"
2019-11-20 23:50:42 +00:00
Jakob Bornecrantz
d6317b2a14
st/gui: Expose new parameters to calibration
2019-11-20 23:50:42 +00:00
Jakob Bornecrantz
587c71182b
t/calib: Make it possible to use fisheye functions (mono only)
2019-11-20 23:50:26 +00:00
Jakob Bornecrantz
a36af4227f
t/calib: Make it possible to save images used during calibration (mono only)
2019-11-20 23:49:56 +00:00
Jakob Bornecrantz
26d7e91615
t/calib: Even more docs
2019-11-20 22:05:23 +00:00
Jakob Bornecrantz
4925ea657f
t/calib: Add support for [asym]circles grid, not active right now
2019-11-20 22:05:23 +00:00
Jakob Bornecrantz
bd02e47078
t/calib: Add mono calibration
2019-11-20 22:05:16 +00:00
Jakob Bornecrantz
49f9a1a46f
t/calib: Add stub for hacking in measurments
2019-11-20 22:03:20 +00:00
Jakob Bornecrantz
6bc617b8e3
t/calib: Tidy TermCriteria
2019-11-20 22:03:20 +00:00
Jakob Bornecrantz
645a45c167
t/calib: Tweak default params
2019-11-20 22:03:20 +00:00
Jakob Bornecrantz
c16756c330
t/calib: Ensure everything have initializers
2019-11-20 22:03:20 +00:00
Jakob Bornecrantz
ebb41601ed
t/calib: Some doc-comments and typedefs to clarify code
2019-11-20 22:03:20 +00:00
Jakob Bornecrantz
79b7d2504a
t/calib: Expand mono calibration a bit
2019-11-18 19:14:02 +00:00
Simon Ser
9347ecfe00
xrt: check arraySize==1 when using OpenGL ES 2
...
Only OpenGL ES 3 supports GL_TEXTURE_2D_ARRAY.
2019-11-18 15:16:16 +01:00
Simon Ser
c395f85565
oxr: add XR_TYPE_SWAPCHAIN_IMAGE_OPENGL_ES_KHR support
2019-11-18 15:16:16 +01:00
Simon Ser
81cace0250
comp: replace glCreateTextures with glGenTextures+glBindTexture
...
glCreateTextures is only available on OpenGL 4.5. It's not supported on
OpenGL ES.
2019-11-18 15:16:16 +01:00
Simon Ser
a8b2370946
xrt: accept OpenGL ES in oxr_session_populate_egl
2019-11-18 15:16:15 +01:00
Simon Ser
5eacb6f309
xrt: add support for OpenGL ES
...
This commit advertises the extension and adds support for
xrGetOpenGLESGraphicsRequirementsKHR
2019-11-18 15:16:15 +01:00
Jakob Bornecrantz
b358e22fd7
t/calib: Stub in support for mono calibration
2019-11-17 22:11:41 +00:00
Jakob Bornecrantz
ad45aeb0a7
t/calib: Refactor loading a bit more
2019-11-17 22:09:01 +00:00
Jakob Bornecrantz
4af9978803
st/gui: Correctly destroy timekeeping
2019-11-17 20:53:18 +00:00
Christoph Haag
b17f1c2f97
st/oxr: Initialize sdl on main thread
...
Calling SDL_Init() in different threads in the same process crashes.
In this SDL2 code X11_XOpenDisplay() will be a null pointer on the second thread;
if (SDL_X11_LoadSymbols()) {
display = X11_XOpenDisplay(NULL);
This becomes a problem when monado starts the debug UI in a thread,
and then an OpenXR client application tries to initialize SDL.
Two consecutive SDL_Init() in the same thread is harmless though.
2019-11-17 13:59:21 +00:00
Jakob Bornecrantz
2ad2243fe7
t/doc: Do not put directory in aux_tracking group
2019-11-16 23:29:29 +00:00
Jakob Bornecrantz
38ec113c04
t/calib: Add comments to sizes
2019-11-16 23:29:10 +00:00
Jakob Bornecrantz
8917607a49
t/calib: Also expose disparity_to_depth on both raw and refined settings
2019-11-16 23:27:32 +00:00
Jakob Bornecrantz
6d8abd87a8
t/calib: Tidy and rename calibration data to settings
2019-11-16 23:17:11 +00:00
Jakob Bornecrantz
f364b7a45b
t/calib: Make prober load calibration data instead of trackers
2019-11-16 12:17:07 +00:00
Jakob Bornecrantz
5a600ffbcf
t/calib: Make destroy funcitons take pointer to pointer
2019-11-16 11:42:33 +00:00
Jakob Bornecrantz
ee3d9d08f6
u/time: Send in a pointer to pointer to the timekeeping destroy function
2019-11-15 20:30:01 +00:00
Jakob Bornecrantz
786e67f189
u/time: Mark exported functions as C to get even better errors
2019-11-15 20:28:24 +00:00
Jakob Bornecrantz
76445c8fe9
d/psvr: Fix use after free of timekeeping
2019-11-15 15:23:25 +00:00
Jakob Bornecrantz
b33811930b
d/psvr: Get data info packet 0x82
2019-11-15 14:55:18 +00:00
Jakob Bornecrantz
419f038017
t/calib: Also save the fisheye distortion always
2019-11-14 17:05:16 +00:00
Jakob Bornecrantz
f9599a6763
t/imu: Make sure imu_fusion is aligned
2019-11-14 16:35:56 +00:00
Jakob Bornecrantz
08e898c111
comp: Do not use cut-off in vive shader
2019-11-14 15:12:17 +00:00
Ryan Pavlik
e01cf5efd3
t_imu: Actually return non-zero leftover acceleration data.
2019-11-14 12:14:58 +00:00
Ryan Pavlik
2823193302
t_imu_fusion: Add capability to get world non-gravity acceleration
2019-11-14 12:14:58 +00:00
Ryan Pavlik
21352ca338
t_imu: Add param for accelerometer output
2019-11-14 12:14:58 +00:00
Ryan Pavlik
a17413744b
t_calibration: clang-tidy
2019-11-14 12:14:58 +00:00
Ryan Pavlik
4d411723a1
t/psvr: Fix parameter names
2019-11-14 12:14:58 +00:00
Ryan Pavlik
e9d64c4c41
a/math: Clang-tidy
2019-11-14 12:14:58 +00:00
Ryan Pavlik
0a9efbf443
t_imu: Comments
2019-11-14 12:14:58 +00:00
Ryan Pavlik
958c1b7df9
t_imu_fusion: Perform some filtering of accelerometer signal
2019-11-14 12:14:58 +00:00
Ryan Pavlik
29c630cec8
d/psvr: Port PSVR to use timestamps
2019-11-14 12:14:58 +00:00
Ryan Pavlik
194938c405
d/psmv: Port positional tracking to use t_imu_fusion with timestamps
2019-11-14 12:14:58 +00:00
Ryan Pavlik
7bb9fad5e6
t_imu_fusion: adjust to use timepoints directly
2019-11-14 12:14:58 +00:00
Ryan Pavlik
aaf08a2abd
d/psmv: Porting to changed API that uses timestamps instead of dt
2019-11-14 12:14:58 +00:00
Ryan Pavlik
7314bd75b7
t_imu: Change C API to take timestamps instead of dt
2019-11-14 12:14:58 +00:00
Ryan Pavlik
1440c95f78
t/psmv: Angular rate limit.
2019-11-14 12:14:58 +00:00
Ryan Pavlik
83f652bda1
aux/tracking: Add low-pass IIR filter
2019-11-14 12:14:58 +00:00
Ryan Pavlik
ca7397be45
d/psmv: Initial port to imu fusion for orientation-only
2019-11-14 12:14:58 +00:00
Julian Eisel
05b069b0a0
Fix two use-after-free's and multiple memory leaks
2019-11-13 21:53:16 +01:00
Ryan Pavlik
af0515232f
t_imu_fusion: Fix initialization of orientation from accelerometer.
2019-11-11 18:14:44 -06:00
Ryan Pavlik
08903e67b3
u_var: Update comments/prototypes.
2019-11-11 18:14:14 -06:00
Ryan Pavlik
355476d6b7
aux/tracking: Remove accidentally-left-in parameters from t_imu
2019-11-11 17:57:40 -06:00
Ryan Pavlik
882388b320
st/prober: Fix typo
2019-11-11 17:57:40 -06:00
Ryan Pavlik
e44dd1a755
d/vive: Use define for standard gravity
2019-11-11 17:57:40 -06:00
Ryan Pavlik
5eaced0e4d
aux/tracking: Use define for standard gravity
2019-11-11 17:57:40 -06:00
Ryan Pavlik
8a0ab71c09
t_imu: Comments.
2019-11-11 17:57:40 -06:00
Ryan Pavlik
8ce507391a
external: Update flexkalman
2019-11-11 17:57:34 -06:00
Jakob Bornecrantz
76d6133142
cmake: Fix v4l2 flag not being set
2019-11-10 01:36:46 +00:00
Jakob Bornecrantz
c6e6ba7485
t/psmv: Expose ball last position to debug gui
2019-11-10 01:36:44 +00:00
Jakob Bornecrantz
47bc4de56d
t/doc: Fallout from latest codespell version
2019-11-09 12:53:42 +00:00
Jakob Bornecrantz
a29dd8c0a4
st/oxr: Improve destruction of GUI hack
2019-11-09 12:53:42 +00:00
Jakob Bornecrantz
86244f726f
st/oxr: Improve error condition handling on instance creation
2019-11-09 12:53:42 +00:00
Christoph Haag
e78e5c8045
st/oxr: Return appropriate errors for incomplete OpenGL XLib binding
...
* xDisplay must be a pointer to a Display value
* glxDrawable must be a valid GLXDrawable value
* glxContext must be a valid GLXContext value
intentionally not checked:
* glxFBConfig must be a valid GLXFBConfig value
We don't care about this one for now.
2019-11-08 16:07:10 +01:00
Drew DeVault
4c7f830ea5
d/vive: reset orientation on headset button
2019-11-07 09:39:33 -05:00
Jakob Bornecrantz
1f02c54858
d/vive: Fix copy typo
2019-11-07 13:45:56 +00:00
Lubosz Sarnecki
2ffa77d923
d/vive: Handle error when config could not be read.
2019-11-07 14:16:09 +01:00
Lubosz Sarnecki
db1e5b9f16
d/vive: Initialize useful defaults.
...
This initializes default values in the display, distortion and IMU
properties so the runtime is happy in case the JSON config could not be
read.
This patch also moves default value initialization for the Index
into one place with the others, for cases we do not have the data.
2019-11-07 14:16:09 +01:00
Jakob Bornecrantz
e7e550fa8d
d/psmv: Fix build
2019-11-06 19:51:24 +00:00
Jakob Bornecrantz
a54cdb2632
d/psvr: Can we get some info out of the calibration data
2019-11-06 19:50:07 +00:00
Jakob Bornecrantz
845af78c20
d/psvr: Only flip Z-axis after calibration is applied
2019-11-06 19:50:07 +00:00
Jakob Bornecrantz
c60b9881e2
d/psmv: More verbose error handling
2019-11-06 19:48:01 +00:00
Drew DeVault
e5a9cbb2f9
Implement XR_MND_egl_enable
...
This extension introduces a more robust way of creating an XrSession for
OpenGL. It also lays the groundwork for future OpenGL ES support.
https://github.com/KhronosGroup/OpenXR-Docs/pull/40
Signed-off-by: Simon Ser <contact@emersion.fr>
Signed-off-by: Drew DeVault <sir@cmpwn.com>
2019-11-06 10:07:21 +01:00
Simon Ser
eefeec12fd
oxr: check input type in oxr_swapchain_gl_enumerate_images
...
Don't blindly cast the input struct to XrSwapchainImageOpenGLKHR, check
that the type is XR_TYPE_SWAPCHAIN_IMAGE_OPENGL_KHR.
2019-11-05 16:32:04 +00:00
Christoph Haag
3b87d518c4
build: Fix meson build without v4l2
2019-11-05 15:36:52 +01:00
Jakob Bornecrantz
93218fa9e4
d/psvr: Tweak panotools values
2019-11-05 12:31:42 +00:00
Jakob Bornecrantz
5e3565c28f
st/oxr: Set maximum image rect size to 200%
2019-11-05 12:31:42 +00:00
Jakob Bornecrantz
defdd97288
st/oxr: Fix recommended swapchain image height
2019-11-05 12:31:42 +00:00
Jakob Bornecrantz
9eedb05f1b
st/prober: Do not autoprobe if we have a HMD
2019-11-05 12:15:56 +00:00
Simon Ser
9183f53c5f
xrt: allow NULL args in various functions
...
The spec says NULL arguments are valid when the argument just exists for
extensibility. Fix the implementation to accept NULL args.
2019-11-05 10:40:21 +01:00
Simon Ser
8ade6b654b
xrt: introduce OXR_VERIFY_ARG_TYPE_CAN_BE_NULL
...
It's like OXR_VERIFY_ARG_TYPE_AND_NOT_NULL, but doesn't ensure the argument
is non-NULL.
2019-11-05 10:21:23 +01:00
Simon Ser
1b51db68f9
xrt: rename OXR_VERIFY_ARG_TYPE_AND_NULL to …_NOT_NULL
2019-11-05 10:15:35 +01:00
Jakob Bornecrantz
072e9afb54
t/psvr: Counter tracking origin offset
...
At least until we have proper tracking for the PSVR.
2019-11-03 14:23:03 +00:00
Jakob Bornecrantz
7c73a1b6bd
xrt: Tidy xrt_compiler.h and silence some doxygen warnings
2019-11-02 22:54:23 +00:00
Jakob Bornecrantz
b59676e184
st/oxr: Comment all parameters
2019-11-02 22:40:26 +00:00
Ryan Pavlik
059234bbfc
d/vive: Cleanup scopes, types, leak in vive_sensors_read_config
2019-11-01 22:41:22 +00:00
Ryan Pavlik
e8660a18bd
build: Use CMAKE_POSITION_INDEPENDENT_CODE instead of target props.
...
Reduces repetitive code.
2019-11-01 16:51:54 -05:00
Drew DeVault
6bce0838e0
d/vive: Fix minor typo in vive driver
2019-11-01 14:35:41 +00:00
Simon Ser
36102bfa1e
comp: make Wayland window unresizable
...
This prevents the compositor from issuing resize requests. We ignore
those anyway.
2019-10-31 16:42:26 +01:00
Christoph Haag
746cccca36
meson: HDK driver does not depend on hidapi
2019-10-31 02:26:19 +01:00
Christoph Haag
680b8971b3
d/hdk: Remove unused hidapi include
2019-10-31 01:50:30 +01:00
Jakob Bornecrantz
b5ee4f0dbd
comp: Make it obvious that you should implement destroy yourself
2019-10-30 11:06:02 +00:00
Jakob Bornecrantz
46b9d28e8d
t/imu: No fancy new c++ syntax until clang-format-8 is used on CI
...
Go to your room clang-format and think about what you have done.
2019-10-29 20:08:59 +00:00
Jakob Bornecrantz
477e740568
d/psmv: Fix flipped bit for cross and square
2019-10-29 20:08:49 +00:00
Jakob Bornecrantz
e84ca2de34
st/oxr: Use xrt_compositor helpers
2019-10-28 21:00:56 +00:00
Jakob Bornecrantz
1abdae5b64
xrt: Add helper functions for xrt_compositor
2019-10-28 20:56:33 +00:00
Jakob Bornecrantz
c11640d66b
st/oxr: Make sure actions that are not marked as active are deactivated
2019-10-28 14:58:59 +00:00
Jakob Bornecrantz
312a99ecf8
st/oxr: Implement any sub-action path handling
2019-10-28 14:58:59 +00:00
Christoph Haag
7d9ef2f371
comp: Add setting to force a vulkan gpu index
2019-10-25 21:05:06 +02:00
Jakob Bornecrantz
186f3ff7e0
st/prober: Ignore I2C based hid devices
2019-10-25 18:39:34 +01:00
Jakob Bornecrantz
5f4ddcc414
t/cli: Add a just probe command
2019-10-25 18:34:18 +01:00
Ryan Pavlik
56f61412f5
d/psmv: Fix possible alignment issues and endianness comments
2019-10-25 18:08:20 +01:00
Jakob Bornecrantz
06ffb8da8f
d/psvr: Remove none used inbuilt mesh
2019-10-25 13:05:54 +00:00
pblack
73420739d9
d/psvr: Adjust values and remove comments
2019-10-25 13:05:54 +00:00
Jakob Bornecrantz
c5e1511271
d/psvr: Use new mesh distortion generator functions
2019-10-25 13:05:54 +00:00
Jakob Bornecrantz
be712c7049
d/ohmd: Use mesh shader for none distortion
2019-10-25 13:05:54 +00:00
Jakob Bornecrantz
ef6931b7f9
aux/util: Refactor mesh generation
2019-10-25 13:05:54 +00:00
Jakob Bornecrantz
b403da22eb
aux/util: Add distortion mesh generation
2019-10-25 13:05:54 +00:00
Jakob Bornecrantz
b67d65b4a5
aux/util: Add function to free device and stuff hanging off it
2019-10-25 13:05:54 +00:00
Jakob Bornecrantz
9b6625961a
comp: Implement new mesh shader
2019-10-25 13:05:54 +00:00
Jakob Bornecrantz
9d238d7313
xrt: Refactor mesh distortion fields
2019-10-25 13:05:54 +00:00
Jakob Bornecrantz
cdafcda626
math: Add some vec2 functions
2019-10-25 13:05:54 +00:00
Jakob Bornecrantz
c906caabf4
d/psvr: Disable mesh distortion
2019-10-25 13:05:54 +00:00
Jakob Bornecrantz
babd3af4ae
d/psvr: Add link to documention
2019-10-25 12:32:40 +01:00
Jakob Bornecrantz
b9e1ca6e55
d/psvr: Document calibration data getting process better
2019-10-25 12:27:54 +01:00
Jakob Bornecrantz
fda43c5a19
d/psvr: Add code to get device name and calibration data
2019-10-25 11:11:45 +01:00
Jakob Bornecrantz
6580e3ee3f
d/psmv: Use U_ZERO
2019-10-24 22:45:07 +01:00
Jakob Bornecrantz
6bfb1d9110
d/psmv: Fix buttons parsing
2019-10-24 22:16:40 +01:00
Ryan Pavlik
6b8b1ae935
st/oxr: Fix changed since last sync and support for more input types
2019-10-24 22:16:40 +01:00
Jakob Bornecrantz
aa52da072f
xrt: Remove relation input type
2019-10-24 21:51:07 +01:00
Ryan Pavlik
0ebf754996
xrt: Add XRT_GET_INPUT_TYPE, document XRT_INPUT_NAME
2019-10-24 21:43:18 +01:00
Ryan Pavlik
166bee167e
xrt: Comment the input types
2019-10-24 21:43:14 +01:00
Ryan Pavlik
6b0f18bf6e
tracking: Build kalman things as a single TU
2019-10-24 18:51:21 +02:00
Jakob Bornecrantz
8f6da565e2
d/v4l2: Align up the buffer size
2019-10-24 16:43:45 +01:00
Ryan Pavlik
d3d6f15107
st/prober: More data in the "failed to get interface number" messages.
2019-10-24 15:45:41 +01:00
Ryan Pavlik
1ce0124d5c
t/psmv: Simple two-state machine for tracking.
2019-10-24 15:45:41 +01:00
Ryan Pavlik
af85f6af6b
t/psmv: Reset filter if we get non-finite
2019-10-24 15:44:01 +01:00
Ryan Pavlik
28abcf7ce6
t/psmv: Filter the blobs selected
2019-10-24 15:44:01 +01:00
Ryan Pavlik
c713ca61f2
t/psmv: Rotate IMU into something like camera space
2019-10-24 15:44:01 +01:00
Jakob Bornecrantz
ccd139ab68
xrt: Add xrt_atomic_cmpxchg
2019-10-23 23:39:22 +01:00
Ryan Pavlik
e90ea99aa8
comp: Adjust frame waiting logic to behave correctly.
...
Some sub-calculations are still slightly hacky,
but now the overall structure is correct.
2019-10-23 17:18:46 +02:00
Jakob Bornecrantz
742fe05dd8
comp: Cody style shaders
2019-10-23 11:07:33 +01:00
Jakob Bornecrantz
127e5e67b4
comp: Cut-off is not needed
2019-10-23 10:21:33 +01:00
Jakob Bornecrantz
8301bd8d4c
external: Refactor out sdl functions from main cimguo.cpp
2019-10-22 21:37:03 +01:00
Jakob Bornecrantz
60be24e119
external: If out non-implemented imgui init functions
2019-10-22 21:24:58 +01:00
Ryan Pavlik
939c41aba9
st/oxr: If the app called request-exit, go to exiting instead of ready.
2019-10-22 21:14:04 +02:00
Jakob Bornecrantz
6b99e2fbdc
d/psvr: Add new imu code, but it's stubbed out... Unless?
2019-10-22 19:51:24 +01:00
Jakob Bornecrantz
35ae8f31ce
d/vive: Add some variable tracking
2019-10-22 18:52:52 +01:00
Ryan Pavlik
713830338e
st/oxr: Allow wait frame in headless since it does more than just waiting.
2019-10-22 17:29:04 +00:00
Lubosz Sarnecki
5becb60714
d/vive: Use different device string for each variant.
2019-10-22 19:18:47 +02:00
Lubosz Sarnecki
02dc839ca8
d/vive: Add initial support for the Valve Index.
2019-10-22 19:18:47 +02:00
Lubosz Sarnecki
2ed3109c95
d/vive: Add initial support for Vive Pro.
2019-10-22 19:18:47 +02:00
Lubosz Sarnecki
e063e8245e
d/vive: Add native driver for the Vive.
...
This adds a driver for the Vive family of devices based on Philipp
Zabel's ouvrt.
The driver currently only handles the IMU and main board report streams,
but is able to acquire the JSON configuration and utilize it for IMU
calibration as well as distortion configuration.
2019-10-22 19:18:47 +02:00
Lubosz Sarnecki
8e6cc11d69
external: Add nxjson.
2019-10-22 19:18:47 +02:00
Lubosz Sarnecki
a1d729af8f
os/hid: Add os_hid_get_feature_timeout.
2019-10-22 19:18:47 +02:00
Lubosz Sarnecki
6eb1086578
st/prober: Add string functions.
...
Functions for printing and matching xrt_proper_string.
2019-10-22 19:18:47 +02:00
Ryan Pavlik
e2428ee7fa
st/oxr: Handle request exit session and stopping state
2019-10-22 18:00:00 +02:00
Jakob Bornecrantz
0826ff9273
st/oxr: xrCreateActionSpace is fully implemented
2019-10-22 15:19:23 +01:00
pblack
e32902843c
comp: Add chromatic aberration correction to mesh
2019-10-22 14:44:26 +01:00
Jakob Bornecrantz
cd5153dead
xrt: Spelling
2019-10-22 12:10:20 +01:00
Jakob Bornecrantz
937f5d582a
st/oxr: Refactor logging options to instance
2019-10-22 11:47:25 +01:00
Jakob Bornecrantz
ce57fae37d
st/oxr: Actually implement oxr_slog_abort
2019-10-22 11:45:21 +01:00
Jakob Bornecrantz
0b16e1e94d
d/v4l2: Set the timestamp
2019-10-22 09:44:39 +01:00
Jakob Bornecrantz
4d0b2f0b81
d/v4l2: Better control quirking tools
2019-10-21 17:21:28 +01:00
Jakob Bornecrantz
24bc8135e0
t/hsv: Add a debug sink
2019-10-19 23:15:51 +01:00
Jakob Bornecrantz
dcd9bbb4d7
st/gui: Use r8g8b8 or l8 converter
2019-10-19 23:15:49 +01:00
Jakob Bornecrantz
f38f631fe8
aux/util: Add special r8g8b8x8 or l8 converter
2019-10-19 23:15:48 +01:00
Jakob Bornecrantz
078ac7c59e
st/oxr: Slightly better error message
2019-10-19 22:18:29 +01:00
Jakob Bornecrantz
e56271d968
st/oxr: Add super hacky debug gui
2019-10-15 20:54:57 +01:00
Jakob Bornecrantz
5f1078675d
st/gui: Do not call prober select in debug scene
2019-10-15 20:54:52 +01:00
Jakob Borncrantz
7239282aab
st/prober: Add tracking factory variable tracking
2019-10-15 21:05:37 +02:00
Jakob Borncrantz
d245fc33c9
d/ohmd: Add variable tracking
2019-10-15 21:00:12 +02:00
Jakob Borncrantz
0bc91ab1cd
cmake: Make sure to link to pthreads
2019-10-15 21:00:12 +02:00
Ryan Pavlik
f4f07da0c2
t/file: Comment matrix sizes since entirely generic matrix types used.
2019-10-15 20:50:32 +02:00
Ryan Pavlik
bc081bee80
t/psmv: cleanup/comments
2019-10-15 20:50:32 +02:00
Jakob Bornecrantz
f8ee9281f8
t/calibration: Move more data storage to C portion
2019-10-13 10:48:07 +01:00
Jakob Bornecrantz
43c366ad41
t/file: Save more calibration data
2019-10-12 22:07:49 +01:00
Jakob Bornecrantz
9ec1205f37
t/api: Add comments and put all files in tracking group
2019-10-12 12:24:19 +01:00
Jakob Bornecrantz
a435817a6f
t/file: Add comments and restyle (NFC)
2019-10-12 12:23:42 +01:00
Lubosz Sarnecki
783a36fbcc
st/prober: Add libusb error strings and can open function.
...
The prober will now output libusb errors as string. This patch also adds
a `can_open` function to the prober, that opens and closes device with
libusb to ensure devices can be opened.
This makes it possible to ensure early that permissions on the device
are correct.
2019-10-11 15:56:30 +01:00
Lubosz Sarnecki
6ec8721899
xrt: Add num_devices to prober found interface.
...
In order to access multiple devices the prober found interface needs to
pass the length of the device list. This patch updates the found
interface in all drivers.
2019-10-11 15:56:20 +01:00
Lubosz Sarnecki
3e8bd73e34
d/hdk: Use float to avoid implicit cast.
2019-10-11 15:55:18 +01:00
Jakob Bornecrantz
fece0458b6
t/psmv: Make it possible to get the tracked ball pose
2019-10-11 15:40:42 +01:00
Jakob Bornecrantz
a0a4fa3399
st/oxr: Fixes for ball on stick bindings
2019-10-11 15:40:39 +01:00
Drew DeVault
bca5899fcc
meson: fix build with 0.52+
2019-10-10 23:21:27 +00:00
Drew DeVault
202d1d72aa
openxr/meson.build: remove install: true
...
This removes the meson feature warnings.
2019-10-10 22:58:10 +00:00
Drew DeVault
7f16e7230f
oxr_verify.cpp: rewrite in C
2019-10-10 22:54:19 +00:00
Drew DeVault
d7debdb724
oxr_logger.cpp: rewrite in C
2019-10-10 22:54:19 +00:00
Drew DeVault
6c275f0aae
oxr_event.cpp: rewrite in C
2019-10-10 22:54:19 +00:00
Drew DeVault
904d58d365
oxr: track list of sessions; poll sessions
2019-10-10 22:51:21 +00:00
Drew DeVault
a736812f63
oxr: mostly implement XR_SESSION_LOSS_PENDING
...
This is missing support for xrPollEvents, which needs to be handled
separately as it's not properly rigged up throughout Monado yet.
2019-10-10 22:51:21 +00:00
Jakob Bornecrantz
bffe802449
t/psmv: Adjust room position in prober instead
2019-10-10 23:47:51 +01:00
Ryan Pavlik
3630dae537
t/psmv: FindLowestScore template param renames
...
Less terse
2019-10-10 21:48:09 +00:00
Ryan Pavlik
430e27d084
t/psmv: Use new imu fusion in psmv positional tracking.
2019-10-10 21:48:09 +00:00
Ryan Pavlik
18f9760986
tracking: Add t_imu: simple IMU fusion for absolute orientation
2019-10-10 21:48:09 +00:00
Ryan Pavlik
b00f5315c2
t/psmv: Initial Kalman filter.
...
Rotation a little out of control right now because still using bad fusion.
2019-10-10 21:48:09 +00:00
Ryan Pavlik
85b6c7222d
tracking: Add t_fusion for Kalman filter added code.
2019-10-10 21:48:09 +00:00
Ryan Pavlik
c660183848
external: Add multi-header version of FlexKalman.
...
Takes off a little build time compared to single-header version.
2019-10-10 21:48:09 +00:00
Jakob Bornecrantz
315d3b65f1
comp: Do not destry VK_NULL_HANDLE buffers and memory
2019-10-10 22:11:09 +01:00
Jakob Bornecrantz
7680038f8b
t/gui: Request forward compatible OpenGL version and minimum 3.2
2019-10-10 16:06:57 +01:00
pblack
1dacea071d
d/psvr: Add hacked mesh distortion
2019-10-10 13:28:01 +01:00
Jakob Bornecrantz
e86628884b
comp: Add disabled shader debugging code
2019-10-10 13:28:01 +01:00
Jakob Bornecrantz
2db8138e8e
comp: Hack in a flip of the right eye
2019-10-10 13:28:01 +01:00
Jakob Bornecrantz
fafbe287e1
comp: Clamp UV textures to a black border
2019-10-10 13:28:01 +01:00
pblack
898c1b4a9f
comp: Add mesh distortion shader
2019-10-10 13:28:01 +01:00
pblack
b351e8cd75
aux/util: Don't overwrite distortion info
2019-10-10 01:52:45 +01:00
Jakob Bornecrantz
102e36efc9
st/gui: Don't include glad directly
2019-10-09 22:11:41 +01:00
Jakob Bornecrantz
1afc4df95c
st/gui: Refactor gui code into it's own state tracker
2019-10-09 21:53:21 +01:00
Jakob Bornecrantz
e327d56bf4
aux/ogl: Introduce a single small OpenGL library
2019-10-09 17:07:23 +01:00
Jakob Bornecrantz
420f25c7f7
t/gui: Refactor out SDL2 code
2019-10-09 16:32:58 +01:00