Commit graph

495 commits

Author SHA1 Message Date
Jakob Bornecrantz 871b06cd72 aux/tracking: Add stub PSVR tracker 2019-09-22 11:50:34 +01:00
Jakob Bornecrantz 37590e7525 aux/tracking: Add stub PSMV tracker 2019-09-21 19:12:12 +01:00
Jakob Bornecrantz a4ee0dd838 d/psvr: Use tracking interface 2019-09-21 19:02:13 +01:00
Jakob Bornecrantz b47efb1520 d/psmv: Use tracking interface 2019-09-21 18:33:45 +01:00
Jakob Bornecrantz b50415a367 t/gui: Add main menu and pure debug scene 2019-09-21 18:33:45 +01:00
Jakob Bornecrantz 387bc123f8 xrt: Expand tracking interface 2019-09-21 18:22:06 +01:00
Jakob Bornecrantz 65eeb19939 targets: Link with tracking if built 2019-09-21 18:21:05 +01:00
Jakob Bornecrantz ba12a0aa0e aux/tracking: Track hsv filter sinks 2019-09-21 18:21:05 +01:00
Jakob Bornecrantz ef3074afa7 aux/util: Add sink as tracker variable 2019-09-21 18:21:05 +01:00
Jakob Bornecrantz 046c9e18b9 d/psmv: Fix timestamp parsing (ZCM2) 2019-09-20 12:06:58 +01:00
Ryan Pavlik 63d62cf4fe d/psmv: Fix timestamp parsing (ZCM1) 2019-09-20 12:06:48 +01:00
Ryan Pavlik f123c41146 t/gui: Support quat values 2019-09-20 10:07:50 +01:00
Ryan Pavlik 65cc62daf9 aux/util: Add quat support to variable tracker 2019-09-20 10:07:48 +01:00
Ryan Pavlik f10eaafcdb t/gui: Align floats by always outputting the + or - 2019-09-20 10:07:46 +01:00
Lubosz Sarnecki 910f16fd30 targets/cli: Fix build with OpenHMD disabled.
Without this patch the build is failing due to linker errors
when BUILD_WITH_OPENHMD is set to false.
2019-09-20 10:15:17 +02:00
Lubosz Sarnecki 9dec3dda81 drv_psvr: Fix prototype warnings in clang. 2019-09-20 10:14:49 +02:00
Jakob Bornecrantz 51dafe7b05 xrt: Add usb_dev_class to xrt_prober_device 2019-09-18 13:03:01 +01:00
Jakob Bornecrantz ad373c55b7 os: Include xrt_config.h in os_threading.h 2019-09-17 11:42:28 +01:00
Jakob Bornecrantz ff341e43f0 d/psvr: Use standard gravity value 2019-09-16 16:36:54 +01:00
Jakob Bornecrantz d3eb48ada4 d/psmv: Normalize acceleration to gravity 2019-09-16 16:36:48 +01:00
Jakob Bornecrantz 1bcf537785 aux/math: Add standard gravity value 2019-09-16 16:36:47 +01:00
Jakob Bornecrantz 46389cd6ae xrt: Send in real prober to auto probers 2019-09-15 23:24:58 +01:00
Jakob Bornecrantz 59a2b87c43 d/psmv: Tidy code and add some comments 2019-09-15 23:22:25 +01:00
Jakob Bornecrantz d4e139f09e d/psmv: Use gyro_bias from calibration data on ZCM2 2019-09-15 23:22:25 +01:00
Jakob Bornecrantz 548f4edee3 d/psmv: Don't use the copy sample on ZCM2 2019-09-15 23:22:25 +01:00
Jakob Bornecrantz 9d1353c626 t/gui: Connect it all together 2019-09-15 18:52:17 +00:00
Jakob Bornecrantz a507aee906 t/gui: Add two scenes 2019-09-15 18:52:17 +00:00
Jakob Bornecrantz 74bdb0cb38 t/gui: Add imgui code 2019-09-15 18:52:17 +00:00
Jakob Bornecrantz 71b3de9c46 t/gui: Add scene manager 2019-09-15 18:52:17 +00:00
Jakob Bornecrantz c474112782 t/gui: Add OpenGL sink code 2019-09-15 18:52:17 +00:00
Jakob Bornecrantz 968952aa9e t/gui: Add st/prober code 2019-09-15 18:52:17 +00:00
Jakob Bornecrantz 44d58037b7 t/gui: Add SDL2 based GUI target 2019-09-15 18:52:17 +00:00
Jakob Bornecrantz a673f9b7fc st/oxr: Add Monado ball on a stick controller 2019-09-15 15:44:39 +01:00
Jakob Bornecrantz 79ad85e9b7 st/oxr: Add interaction profile code
Not a complete implementation but gets us far enough to
respect the bindings that a application gives us.
2019-09-15 15:44:39 +01:00
Jakob Bornecrantz 2337299279 st/oxr: Make sure action keys don't start at zero 2019-09-15 15:44:39 +01:00
Jakob Bornecrantz 2db3df9027 st/oxr: Add oxr_sink_logger, the slog-inator! 2019-09-15 15:44:39 +01:00
Jakob Bornecrantz 81213f119c os: Tidy threading 2019-09-15 15:43:57 +01:00
Jakob Bornecrantz ee5fe9a4e5 d/psmv: Even more tidy 2019-09-15 15:43:57 +01:00
Jakob Bornecrantz 0641342b7d d/psmv: Tidy driver 2019-09-15 15:29:47 +01:00
Jakob Bornecrantz 3d744c5959 d/psmv: Add support for ZCM2 2019-09-15 15:29:45 +01:00
Jakob Bornecrantz e98fb81c56 d/psmv: Make calibration values slight more readable 2019-09-15 15:29:43 +01:00
Jakob Bornecrantz 7dcfe5ca50 d/psmv: Flip axis once more 2019-09-15 15:29:41 +01:00
Jakob Bornecrantz 932b8dfd70 d/psmv: Refactor calibration and make room for ZCM2 2019-09-15 12:28:53 +01:00
Jakob Bornecrantz b5c7f080de d/psmv: Use new thread helper to create a pulling thread 2019-09-13 22:17:34 +01:00
Jakob Bornecrantz 0d09d225dd os: Add wrappers for threading primitives 2019-09-13 22:11:02 +01:00
Jakob Bornecrantz e82f3616c9 d/psmv: Tick time 2019-09-11 22:21:53 +01:00
Jakob Bornecrantz b5c37bcf10 d/psmv: Don't force sending of update packet when setting output 2019-09-11 22:21:53 +01:00
Jakob Bornecrantz 523c9980c9 d/psmv: Super simple sensor "fusion" 2019-09-11 22:21:53 +01:00
Jakob Bornecrantz 1488dcf579 d/psmv: Add stub update fusion function 2019-09-11 22:21:53 +01:00
Jakob Bornecrantz d2acc9d6e4 d/psmv: Also set gyro data 2019-09-11 22:20:22 +01:00
Jakob Bornecrantz c5e5c98c9c d/psmv: Shouldn't negate Z-axis in gyro calibration data 2019-09-11 22:20:20 +01:00
Jakob Bornecrantz 5b02974ae0 d/psmv: Correctly handle z-axis 2019-09-11 16:43:09 +01:00
Jakob Bornecrantz e179349644 d/psvr: Super simple sensor "fusion" 2019-09-11 16:43:09 +01:00
Jakob Bornecrantz 750b8bb755 d/psvr: Expose more data via variable code 2019-09-11 16:43:09 +01:00
Jakob Bornecrantz c2c230b3de d/psvr: Refactor and improve packet reading 2019-09-11 16:43:09 +01:00
Jakob Bornecrantz bf9bcf8e26 d/psvr: Read sensor packets when updating input 2019-09-11 16:43:09 +01:00
Jakob Bornecrantz 8d001ca95f st/oxr: Even more fixes for system xdevs 2019-09-09 21:57:37 +01:00
Jakob Bornecrantz affd1cb2c1 st/oxr: Tidy 2019-09-09 20:47:43 +01:00
Jakob Bornecrantz b84413cc35 st/oxr: Fix system xdev init 2019-09-09 20:47:30 +01:00
Jakob Bornecrantz 94d4822afb d/psmv: Use correct calibration value 2019-09-08 10:01:55 +01:00
Jakob Bornecrantz 962de77ca0 st/oxr: Carry around extra xrt_devices
Pretty much only used for enabling 3 PS Move Controllers right now.
2019-09-08 10:01:55 +01:00
Jakob Bornecrantz 2abc98dbec aux/util: Add split sink 2019-09-07 14:34:20 +01:00
Jakob Bornecrantz 798ef43342 st/prober: Make sure the usb-product is always filled out 2019-09-07 14:34:20 +01:00
Jakob Bornecrantz c021199b98 xrt: Add interface to prober to open video devices 2019-09-07 14:34:20 +01:00
Jakob Bornecrantz 3b1abffa2d xrt: Refactor frameserver start stream arguments 2019-09-07 14:34:20 +01:00
Jakob Bornecrantz 1b35846506 d/psmv: Expose more variables and add gui annotations 2019-09-07 14:34:20 +01:00
Jakob Bornecrantz 10d9fbcd9e aux/util: Add some gui annotations to variable tracking 2019-09-07 14:32:53 +01:00
Jakob Bornecrantz 2a6e194b2d d/psmv: Improve accelerometer adjustment 2019-09-06 19:14:12 +01:00
Jakob Bornecrantz 2e5c8f43a0 d/psmv: Export a whole lot more variables 2019-09-06 19:14:12 +01:00
Jakob Bornecrantz 9cf6108899 aux/util: Add more types to variable tracker 2019-09-06 18:12:15 +01:00
Jakob Bornecrantz 5e3d5295b7 xrt: Add xrt_vec3_i32 2019-09-06 18:12:15 +01:00
Jakob Bornecrantz 3f13224502 d/psmv: Fix strict aliasing warnings when compiling with optimisations 2019-09-06 15:46:17 +01:00
Jakob Bornecrantz aaaa9fc235 st/oxr: Fix strict aliasing warnings when compiling with optimisations 2019-09-06 15:46:17 +01:00
Jakob Bornecrantz e8ead02c4c st/oxr: Silence warning from snprintf when compiling with optimisations 2019-09-06 15:46:06 +01:00
Jakob Bornecrantz d6465bc017 d/psvr: Enable by default 2019-09-06 14:37:45 +01:00
Jakob Bornecrantz 8570493db1 d/psvr: Add variable tracking 2019-09-06 14:37:45 +01:00
Jakob Bornecrantz 9192c9c6b5 d/psmv: Add variable tracking 2019-09-06 14:37:45 +01:00
Jakob Bornecrantz 676bc81f40 d/v4l2: Add variable tracking 2019-09-06 14:37:45 +01:00
Jakob Bornecrantz d8f8f670d3 st/prober: Add variable tracking 2019-09-06 14:37:45 +01:00
Jakob Bornecrantz 591e6d3b29 st/oxr: Add variable tracking 2019-09-06 14:37:45 +01:00
Jakob Bornecrantz a9e88f3f20 aux/util: Add variable tracking code 2019-09-06 14:37:42 +01:00
Jakob Bornecrantz 58008d2ff1 d/psmv: Return error code 2019-09-05 22:18:14 +01:00
Jakob Bornecrantz 1ae8acc71c d/psmv: Read calibration data 2019-09-05 17:24:57 +01:00
Jakob Bornecrantz 29b1713be9 xrt: Add enum xrt_device_name so that state trackers can reason about device 2019-09-04 12:47:18 +01:00
Jakob Bornecrantz a0f2793457 xrt: It's a cross not a x 2019-09-03 15:26:10 +01:00
Jakob Bornecrantz 5de401ea58 comp: Tidy wait frame 2019-08-31 14:17:41 +01:00
Jakob Bornecrantz cfb1ca3052 comp: Ensure nominal_frame_interval_ns is a sane value 2019-08-31 14:17:41 +01:00
Jakob Bornecrantz cfa89b84c1 d/psmv: Tidy doc 2019-08-27 09:04:03 +01:00
Jakob Bornecrantz 005abd5429 t/cli: Tidy CMakeLists.txt file 2019-08-27 08:52:57 +01:00
Jakob Bornecrantz 358183115f aux/track: Micro optimize hsv filter 2019-08-27 08:34:40 +01:00
Jakob Bornecrantz f5a93699cb xrt: Add XRT_NO_INLINE define 2019-08-27 08:34:40 +01:00
Jakob Bornecrantz 1e93ba2461 xrt: Refactor frame interface 2019-08-27 08:17:21 +01:00
Jakob Bornecrantz b9c3ac797e xrt: Add colour structs 2019-08-27 08:17:21 +01:00
Jakob Bornecrantz 7f3651775b xrt: Add xrt_reference struct 2019-08-27 08:17:21 +01:00
Jakob Bornecrantz 6774a7e1b3 xrt: Add atomics and container_of helpers 2019-08-27 08:17:21 +01:00
Jakob Bornecrantz 98d7c3542c d/v4l2: Minor fixes 2019-08-27 08:17:21 +01:00
Jakob Bornecrantz 0f9b5786f3 st/oxr: Remove unnecessary NULL check 2019-08-22 16:46:42 +01:00
Ryan Pavlik a8ae7c432d aux/tracking: Fix class vs struct warnings in calibration and hsv debug code. 2019-08-21 14:29:37 -05:00
Ryan Pavlik 12de62fdbc d/psmv: Fix typo in bit mask.
Found by clang-tidy.
2019-08-21 14:28:54 -05:00
Ryan Pavlik dae90d4b42 st/oxr: Fix potential null-deref in events.
Found by clang-tidy
2019-08-21 14:28:32 -05:00
Ryan Pavlik 624fe8ab59 st/oxr: Change iteration of actions. 2019-08-21 14:28:07 -05:00
Jakob Bornecrantz 79402d0081 aux/track: Add stub calibration tracker 2019-08-20 13:07:42 +01:00
Jakob Bornecrantz a2ffb18852 aux/util: Add a special yuv or yuyv converter sink 2019-08-20 12:40:05 +01:00
Jakob Bornecrantz fc88d7d099 aux/util: Add more formats 2019-08-20 12:40:05 +01:00
Jakob Bornecrantz 36f24036eb xrt: Add more formats 2019-08-20 12:40:05 +01:00
Jakob Bornecrantz c8f16be641 xrt: Refactor out frame from frameserver 2019-08-20 12:35:55 +01:00
Christoph Haag d9736ba3b7 comp: wait for next frame in xrWaitFrame
fixes 6e396ed

