Commit graph

832 commits

Author SHA1 Message Date
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
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 9b21b7d36c t/slam: Use debug assertions and ensure timestamps come in order 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 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
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
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 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 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
Ryan Pavlik 967efb4a12 a/os: SetWaitableTimer wants durations in hundreds of ns. 2021-09-20 09:25:31 -05:00
Jakob Bornecrantz b4ce66a5dc u/var: Remove sink variable tracking 2021-09-17 15:27:23 +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 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
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 ec5b5f9e1d t/slam: Only warn for incompatible OpenCV 2021-09-16 23:33:05 +02:00
Mateo de Mayo 549c59a493 t/slam: Add SLAM tracking module 2021-09-15 19:03:55 +00:00
Simon Zeni 26c684d42f aux/vk: Add VK_EXT_acquire_drm_display functions 2021-09-15 18:44:18 +00: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 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
Mateo de Mayo d9482d0b76 u/var: Add f64 kind 2021-09-13 18:59:03 +01:00
Jakob Bornecrantz 129902750d u/sink: Add conversion from L8 to R8G8B8 2021-09-03 22:16:21 +01:00
Moses Turner cef922946a aux/vive: Parse camera calibration 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
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
Jakob Bornecrantz 3bab14fa3b t/psmv: Fix misconception with disparity transform 2021-09-01 22:00:46 +01: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
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
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 022bf18200 u/sink: Make sure to add quirk sink to context 2021-08-20 17:14:43 +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
Moses Turner 6e5efc850e aux/math: Add euro filtering 2021-08-18 18:56:10 +00: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
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
Christoph Haag 32d09aadc3 aux/vk: Add vkGetFenceStatus function 2021-08-16 15:37:29 +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
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
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 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
Jakob Bornecrantz 5838d737b3 u/sink: Tidy and add some comments to queue sink (NFC) 2021-06-27 00:59:24 +00: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
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
Ryan Pavlik ad44f42b24 aux/vk: Add fence import for windows 2021-06-15 17:37:14 -05: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 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
Jakob Bornecrantz b7b469089c t/fm: Add simple FrameMat that wraps a cv::Mat 2021-05-31 13:43:19 +00:00
Jakob Bornecrantz 855cdb4c29 aux/vk: Tidy code (NFC) 2021-05-18 03:48:50 +01:00