It was unnecessary to move the wait to xrEndFrame.
It does not matter if the compositor renders the frame immediately because the
frame physically can not be displayed before the next HMD refresh.

On the other hand, leaving too short of a time for the compositor to render
may delay the frame past its predicted time.
2019-08-20 10:10:10 +00:00
Ryan Pavlik 2389c207f5 st/oxr: debug utils extension cleanup 2019-08-19 17:12:33 -05:00
Ryan Pavlik 077d0c39c5 st/oxr: Unify handling of extensions. 2019-08-19 17:12:33 -05:00
Benjamin Saunders c111f528b8 oxr: Optionally install as the default runtime 2019-08-19 12:09:49 -05:00
Jakob Bornecrantz a0fcaf9b6b aux/util: Disable use of conversion table for YUV to RGB for now 2019-08-17 10:34:40 +01:00
Jakob Bornecrantz 042d30c590 comp: Fix warnings 2019-08-17 10:34:12 +01:00
Jakob Bornecrantz 33dd9b65ea st/oxr: Don't pad systemName with a lot of padding
This was a thinko by me and just plain wrong.
2019-08-17 09:31:01 +01:00
Ryan Pavlik e824b83112 st/oxr: Install manifest to major version "1" subdir 2019-08-17 03:31:40 +00:00
Ryan Pavlik 6566e7d21d st/oxr: Return FUNCTION_UNSUPPORTED for some not-enabled extensions.
More to do, but this is something.
2019-08-16 18:04:53 -05:00
Ryan Pavlik ac22f30a2c st/oxr: xrGetInstanceProcAddr typo fix. 2019-08-16 18:04:53 -05:00
Ryan Pavlik ad6c26c231 st/oxr: xrGetInstanceProcAddr doesn't require an instance to enumerate layers 2019-08-16 18:04:53 -05:00
Ryan Pavlik d6df86a9ae st/oxr: Don't write debug message on functions we just don't know in GIPA. 2019-08-16 18:04:53 -05:00
Ryan Pavlik ae63bfc0ac st/oxr: Adjust two call helper to satisfy spec. 2019-08-16 23:01:04 +00:00
Ryan Pavlik ca47a216c3 d/psmv: Minor clang-tidy fixes 2019-08-16 17:25:29 -05:00
Ryan Pavlik eef6d87da4 d/v4l2: Minor clang-tidy fixes 2019-08-16 17:25:29 -05:00
Ryan Pavlik 0088c6cb6e st/oxr: Fix possible null dereference.
Found by clang-tidy.
2019-08-16 17:25:29 -05:00
Ryan Pavlik c8776a8b0d st/oxr: Minor clang-tidy fixes. 2019-08-16 17:25:29 -05:00
Ryan Pavlik c048bc0052 targets: Clang-tidy fixes (name consistency) 2019-08-16 17:25:29 -05:00
Ryan Pavlik dddb8069d0 st/prober: Minor clang-tidy fixes. 2019-08-16 17:25:29 -05:00
Ryan Pavlik 80cc620eca st/prober: Fix use of uninitialized condition.
Found by clang-tidy
2019-08-16 17:25:29 -05:00
Ryan Pavlik c874d25ee3 st/prober: Fix null dereference.
Found by clang-tidy.
2019-08-16 17:25:29 -05:00
Ryan Pavlik e21b495f90 comp: Comment a resource and memory leak 2019-08-16 17:25:19 -05:00
Ryan Pavlik 2aca9821fa comp: Clang-tidy 2019-08-16 17:20:01 -05:00
Ryan Pavlik 86d3d2b149 aux/util: clang-tidy 2019-08-16 17:12:53 -05:00
Ryan Pavlik 876bd5088f hid: Fix clang-tidy warnings. 2019-08-16 17:12:53 -05:00
Ryan Pavlik 11c5518aa0 aux/math: Simplify 2019-08-16 17:12:53 -05:00
Ryan Pavlik 1700be7022 aux/math: Fix typo 2019-08-16 17:12:53 -05:00
Ryan Pavlik dbf0bdd014 comp: Factor out some shared functionality.
Simplifies error handling as well.
2019-08-16 17:12:35 -05:00
Nova King 2d016b3385 xrt: Added support for XR Swapchain flags 2019-08-16 22:06:28 +00:00
Ryan Pavlik 557172f8ae st/oxr: Silence warning about results in binding code. 2019-08-16 10:54:53 -05:00
Ryan Pavlik 1eae45212e comp: Complete initializers for Vulkan structures 2019-08-16 10:54:49 -05:00
Ryan Pavlik 6088402605 d/psvr: Fix narrowing conversions 2019-08-16 10:45:26 -05:00
Ryan Pavlik ea0dec9898 a/util: Cast realloc results. 2019-08-16 10:45:26 -05:00
Benjamin Saunders dbbfe8e455 Handle CMAKE_INSTALL_LIBDIR being absolute
This seems to be common in distro packaging environments.
2019-08-16 14:52:45 +00:00
Ryan Pavlik 261b9125f6 d/hdk: Use string descriptor to guess at revision 2019-08-15 12:36:01 +00:00
Ryan Pavlik 93976bb276 prober: Add ability to get string descriptors.
Right now we can only use libusb to get this info.
2019-08-15 12:36:01 +00:00
Ryan Pavlik 853f8ab68e d/hdk: Port to internal HID wrapper.
Not entirely feature-complete due to lack of access to descriptor strings.
2019-08-15 12:36:01 +00:00
Ryan Pavlik 0226c11528 inc/xrt: Fix typos 2019-08-15 12:36:01 +00:00
Christoph Haag 6e396ed07e comp: Add hack waiting on xrEndFrame() until frame should be displayed.
xrWaitFrame() doesn't block at all, will only predict the time for the next frame.
Once the compositor is multithreaded, this wait should be moved to the compositor thread
and xrWaitFrame should be the function to block until the compositor finished rendering the frame.
2019-08-15 12:29:58 +00:00
Ryan Pavlik 3e34060777 st/oxr: Ignore view config type in monado headless mode. 2019-08-14 17:15:15 -05:00
Ryan Pavlik 225bac0cfb st/oxr: Enforce 0 session create flags 2019-08-14 17:14:59 -05:00
Ryan Pavlik 761c4d7ca8 Fix build. 2019-08-14 17:14:46 -05:00
Ryan Pavlik 1fd9936f95 st/oxr: Fix enumerating swapchain formats on headless 2019-08-14 12:28:30 -05:00
Christoph Haag 8cda1b6f67 comp: fix cleanup of direct window, delete with correct type
Found by gcc address sanitizer.
2019-08-13 01:47:50 +02:00