Commit graph

4150 commits

Author SHA1 Message Date
Mateo de Mayo 7e1f9a7964 t/hand: Add option for allowing xfctx to be managed externally
Other trackers (e.g., psmv, slam, etc) work as sinks and the xfctx that manages
them is handled by the device providing the data streams. This change helps
the hand tracker have a more similar interface to other trackers.
2022-05-07 15:53:56 +00:00
Mateo de Mayo 44dac0eb5d d/wmr: Refactor UI and tracker initialization into their own methods (NFC) 2022-05-07 15:53:56 +00:00
Mateo de Mayo e3fadb5364 doc: Fix some doxygen warnings 2022-05-07 15:53:56 +00:00
Ryan Pavlik bcdc2416a7 cmake: Adjust deps of XRT_INSTALL_*_SYSTEMD_*
Value may be ignored in this repo without the service target,
but it's harmless to have it on, and more flexible to build on.
2022-05-06 14:30:49 -05:00
Ryan Pavlik ccbb658e49 st/oxr: Fix renderdoc build on Windows. 2022-05-06 13:59:24 -05:00
Ryan Pavlik e79a13f0ac a/util: Fix log corruption on Windows. 2022-05-06 00:26:39 +01:00
Ryan Pavlik dd6b0debd0 c/main: Populate LUID in xrt_system_compositor_info 2022-05-06 00:26:34 +01:00
Ryan Pavlik f958091578 st/oxr: Fix vulkan luid logging 2022-05-06 00:26:34 +01:00
Ryan Pavlik 422666efb3 cmake: Hide some warnings on external code. 2022-05-04 11:24:02 -05:00
Ryan Pavlik 3287c984aa cmake: Reorganize options, renaming some.
Rename XRT_HAVE_SLAM to XRT_FEATURE_SLAM,
moving it from xrt_config_have.h to xrt_config_build.h
accordingly.
2022-05-04 11:24:02 -05:00
Ryan Pavlik 097eeb4f29 cmake: Switch to a new way of setting options more in line with expectations.
If you explicitly request an option, and it's not available due to dependencies,
we now error out instead of silently changing the value.
2022-05-04 11:24:02 -05:00
Jakob Bornecrantz 38f68dc104 xrt: Use xrt_luid_t for deviceLUID 2022-05-04 15:11:24 +00:00
Jakob Bornecrantz b62d871498 xrt: Add xrt_luid_t 2022-05-04 15:11:24 +00:00
Jakob Bornecrantz 4ba23faa6b auxiliary: Deal with clang-format-14 fallout (NFC) 2022-05-04 15:58:01 +01:00
Jakob Bornecrantz 45ba6ff1b1 c/client: Add support for xrt_swapchain_create_properties 2022-05-04 15:51:34 +01:00
Jakob Bornecrantz a36620fad3 ipc: Use xrt_swapchain_create_properties when using XINA 2022-05-04 15:51:16 +01:00
Jakob Bornecrantz 6805b40ac2 ipc: Add support for xrt_swapchain_create_properties 2022-05-04 15:50:54 +01:00
Jakob Bornecrantz f78f334473 c/multi: Add support for xrt_swapchain_create_properties 2022-05-04 15:50:20 +01:00
Jakob Bornecrantz dd1da49aa5 c/base: Add support for xrt_swapchain_create_properties 2022-05-04 15:50:00 +01:00
Jakob Bornecrantz 07fe47d053 xrt: Add xrt_swapchain_create_properties and related function 2022-05-04 15:48:57 +01:00
Moses Turner a5024060eb d/dai: Autodetect OAK-D vs OAK-D Lite
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2022-05-04 13:43:43 +00:00
Ryan Pavlik 3f9e5c2a30 st/steamvr_drv: Guard GNU pragmas 2022-05-03 22:45:05 +01:00
Ryan Pavlik fedb4fd413 t/steamvr_drv: Adjust ifdef 2022-05-03 22:44:46 +01:00
Ryan Pavlik fc9fba9ab2 st/oxr: Adjust ifdef 2022-05-03 22:44:46 +01:00
Ryan Pavlik f9b4af04e4 a/tracking: Fix conversion warnings 2022-05-03 22:44:37 +01:00
Ryan Pavlik d8970f25f9 a/math: Fix conversion warnings 2022-05-03 22:44:28 +01:00
Ryan Pavlik 32a893fd2b st/oxr: Grab LUID from Vulkan if possible 2022-05-03 22:39:58 +01:00
Ryan Pavlik 49c45bf16a c/main: Store LUID 2022-05-03 22:34:47 +01:00
Ryan Pavlik 63fdadae3f c/util: Query GPU LUID when possible 2022-05-03 22:33:57 +01:00
Ryan Pavlik 3691d881fc xrt: Adjust includes for intrinsics on Windows/msvc 2022-05-03 22:33:57 +01:00
Ryan Pavlik 14f37dbe4c xrt: Add GPU LUID to xrt_system_compositor_info 2022-05-03 22:32:17 +01:00
Jakob Bornecrantz 96fbb1e59a c/client: Print the EGL return when failing to set context 2022-05-03 15:20:19 +00:00
Jakob Bornecrantz e791f3ea2f d/android: Fix various bugs 2022-05-03 14:22:34 +00:00
Ryan Pavlik 7a039543d1 st/prober: We want to support HID devices 2022-05-02 17:16:04 +01:00
Jakob Bornecrantz dbb0461db4 st/prober: Tidy 2022-05-02 17:16:04 +01:00
Jakob Bornecrantz d6dcba29ed st/oxr: Tidy 2022-05-02 17:16:04 +01:00
Jakob Bornecrantz 05d186083a st/gui: Fix conversion warnings 2022-05-02 17:16:04 +01:00
Jakob Bornecrantz f8bce0b213 st/oxr: Fix conversion warnings 2022-05-02 17:16:04 +01:00
Jakob Bornecrantz 243c2e5326 d/psvr: Fix conversion warnings 2022-05-02 17:16:04 +01:00
Jakob Bornecrantz 2035ac03ff st/prober: Silence warnings 2022-05-02 17:16:04 +01:00
Jakob Bornecrantz a98c589a30 c/client: Fix conversion warning 2022-05-02 17:16:04 +01:00
Jakob Bornecrantz 065c1c4ee2 c/render: Fix conversion warnings
c/render: Fix conversion warnings
2022-05-02 17:16:04 +01:00
Jakob Bornecrantz e39648bab1 c/multi: Fix conversion warnings 2022-05-02 17:16:04 +01:00
Jakob Bornecrantz 32d563d26c c/main: Fix conversion warnings
c/main: Fix conversion warnings
2022-05-02 17:16:04 +01:00
Jakob Bornecrantz d1d58c4bce u/distortion: Fix conversion warning 2022-05-02 17:16:04 +01:00
Jakob Bornecrantz d8003b4c8f u/pacing: Fix conversion warning 2022-05-02 17:16:04 +01:00
Jakob Bornecrantz fa988a7f74 u/time: Fix conversion warning 2022-05-02 17:16:04 +01:00
Jakob Bornecrantz 5981a508d2 u/sink: Fix conversion warnings 2022-05-02 17:16:04 +01:00
Jakob Bornecrantz 1afc18108e m/3dof: Fix conversion warning 2022-05-02 17:16:04 +01:00
Jakob Bornecrantz 0a0d4a49d5 m/space: Fix function call warning 2022-05-02 17:16:04 +01:00
Jakob Bornecrantz d1512f0005 m/lowpass: Fix no define parameter warning 2022-05-02 17:16:04 +01:00
Jakob Bornecrantz 91facd10f1 xrt: Add xrt_uuid_t 2022-05-02 17:16:04 +01:00
Jakob Bornecrantz 428e46617a st/oxr: Avoid using sprintf 2022-05-02 17:16:04 +01:00
Jakob Bornecrantz 545ad5c1bf st/oxr: Avoid using strncpy 2022-05-02 17:16:04 +01:00
Jakob Bornecrantz c6208482b8 c/util: Avoid using sprintf 2022-05-02 17:16:04 +01:00
Jakob Bornecrantz 6d2011abfd u/file: Avoid using fopen 2022-05-02 17:16:04 +01:00
Jakob Bornecrantz 42ba279050 u/file: Avoid using getenv 2022-05-02 17:16:04 +01:00
Jakob Bornecrantz fbc51366e6 u/config: Avoid using strncpy 2022-05-02 17:16:04 +01:00
Jakob Bornecrantz 9ab5195337 st/oxr: Make sure defines are set for graphics integration files 2022-05-02 15:40:31 +00:00
Jakob Bornecrantz 5f421503e9 st/oxr: Set XR_USE_GRAPHICS_API_VULKAN as a compile define like the others 2022-05-02 15:40:31 +00:00
Jakob Bornecrantz d7613b9b67 st/oxr: Match comp client XLIB deps
Fixes #168
2022-05-02 15:40:31 +00:00
Jakob Bornecrantz f4c26bbabb st/oxr: oxr_session_gfx_gl.c to oxr_session_gfx_gl_xlib.c 2022-05-02 15:40:31 +00:00
Antonio Ospite bd06961188 a/util: Silence percetto warnings also when building with g++
Percetto is using designated struct initializers, but those are not
supported in standard C++ before C++20, resulting in some compilation
warnings.

The previous fix for that was using a diagnostic valid for clang but not
for g++ resulting in another warning when building with g++:

-----------------------------------------------------------------------
In file included from ../monado/src/xrt/auxiliary/math/m_relation_history.cpp:19:
../monado/src/xrt/auxiliary/util/u_trace_marker.h:21:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   21 | #pragma GCC diagnostic ignored "-Wc99-designator"
      |                                ^~~~~~~~~~~~~~~~~~
-----------------------------------------------------------------------

For GCC the diagnostics to disable is actually "-Wpedantic", as shown
below:

-----------------------------------------------------------------------
In file included from ../monado/src/xrt/auxiliary/util/u_trace_marker.h:25,
                 from ../monado/src/xrt/auxiliary/math/m_relation_history.cpp:19:
../external/percetto/src/percetto.h: In function ‘void percetto_event_with_args(percetto_category*, uint32_t, const char*, int32_t, const percetto_track*, int64_t, uint64_t)’:
../external/percetto/src/percetto.h:424:5: warning: C++ designated initializers only available with ‘-std=c++2a’ or ‘-std=gnu++2a’ [-Wpedantic]
  424 |     .track = track,
      |     ^
-----------------------------------------------------------------------

And for clang "-Wc++20-designator" should be slightly more accurate:

-----------------------------------------------------------------------
In file included from ../monado/src/xrt/auxiliary/util/u_trace_marker.h:29:
../external/percetto/src/percetto.h:424:5: warning: designated initializers are a C++20 extension [-Wc++20-designator]
    .track = track,
    ^
-----------------------------------------------------------------------

Fix all the warnings by ignoring the right diagnostics depending on the
compiler, taking care of differentiating clang++ from g++ as they both
define __GNUC__.
2022-05-02 17:31:11 +02:00
Jakob Bornecrantz 175ff58f10 build: Remove meson files 2022-04-28 21:36:25 +00:00
Jakob Bornecrantz bc89a23280 c/client: Use helper function to see if timeline semaphore is avaiable 2022-04-28 10:55:55 +01:00
Jakob Bornecrantz 0dbe9857c3 a/vk: Add function to check timeline semaphore import/export cap 2022-04-28 10:55:55 +01:00
Jakob Bornecrantz 3492c9e948 st/oxr: Tidy and print out suggested uuid in physical device selection code 2022-04-28 10:29:56 +01:00
Jakob Bornecrantz 8dfae6d1d1 st/oxr: Log information when creating VkInstance & VkDevice 2022-04-28 10:27:11 +01:00
Ryan Pavlik a10206dce6 a/vk: Fix MSVC build.
Apparently static initializers referring to other statics are not enjoyed
by Microsoft's compiler
2022-04-27 15:23:24 +00:00
Ryan Pavlik 7db9131aab a/util: Add pop_back to HistoryBuffer 2022-04-27 09:51:12 -05:00
nima01 232b3bade5 aux/math: More double-precision matrix and vector support 2022-04-25 19:14:46 +00:00
Jakob Bornecrantz 27e4577acb a/vk: Tidy calls to vk_get_memory_type 2022-04-24 22:47:51 +01:00
Jakob Bornecrantz 045fc9c33f a/vk: Add caller_name argument to vk_alloc_and_bind_image_memory for better debugging 2022-04-24 22:47:51 +01:00
Jakob Bornecrantz 917265d1b2 a/vk: Add vk_convert_timestamps_to_host_ns function 2022-04-24 22:47:51 +01:00
Jakob Bornecrantz f217046810 a/vk: Get the timestamp valid bits 2022-04-24 11:10:03 +01:00
Jakob Bornecrantz 599527fe01 a/vk: Fill in timestamp feature information 2022-04-24 11:10:03 +01:00
Jakob Bornecrantz 3aa4fdb096 a/vk: Add function to print device features 2022-04-24 11:10:03 +01:00
Jakob Bornecrantz f65a8b1eda a/vk: Add VK_EXT_calibrated_timestamps 2022-04-24 00:29:41 +01:00
Jakob Bornecrantz 9e58ab69e0 a/vk: Add VkQueryPool functions 2022-04-24 00:29:41 +01:00
Ryan Pavlik 2f78acd108 cmake: Copy some deps over when installing on Windows. 2022-04-21 17:17:16 -05:00
Ryan Pavlik 0926ce1dab cmake: Clean up how we install the runtime 2022-04-21 17:17:16 -05:00
Ryan Pavlik 86ee913086 cmake: Use new module for generating manifests
Remove the old parts.
2022-04-21 17:17:16 -05:00
Ryan Pavlik e75fae4d80 cmake: Fix where we install the runtime on Windows 2022-04-21 16:29:17 -05:00
Ryan Pavlik ad6b70267e cmake: Apparently Windows needs backslashes in the manifest files. 2022-04-21 16:23:49 -05:00
Ryan Pavlik aa4f43b049 cmake: Improve manifest installation, allowing relative paths to be generated. 2022-04-20 11:47:04 -05:00
Jakob Bornecrantz 3d35890206 u/pacing: Trace a little bit more to show when the app is late 2022-04-18 23:26:52 +00:00
Jakob Bornecrantz 4f5bcc5c22 u/pacing: Use the correct term for when the GPU work is done 2022-04-18 23:26:52 +00:00
Jakob Bornecrantz 93091157b8 u/pacing: Correct account for the apps full time when predicting 2022-04-18 23:26:52 +00:00
Jakob Bornecrantz c5fe86ccf9 u/trace_marker: Add env varible to enable/disable tracing
Should a application load and unload the OpenXR runtime driver multiple times
the Perfetto code becomes unstable and eventually crashes. This unfortunately
happens with the CTS, to avoid having to recompile Monado and a env variable
to control if tracing should be used.
2022-04-18 22:41:17 +00:00
Jakob Bornecrantz 7b82b63896 c/render: Remove unused timewarp shader 2022-04-18 18:48:54 +01:00
Jakob Bornecrantz 95d5343c9a c/render: Make distortion shader optionally do timewarp 2022-04-18 18:48:54 +01:00
Jakob Bornecrantz 0be36ccc9d c/render: Use shader specialisation to set distortion_texel_count 2022-04-18 18:48:54 +01:00
Jakob Bornecrantz 7ba7f43e83 a/vk: Add specialization_info argument to vk_create_compute_pipeline 2022-04-18 18:48:54 +01:00
Ryan Pavlik 068ec80f9d external: Regenerate glad2 2022-04-18 12:24:18 -05:00
Ryan Pavlik 0f92ba2137 external: Add GL_EXT_semaphore to glad 2022-04-18 12:18:51 -05:00
Ryan Pavlik e9f0ec4313 external: Have GLAD2 also generate wgl headers 2022-04-18 12:18:43 -05:00
Ryan Pavlik aad3b51be4 external: Make the script to generate GLAD2 a standalone script
Extension list not changed, just sorted.
2022-04-18 12:18:29 -05:00
Ryan Pavlik 2d916c11c5 xrt: Fix OpenXR platform include on Windows 2022-04-18 12:12:43 -05:00
Jakob Bornecrantz d24375f8ab st/oxr: Tidy order of extensions (NFC) 2022-04-18 17:39:28 +01:00
Ryan Pavlik 02435cc033 xrt: clarify comment 2022-04-18 10:54:22 -05:00
Ryan Pavlik 3ed593df4b st/oxr: Fix typo in comment 2022-04-18 10:53:09 -05:00
Ryan Pavlik 5dcb5c360c comp: Fix warnings on MSVC 2022-04-18 10:53:02 -05:00
Ryan Pavlik 3631289e4f xrt: Rename interface: reserved word in msvc. 2022-04-18 10:52:57 -05:00
Ryan Pavlik 11e0d7ed76 comp: Fix comment typo 2022-04-18 10:52:45 -05:00
Ryan Pavlik 1331e93bdc xrt: Fix typo 2022-04-18 10:52:42 -05:00
Jakob Bornecrantz 8ed5a082be c/render: Add missing comments to timewarp shader 2022-04-18 13:03:32 +01:00
Jakob Bornecrantz 1999891a19 c/render: Use a Vulkan projection matrix with Y down in projection space 2022-04-18 13:03:32 +01:00
Jakob Bornecrantz e561bec87d c/render: Use specialization constant for distortion size
This would allow Vulkan shader specialization to be used to change
the size and runtime instead of having to recompile.
2022-04-18 13:03:32 +01:00
Jakob Bornecrantz 87ea035416 c/render: Document compute distortion shader sampling code 2022-04-18 13:03:32 +01:00
Jakob Bornecrantz f4d3c8a93f c/render: Correctly calculate uv to tan angle offset values 2022-04-18 13:03:32 +01:00
Jakob Bornecrantz f20031ec99 c/render: Correctly convert shader index to target pixel uv 2022-04-18 13:03:32 +01:00
Jakob Bornecrantz ca33ac434c c/render: Correctly scale uv for compute distortion 2022-04-17 15:26:51 +00:00
Jakob Bornecrantz 3b6b45b762 d/wmr: Prettier xfer status printing 2022-04-17 16:06:11 +01:00
Christoph Haag 7ebd11e1d4 comp/render: Add VkExternalMemoryBufferCreateInfo
Fixes validation error when calling render_buffer_init_exportable

VUID-vkBindBufferMemory-memory-02726(ERROR / SPEC): msgNum: -168767885 - Validation Error: [ VUID-vkBindBufferMemory-memory-02726 ] Object 0: handle = 0xe88693000000000c, type = VK_OBJECT_TYPE_BUFFER; Object 1: handle = 0xcad092000000000d, type = VK_OBJECT_TYPE_DEVICE_MEMORY; | MessageID = 0xf5f0ce73 | vkBindBufferMemory(): The VkDeviceMemory (VkDeviceMemory 0xcad092000000000d[]) has an external handleType of VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT which does not include at least one handle from VkBuffer (VkBuffer 0xe88693000000000c[]) handleType Unhandled VkExternalMemoryHandleTypeFlagBits. The Vulkan spec states: If the value of VkExportMemoryAllocateInfo::handleTypes used to allocate memory is not 0, it must include at least one of the handles set in VkExternalMemoryBufferCreateInfo::handleTypes when buffer was created (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkBindBufferMemory-memory-02726)
    Objects: 2
        [0] 0xe88693000000000c, type: 9, name: NULL
        [1] 0xcad092000000000d, type: 8, name: NULL
2022-04-15 01:27:38 +02:00
Ryan Pavlik a55a5a54b3 a/math: Normalize argument order of one euro filter initializing functions. 2022-04-13 09:40:40 -05:00
Ryan Pavlik 3e6ec47296 monado: Apply clang-tidy fixes to most of the codebase.
All at least visually inspected, some revised from the auto-fixit
2022-04-13 09:34:54 -05:00
Nima01 f705683957 d/wmr: Partial decoding of device status message. Notifies when screen is fully powered up Reverb G1. 2022-04-13 00:19:50 +00:00
Ryan Pavlik 029fa2496e a/math: Tell clang-tidy to leave our MSVC-mandated define alone.
Also try to avoid redefinition warnings from MSVC.
2022-04-13 01:11:17 +01:00
Ryan Pavlik 0ae0316400 cmake: Format build files 2022-04-13 01:11:13 +01:00
Ryan Pavlik 4939bc2f59 a/util: Manual fixes to clang-tidy issues. 2022-04-13 01:10:54 +01:00
Ryan Pavlik f769ff8977 comp/main: Manual fixes to clang-tidy issues 2022-04-13 01:10:46 +01:00
Ryan Pavlik 55364cde35 xrt: Manual fixes to clang-tidy issues. 2022-04-13 01:10:14 +01:00
Alexander Koenig 5d76c83c37 Fix typo in rotate_lenses_right quirk, helps with #166 2022-04-12 23:14:32 +00:00
Ryan Pavlik 71580213aa comp/client: Fix doxygen warnings 2022-04-12 23:06:11 +00:00
Ryan Pavlik e551f6a9b8 t/hand/mercury: Fix some doxygen warnings. 2022-04-12 23:06:11 +00:00
Ryan Pavlik 62ff3bad54 t/cli: Fix warning when building without slam 2022-04-12 23:06:11 +00:00
Ryan Pavlik e8435da3e5 st/p: Silence an MSVC warning 2022-04-12 23:06:11 +00:00
Ryan Pavlik 91c94f015e st/oxr: Fix or silence a number of MSVC warnings 2022-04-12 23:06:11 +00:00
Ryan Pavlik ef9b15ee67 d/dummy: Silence some warnings 2022-04-12 23:06:11 +00:00
Ryan Pavlik b999b326dc comp/render: Silence warning 2022-04-12 23:06:11 +00:00
Ryan Pavlik fe7cf853e9 comp/render: Guard gcc pragmas 2022-04-12 23:06:11 +00:00
Ryan Pavlik ad1961fce7 auxiliary: Fix or disable a number of warnings
Both MSVC and doxygen warnings.
2022-04-12 23:06:11 +00:00
Ryan Pavlik 2b5f07c8e4 a/util: Silence warnings if using percetto in C++ 2022-04-12 14:38:58 -05:00
zhibinw 172ed2e847 xrt: Do not require OPENXR permission when connect MonadoService 2022-04-12 14:20:17 +00:00
Mateo de Mayo e41cc1eec3 d/qwerty: Fix warning for AIM pose 2022-04-12 10:20:02 -03:00
Jakob Bornecrantz 9fd8018a16 st/oxr: Improve space and view debug printing 2022-04-11 20:27:53 +01:00
Jakob Bornecrantz eb90745f4e st/oxr: Add pretty print functions 2022-04-11 20:27:53 +01:00
Jakob Bornecrantz 179664d6b6 st/oxr: Add pretty print integration in oxr_sink_logger 2022-04-11 20:27:53 +01:00
Jakob Bornecrantz 03df012e90 st/oxr: Add XRT_PRINTF_FORMAT to oxr_slog 2022-04-11 18:27:39 +01:00
Jakob Bornecrantz 58daee4752 st/oxr: Remove log argument to oxr_action_get_pose_input function 2022-04-11 18:27:39 +01:00
Jakob Bornecrantz e8fb10bd82 u/pretty: Add pretty print helpers 2022-04-11 18:27:39 +01:00
Jakob Bornecrantz cbeebe6ca4 xrt: Add XRT_GET_INPUT_ID 2022-04-09 22:07:06 +01:00
Jakob Bornecrantz b26a602322 c/main: Fix copy-typo 2022-04-08 20:15:00 +01:00
Jakob Bornecrantz 42df7b7b21 c/main: Lock cmd pool mutex when reading back frames 2022-04-08 19:30:06 +01:00
Jakob Bornecrantz 400c3900f0 c/render: Take the pool lock to fix threading errors 2022-04-08 19:20:33 +01:00
Jakob Bornecrantz 0ee1127431 aux/vk: Rename barrier functions and introduce new variant 2022-04-08 19:17:41 +01:00
Jakob Bornecrantz 9d74e7a8c5 aux/vk: Tidy command buffer related functions 2022-04-08 17:34:30 +00:00
Jakob Bornecrantz 6e13a0a21b aux/vk: Use correct aspect for image barrier 2022-04-08 17:34:30 +00:00
Jakob Bornecrantz 0d152381a8 c/client: Move NOOP begin/end to EGL client 2022-04-08 11:32:40 +01:00
Jakob Bornecrantz 46debec4fd c/client: Use begin and end in layer commit 2022-04-08 11:21:06 +01:00
Jakob Bornecrantz 7996457f3e c/client: Tidy 2022-04-08 11:21:06 +01:00
Christoph Haag cb7855b8bd c/client: Ensure the correct GL context is current
when running OpenGL functions.

Co-authored-by: James Hogan <james@albanarts.com>
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2022-04-07 20:17:29 +02:00
James Hogan 7440e14fb4 aux/ogl: Add GLX API wrapper
Add a wrapper for the GLX API around the GLAD header.

Co-authored-by: Christoph Haag <christoph.haag@collabora.com>
2022-04-07 02:21:34 +02:00
James Hogan 3dfcc48564 external: Update GLAD to add GLX 1.3
Update glad command to include GLX 1.3 and regenerate.

This will be useful to implement proper OpenGL context saving,
switching, and restoring.

reuse: Add glad/glx.h
2022-04-07 02:21:34 +02:00
Christoph Haag 8dd19ea794 st/prober: Also disable autoprober drivers when qwerty is enabled 2022-04-06 23:23:55 +02:00
Christoph Haag 6b58c70f11 st/prober: remove stray ; 2022-04-06 23:23:52 +02:00
Mateo de Mayo 8468c8e0a6 t/cli: Add slambatch command 2022-04-06 11:50:17 -03:00
Mateo de Mayo 310248546d d/euroc: Add euroc runner 2022-04-06 11:50:17 -03:00
Mateo de Mayo 4c85e3fbb3 t/slam: Refactor tracker to accept a config struct on creation 2022-04-06 11:50:17 -03:00
Mateo de Mayo a80f88eb00 d/euroc: Refactor player to accept a config struct on creation 2022-04-06 11:50:17 -03:00
Mateo de Mayo ff8c2d820c d/euroc: Improve player tolerance to more datasets
Makes all usable euroc and tumvi datasets stream properly by fixing
some border cases that a couple of datasets had.
2022-04-06 11:50:17 -03:00
Mateo de Mayo 2a4a9aa210 t/slam: Add configuration options to tracker
Specifically:
- SLAM_PREDICTION_TYPE
- SLAM_CSV_PATH
2022-04-06 11:50:17 -03:00
Mateo de Mayo 7f0699dffc d/euroc: Add configuration options to the player
Specifically:
- EUROC_PLAY_FROM_START
- EUROC_USE_SOURCE_TS
- EUROC_PRINT_PROGRESS
- EUROC_MAX_SPEED
- EUROC_PLAYBACK_SPEED
2022-04-06 11:50:17 -03:00
Mateo de Mayo b6cd12a860 misc: Add gui nullcheck and initialize thread running field 2022-04-06 11:50:17 -03:00
Jakob Bornecrantz 716ba4db60 tracking: Predeclare struct instead of including cJSON in header 2022-04-06 15:38:44 +01:00
Jakob Bornecrantz d89b8f40d9 st/oxr: Detect VK_LAYER_MND_enable_timeline_semaphore
And enable timeline semaphore support if it is found.
2022-04-06 12:08:48 +01:00
Jakob Bornecrantz 1a00709186 aux/vk: Add vkEnumerateDeviceLayerProperties to instance functions 2022-04-06 11:45:24 +01:00
Campbell Suter e18ca850ba steamvr_drv: Use the correct grip name for XRT_DEVICE_SIMPLE_CONTROLLER
Previously, xrt_device_get_tracked_pose was called with
XRT_INPUT_GENERIC_HEAD_POSE when getting the pose of a SIMPLE_CONTROLLER device.

When using the 'remote' driver, this lead to two warnings per frame [1] and more
importantly the device pose wasn't being read. I haven't tested this with any
other drivers, but it appears that at least the QUERTY driver likely has an
issue with this too, as it uses the input name to determine whether to return
the HMD or controller pose.

[1] ERROR [r_device_get_tracked_pose] Unknown input name
2022-04-06 00:50:40 +00:00
Ryan Pavlik 16c016c4ca comp/render: Use a helper 2022-04-05 22:48:24 +00:00
Ryan Pavlik 8af498aa20 a/vk: Fix typo 2022-04-05 22:48:24 +00:00
Ryan Pavlik 7952773908 a/vk: Expose get_device_memory_handle as vk_get_native_handle_from_device_memory 2022-04-05 22:48:24 +00:00
Ryan Pavlik 9463de7e6f xrt: Undef Status and Bool in vulkan include if we think the xlib header got included. 2022-04-05 23:32:07 +01:00
Jakob Bornecrantz 48fd3e626c c/client: Tidy VK compositor 2022-04-05 23:22:26 +01:00
Jakob Bornecrantz 3bff3827d9 c/client: Remove acquire_release_fence completely
The barriers are a completely GPU affair no need to syncronize with the host.
2022-04-05 23:22:26 +01:00
Jakob Bornecrantz e7713bf1e4 c/multi: Be slightly smarter about late frames 2022-04-05 23:22:26 +01:00
Jakob Bornecrantz cf413a445f c/multi: Add per client thread that waits for sync objects 2022-04-05 23:22:26 +01:00
Jakob Bornecrantz 0595070132 u/pacing: Split draw into draw and wait, improve pipelining 2022-04-05 22:01:17 +00:00
Jakob Bornecrantz 47649f56b6 u/pacing: Track when the app wants the frame to be displayed 2022-04-05 22:01:17 +00:00
Jakob Bornecrantz 8e8a0b38c6 u/pacing: Add gpu done time tracking to app pacer 2022-04-05 22:01:17 +00:00
Jakob Bornecrantz 04b9602dd1 u/pacing: Allow more then two frames to be alive at the same time 2022-04-05 22:01:17 +00:00
Jakob Bornecrantz f4b75b3561 u/trace_marker: Add wait pacing track 2022-04-05 22:01:17 +00:00
Jakob Bornecrantz e77094892f st/oxr: Add debug flag to force timeline semaphores on 2022-04-05 22:01:17 +00:00
Jakob Bornecrantz cfb8d36b46 c/render: Rename files 2022-04-05 22:45:45 +01:00
Jakob Bornecrantz ee09070608 c/render: Rename all functions and structs with new prefix 2022-04-05 22:45:12 +01:00
Jakob Bornecrantz d93c2dc4d8 c/render: Remove unused comp_rendering_compute_data 2022-04-05 22:45:12 +01:00
Jakob Bornecrantz 2f24353556 c/render: Remove main/comp_compositor include 2022-04-05 22:45:10 +01:00
Jakob Bornecrantz c317a27a1d aux/vk: Remove setting of format on out struct 2022-04-04 16:12:08 +00:00
Jakob Bornecrantz 1c67113e20 aux/vk: Tidy vk_image_allocator 2022-04-04 16:12:08 +00:00
Jakob Bornecrantz 15da4636f8 aux/vk: Use VK_CSCI_FORMATS helper for swapchain image flags 2022-04-01 19:53:02 +01:00
Jakob Bornecrantz aaa2d4e8e6 aux/vk: Move compositor image format list here 2022-04-01 19:44:07 +01:00
Jakob Bornecrantz d31232c794 aux/vk: Move vk_insert_image_memory_barrier declaration (NFC) 2022-04-01 18:54:18 +01:00
Jakob Bornecrantz dea7bc847e c/util: Make COMP_VULKAN_FORMATS differentiate between depth-stencil, depth and stencil formats 2022-04-01 18:53:47 +01:00
Christoph Haag 5aa7ef25b8 c/util: Remove old format checking code
It's not the compositors job to check the format.
2022-04-01 18:53:47 +01:00
Christoph Haag 322ce27163 c/util: Print warning when attempting to create protected content swapchain 2022-04-01 18:53:47 +01:00
Christoph Haag 22c7fea639 ipc: Amend swapchain create error for unsupported swapchains 2022-04-01 18:10:22 +01:00
Jakob Bornecrantz 4f0b425da7 c/client: Tidy error messages in GL compositor 2022-03-31 01:14:04 +01:00
Jakob Bornecrantz d53659a476 c/client: Add a littel bit of tracing to GL compositor 2022-03-31 01:09:25 +01:00
Jakob Bornecrantz 38e7a0a1e6 c/client: Format format list 2022-03-31 00:45:51 +01:00
Jakob Bornecrantz 4fe8e89be9 c/client: Add new formats to GL 2022-03-31 00:43:53 +01:00
Christoph Haag 1eeb870a2d ipc: Add float to supported types in proto 2022-03-30 22:35:33 +02:00
Jakob Bornecrantz 4f1dfa7ae4 aux/vk: Refactor out some printing functions 2022-03-30 20:14:38 +01:00
Jakob Bornecrantz 2f73c7569a aux/vk: Refactor out init functions 2022-03-30 20:08:35 +01:00
Ryan Pavlik 6d621b07c5 st/oxr: Add missing ifdef fixing broken build if Vulkan missing 2022-03-30 09:26:22 -05:00
Christoph Haag 068bf05057 st/oxr: Fix pure_relation_from_space
Fixes in particular the space transform submitted in composition layers
in local reference space.

Consider a pose given with a pose offset to an XrSpace as its origin.
To construct the Pose in global space, simply add up XrSpace pose in
global space, XrSpace pose offset and the given pose.

     Given pose with a
     pose offset to XrSpace as origin
            /|\         /|\
            /            |
           /             |
   XrSpace pose offset   |
         /|\             |
          |              |
          |              |
      XrSpace pose       |
     in global space     |
            /|\          |
             \           |
              \          |
            Global Space origin
2022-03-30 02:03:18 +02:00
Jakob Bornecrantz 922fdff62d c/main: Use new format checking helpers 2022-03-29 16:26:34 +01:00
Jakob Bornecrantz c3eb8cd014 c/util: s/colour/color/g 2022-03-29 16:26:34 +01:00
Jakob Bornecrantz 08e025522f c/util: Add missing AHardwareBuffer formats 2022-03-29 16:26:34 +01:00
Jakob Bornecrantz 658c67b0fc c/util: Add vulkan format checking code 2022-03-29 16:26:34 +01:00
Jakob Bornecrantz f54894ee0d aux/vk: Refactor out external handle type for compositor swapchain image 2022-03-29 16:26:34 +01:00
Jakob Bornecrantz 65ced47143 aux/vk: Add more formats to vk_format_string 2022-03-29 16:26:34 +01:00
Jakob Bornecrantz 8cfe941c01 aux/vk: Rename vk_[color_]format_string 2022-03-29 16:26:34 +01:00
Ryan Pavlik 96314d4f76 meson: Define XRT_HAVE_HIDAPI if using it 2022-03-29 09:31:49 -05:00
Jakob Bornecrantz b4f2bc88c8 cmake: Introduce XRT_HAVE_HIDAPI to make HIDAPI controllable 2022-03-28 22:35:01 +00:00
Christoph Haag 5d50be0164 aux/vk: Always use dedicated allocation on desktop
Fixes CTS on nvidia.

Example code given by the driver devs in the nvidia forums was
VkBool32 dedicatedAllocation = (memDedicatedReq.requiresDedicatedAllocation != VK_FALSE) ||
                               (memDedicatedReq.prefersDedicatedAllocation != VK_FALSE);

However on GTX 1080, nvidia 470.103 with

    ./conformance_cli "Timed Pipelined Frame Submission" -G Vulkan2

we are to create a VkImage with

  DEBUG [create_image] create_image: Use dedicated allocation: 0 (preferred: 0, required: 0)

doing so causes the VkFence wait in vk_submit_cmd_buffer to fail randomly with
either VK_TIMEOUT or VK_ERROR_DEVICE_LOST.

On AMD radv we are told to use dedicated allocation:

  DEBUG [create_image] create_image: Use dedicated allocation: 1 (preferred: 1, required: 1)
2022-03-28 23:16:05 +02:00
Christoph Haag 18376007f9 st/oxr: oxr_space type is now an enum
v2: Get rid of ref_space_type
2022-03-25 18:47:46 +00:00
Christoph Haag 543fbc38e2 st/oxr: Allow locating views in all spaces 2022-03-25 18:47:46 +00:00
Christoph Haag 6c9f1f4083 t/hand: Add meson build for mercury 2022-03-25 18:33:04 +00:00
Christoph Haag 02e5e7be4a st/oxr: Fix getting velocity next struct in xrLocateSpace
fixes 85a2abae
2022-03-25 15:36:14 +01:00
Moses Turner 870a2ce704 d/ht: support DepthAI cameras and Mercury hand tracking 2022-03-23 18:30:02 -05:00
Moses Turner 00be5d0551 Add Mercury grayscale hand tracking! 2022-03-23 18:30:02 -05:00
Antonio Ospite 28b53689f4 c/render: add comp_buffer_init_exportable helper to create exportable buffers
Some downstream user might want to use the very handy comp_buffer_init()
helper to create buffers, but the latter does not cover the case when
the buffer needs to be exportable for API interoperability.

Add a new comp_buffer_init_exportable() helper to cover that case, this
is done in a way that is not particularly invasive for existing users of
comp_buffer_init(), as all the logic about the exportability is handled
by the new function.
2022-03-23 21:38:22 +00:00
Moses Turner 9ea9d0babf t/hand: Correct old_rgb namespace 2022-03-23 20:56:15 +00:00
Moses Turner 912cc22c20 d/dai: Get ready to support fisheye cameras
Remove the #if 0 after the next depthai-core release.
2022-03-23 20:56:15 +00:00
Moses Turner 0a843eb20f d/dai: Translation is in cm but in m in Monado 2022-03-23 20:56:15 +00:00
Moses Turner 9417fe8d7f a/tracking: Support different numbers of calib parameters 2022-03-23 20:56:15 +00:00
Jakob Bornecrantz 83c8b1da86 u/sink: Make u_sink_create_format_converter support L8
Co-authored-by: Moses Turner <moses@collabora.com>
2022-03-23 20:56:15 +00:00
Moses Turner e817a18cfd u/worker: Add #pragma once 2022-03-23 20:56:15 +00:00
Ryan Pavlik 8bfb4b3d09 cmake: Update to handle newer Percetto cmake build details 2022-03-23 11:22:10 -05:00
Jakob Bornecrantz 074a0afc32 c/vk: Make it possible to request higher Vulkan version 2022-03-22 15:19:48 +00:00
Jakob Bornecrantz 8d660b6994 cmake: Make it possible to select SPIR-V version to target 2022-03-22 15:19:48 +00:00
Christoph Haag 6fdd8ab93a aux/config_json: Only check version for camera tracking config
Only the camera tracking config writes and uses the version field.

Unfortunately the tracking override config is written into the same json
object while not making use of the version field.
2022-03-22 12:35:01 +00:00
korejan d43c7ffa71 android: Support for using device's set display refresh rate
* Adds support for querying the device's currently set display refresh rate to
  be used for android driver on creation. Allowing for devices which support
  selecting other refresh rate modes beyond 60hz.
* Changes hardcoded sensor polling rate to now match refresh queried from the
  device.
2022-03-22 12:33:30 +00:00
Jakob Bornecrantz e2e65aa241 u/logging: Fix va_copy usage 2022-03-21 22:19:30 +00:00
Jakob Bornecrantz 4e4246866b st/gui: Use unique IDs instead of child windows 2022-03-21 13:14:19 +00:00
Moses Turner b3872e925f Switch real-time users of u_sink_queue to u_sink_simple_queue 2022-03-19 14:28:09 +00:00
Moses Turner 09da6e09dc u/sink: Add u_sink_simple_queue 2022-03-19 14:28:09 +00:00
Moses Turner 662b72e2f6 u/sink: Tiny refactor for queue 2022-03-19 14:28:09 +00:00
Connor Smith 703baa94fe Make app pacing more robust to variable composition->display times.
If the last returned display time shifts backwards slightly with respect to the
last sampled display time from the compositor, the next predicted display time
will not move forward by one frame. Adding half the display period to the
comparison makes the pacing robust to this case.
2022-03-19 00:57:41 +00:00
Jakob Bornecrantz 170fe0e5d9 aux/vk: Refactor out semaphore and native creation into a helper 2022-03-19 00:41:29 +00:00
Moses Turner b6e5c296f5 comp: Factor frame-timing helper out of comp_compositor
So that we can use it for readback and anything else
2022-03-18 19:00:28 -05:00
Moses Turner 8fe2a86886 st/gui: Add SW Ultrafast and SW Veryfast pipelines
Yes, I really need those. SW Fast is still the default.
2022-03-18 18:59:37 -05:00
Jakob Bornecrantz 29acdba23f aux/vk: Tidy get/import functions for native handles (NFC) 2022-03-18 23:20:20 +00:00
Jakob Bornecrantz 77ba132452 u/logging: Add u_log_set_sink implementation 2022-03-17 15:37:09 +00:00
Jakob Bornecrantz 6f10a20ce0 d/multi: Use xrt_device_get_tracked_pose function 2022-03-17 02:08:33 +00:00
Ryan Pavlik 81eaf5c28c gradle: update NDK and build tools versions to be consistent. 2022-03-16 20:29:50 +00:00
Jakob Bornecrantz 71d9887b5b xrt: Tidy xrt_instance.h (NFC) 2022-03-16 15:46:14 +00:00
Moses Turner d2366b31dc d/multi: Correctly override the head pose in get_view_poses 2022-03-15 20:13:10 -05:00
Moses Turner e4805c07e2 d/rs: Tracking origin probably should have an identity pose 2022-03-15 20:13:10 -05:00
utzcoz b2ccc8419c t/oxr_android: Move import under license for openxr_android build.gradle
Signed-off-by: utzcoz <utzcoz@outlook.com>
2022-03-15 14:28:40 +00:00
utzcoz 45f1de0c53 t/oxr_android: Replace DisplayOverOtherAppsStatusFragment instead of adding
If we click button to enable DisplayOverOtherApps for monado, use
back button to com back to Launcher and hot-start monado app, the
disabled status fragment is not removed, and enabled status fraqgment is
added top on disabled status fragment, that causes text overlap.

This CL will use FragmentTransaction#replace instead of
FragmentTransaction#add to ensure there is only one
DisplayOverOtherAppsStatusFragment, and new status will replace old
status without any overlap.

Signed-off-by: utzcoz <utzcoz@outlook.com>
2022-03-15 14:28:40 +00:00
utzcoz b6e8801ea4 t/oxr_android: Replace full-name qualified with importing for build.gradle
Signed-off-by: utzcoz <utzcoz@outlook.com>
2022-03-15 14:28:40 +00:00
Jakob Bornecrantz b2d2cf3ade st/oxr: Tidy oxr_space_locate 2022-03-15 00:16:17 +00:00
Jakob Bornecrantz 587d26bb45 st/oxr: Only access space velocity through chain helper 2022-03-15 00:16:17 +00:00
Jakob Bornecrantz 85a2abaec6 st/oxr: Refactor pose and fov copies into helpers 2022-03-15 00:16:17 +00:00
Jakob Bornecrantz 1fb5656862 st/oxr: Improve logging in xrLocateSpace 2022-03-15 00:16:17 +00:00
Jakob Bornecrantz 4fc02cf60e st/oxr: Ensure velocities flags and values are zeroed 2022-03-15 00:16:17 +00:00
Jakob Bornecrantz 798932fbf2 st/oxr: Set position to identity and zero velocities if the spaces are locatable 2022-03-15 00:16:17 +00:00
Jakob Bornecrantz 291e795728 st/oxr: Add XRT_CHECK_RESULT to some space functions 2022-03-15 00:16:17 +00:00
Jakob Bornecrantz e89e3d5276 aux/vk: Add XRT_CHECK_RETURN to sync functions 2022-03-15 00:16:17 +00:00
Jakob Bornecrantz 57d1394941 xrt: Add XRT_CHECK_RESULT define 2022-03-15 00:16:17 +00:00
Mateo de Mayo 2bb0c5cda5 t/slam: Implement CSV writers for trajectories and timing info
This CSV files can be used for offline analysis.
2022-03-14 23:42:13 +00:00
Mateo de Mayo c9f7184d64 t/slam: Implement timing and trajectory error UI graphs 2022-03-14 23:42:13 +00:00
Mateo de Mayo af2dde11c3 misc: Fix some release build warnings and minor changes
- Add CMakeUserPresets.json to .gitignore
- Fix DASSERTs warning for release builds
- Do not use one euro filter with invalid poses
- Other NFC style changes
2022-03-14 23:42:13 +00:00
Mateo de Mayo e889ee7562 d/euroc: Implement ground truth trajectory load 2022-03-14 23:42:13 +00:00
Mateo de Mayo 71694b80fd d/euroc: Refactor player to stream samples more like a real device
Splits the image and IMU producers into their own threads.
2022-03-14 23:42:13 +00:00
Mateo de Mayo 1dbda3d8c8 t/euroc: Tie CSV file opening to recorder lifecycle
This is a better way of handling writing small but high frequency data
like IMU samples so as to avoid continuous opening and closing of a file.
2022-03-14 23:42:13 +00:00
Mateo de Mayo 2d9c1b2b11 external: Update slam_tracker 2.0.0 with support for timing
Adds pose extension functionality with a timing pose extension that
allows SLAM/VIO systems to report internal timestamps for performance
measurement.
2022-03-14 23:42:13 +00:00
Mateo de Mayo 147d4c5d26 xrt: Add groundtruth sink to xrt_slam_sinks 2022-03-14 23:42:13 +00:00
Mateo de Mayo 88bd7a669d xrt: Add pose sink interface 2022-03-14 23:42:13 +00:00
Jakob Bornecrantz c766411b50 c/client: Impelement xrt_compositor_semaphore interfaces 2022-03-14 19:53:05 +00:00
Jakob Bornecrantz ef373662f2 ipc: Impelement xrt_compositor_semaphore interfaces 2022-03-14 19:53:05 +00:00
Jakob Bornecrantz ca7526a3e2 c/multi: Impelement xrt_compositor_semaphore interfaces 2022-03-14 19:53:05 +00:00
Jakob Bornecrantz 8a9a8aeeba c/util: Impelement xrt_compositor_semaphore interfaces 2022-03-14 19:53:05 +00:00
Jakob Bornecrantz 851224123e xrt: Add compositor semaphore interface 2022-03-14 19:52:48 +00:00
Jakob Bornecrantz 37354b953c aux/vk: Add more timeline semaphore functions 2022-03-14 18:58:35 +00:00
Jakob Bornecrantz 16bae922e2 c/main: Enable timeline semaphores where available 2022-03-14 18:58:35 +00:00
Christoph Haag dbb21715b0 st/oxr: Enable timeline semaphores where available
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2022-03-14 18:58:35 +00:00
Christoph Haag 02c456c192 st/oxr: Port XR_KHR_vulkan_enable2 init to u_string_list 2022-03-14 18:58:35 +00:00
Jakob Bornecrantz f4f2196e34 xrt: Add a way to say that timeline semaphores have been enabled 2022-03-14 18:58:35 +00:00
Jakob Bornecrantz d0f6ea10bc u/worker: Fix some late feedback 2022-03-14 18:57:35 +00:00
Jakob Bornecrantz 84069cc4f0 u/logging: Add logging sink to intercept log messages 2022-03-14 17:21:20 +00:00
Antonio Ospite 6ca4522de0 d/ns: really silence -Wunused-result warning
A previous change didn't really ignore the return value of fread() and
a warning was still emitted:

-----------------------------------------------------------------------
[103/1571] Building C object src/xrt/drivers/CMakeFiles/drv_ns.dir/north_star/ns_hmd.c.o
../src/xrt/drivers/north_star/ns_hmd.c: In function ‘ns_config_load’:
../src/xrt/drivers/north_star/ns_hmd.c:512:8: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result]
  512 |  (void)fread(json, 1, file_size, config_file);
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-----------------------------------------------------------------------

Check the return value of fread to fix the warning for good, and declare
the return value of ftell as long as stated in the man page.
2022-03-14 14:06:02 +00:00
Antonio Ospite 37852ffa65 xrt: fix -Wreturn-type warnings
Add some missing returns pointed out by -Wreturn-type:

-----------------------------------------------------------------------
[75/1571] Building C object src/xrt/auxiliary/CMakeFiles/aux_util.dir/util/u_config_json.c.o
.../src/xrt/auxiliary/util/u_config_json.c: In function ‘u_gui_state_scene_to_string’:
.../src/xrt/auxiliary/util/u_config_json.c:524:1: warning: control reaches end of non-void function [-Wreturn-type]
  524 | }
      | ^
-----------------------------------------------------------------------
2022-03-14 14:06:02 +00:00
Jakob Bornecrantz 771aeda784 u/worker: Add task worker helper 2022-03-11 15:29:16 +00:00
Jakob Bornecrantz 76d8944765 os/threading: Add os_cond wrapper 2022-03-11 15:29:16 +00:00
Christoph Haag 7894039962 st/oxr: return defined result early on fail in xrLocateViews 2022-03-11 00:38:35 +01:00
Christoph Haag 4501088312 st/oxr: Don't return invalid pose after local space set up 2022-03-11 00:23:12 +01:00
Jakob Bornecrantz a0c8cc14f5 external: Update to Catch2 version 2.13.8 2022-03-09 22:34:40 +00:00
Jakob Bornecrantz e1b0f55a87 d/ns: Always check to close file on error path 2022-03-09 22:34:37 +00:00
Antonio Ospite a4167ee500 d/ns: silence -Wunused-result warning, close config_file in error paths
On some systems fread() is declared with  attribute warn_unused_result
and this results in a build warning:

-----------------------------------------------------------------------
Building C object src/xrt/drivers/CMakeFiles/drv_ns.dir/north_star/ns_hmd.c.o
.../src/xrt/drivers/north_star/ns_hmd.c: In function ‘ns_config_load’:
.../src/xrt/drivers/north_star/ns_hmd.c:512:2: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result]
  512 |  fread(json, 1, file_size, config_file);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-----------------------------------------------------------------------

Explicitly ignore the return value of that fread() to silence the
warning.

And while at it also close config_file in some error paths between
fopen() and fclose() which where leaking the file pointer when jumping
to the parse_error label.
2022-03-09 16:10:43 +01:00
Antonio Ospite beda8f35b2 xrt: fix -Wmissing-field-initializers warning in comp_window_wayland.c
Newer wayland protocols have a new filed in xdg_toplevel_listener which
is not initialized:

-----------------------------------------------------------------------
[215/315] Building C object src/xrt/compositor/CMakeFiles/comp_main.dir/main/comp_window_wayland.c.o
.../src/xrt/compositor/main/comp_window_wayland.c:182:1: warning: missing field 'configure_bounds' initializer [-Wmissing-field-initializers]
};
^
1 warning generated.
-----------------------------------------------------------------------

Detect the version when this is needed and initialize the field to
silence the warning.
2022-03-09 14:53:06 +01:00
Antonio Ospite e8c9d8f575 xrt: fix -Wunused-variable warnings
Some variables are only used in asserts, so they may be unused
depending on the build type:

-----------------------------------------------------------------------
[68/315] Building C object src/xrt/auxiliary/CMakeFiles/aux_util.dir/util/u_sink_combiner.c.o
.../src/xrt/auxiliary/util/u_sink_combiner.c:188:11: warning: unused variable 'diff_ns' [-Wunused-variable]
                int64_t diff_ns = frames[0]->timestamp - frames[1]->timestamp;
                        ^
1 warning generated.
[205/315] Building C object src/xrt/compositor/CMakeFiles/comp_main.dir/main/comp_renderer.c.o
.../src/xrt/compositor/main/comp_renderer.c:872:17: warning: unused variable 'layer_count' [-Wunused-variable]
        const uint32_t layer_count = c->base.slot.layer_count;
                       ^
1 warning generated.
-----------------------------------------------------------------------

Mark them as XRT_MAYBE_UNUSED to fix the build warnings.
2022-03-09 14:53:06 +01:00
Antonio Ospite 14a1ced0e4 xrt: fix -Wreturn-type warnings
Add some missing returns pointed out by -Wreturn-type:

-----------------------------------------------------------------------
[32/315] Building C object src/xrt/auxiliary/CMakeFiles/aux_gstreamer.dir/gstreamer/gst_sink.c.o
.../src/xrt/auxiliary/gstreamer/gst_sink.c:53:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
}
^
1 warning generated.
[84/315] Building C object src/xrt/auxiliary/CMakeFiles/aux_vk.dir/vk/vk_compositor_flags.c.o
.../src/xrt/auxiliary/vk/vk_compositor_flags.c:117:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
}
^
.../src/xrt/auxiliary/vk/vk_compositor_flags.c:146:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
}
^
2 warnings generated.
-----------------------------------------------------------------------

For the function returning VkImageAspectFlags return a literal 0 because
the enum values VK_IMAGE_ASPECT_NONE or VK_IMAGE_ASPECT_NONE_KHR may not
always be defined.
2022-03-09 14:52:29 +01:00
Jakob Bornecrantz 17e9e06de7 aux/vk: Detect external semaphore support 2022-03-08 21:04:56 +00:00
Jakob Bornecrantz c0bd8ce3ba aux/vk: Let vk_init_from_given enable timeline semaphores 2022-03-08 21:04:56 +00:00
Jakob Bornecrantz 3c8378631f aux/vk: Properly set log_level in given vk_bundles 2022-03-08 21:04:56 +00:00
Jakob Bornecrantz 3044794f93 aux/vk: Rename timeline_semaphores to features.timeline_semaphore 2022-03-08 21:04:56 +00:00
Jakob Bornecrantz 8bda87c855 xrt: Correct xrt_compositor_fence::wait docu 2022-03-08 21:04:56 +00:00
Moses Turner 30b779e515 t/hand: Add ht_sync 2022-03-08 20:44:25 +00:00
Moses Turner 012c86352e t/hand: Add async wrapper around sync helper
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2022-03-08 20:44:18 +00:00
Jakob Bornecrantz 60cd630271 tracking: Add new hand tracking interface header
Co-authored-by: Moses Turner <moses@collabora.com>
2022-03-08 20:38:58 +00:00
Moses Turner 7235b6a45a u/sink: Add some comments 2022-03-08 20:38:58 +00:00
Moses Turner 37f0c901d2 u/sink: Add sink to convert from stereo to two SLAM frames 2022-03-08 20:38:58 +00:00
Moses Turner a9db1a6f6e d/ht_crtl_emu: Free driver 2022-03-08 13:52:23 -06:00
Jakob Bornecrantz 7b0cee5a85 u/trace_marker: Add new tracking category 2022-03-08 10:46:48 +00:00
Jakob Bornecrantz d06bb04357 u/trace_marker: Tidy 2022-03-08 10:46:47 +00:00
Jakob Bornecrantz 0ebb1c3be9 t/psmv: Make TrackerPSMV be standard layout 2022-03-07 16:48:28 +00:00
zhibinw 41db1e5e12 st/oxr: Increase active_wait_frames count after previous xrBeginFrame has been called 2022-03-07 16:35:58 +00:00
Christoph Haag 7c55c51408 st/gui: Add warning when v4l driver is disabled on linux
"Failed to open camera!" is a very uninformative error
2022-03-07 13:53:59 +00:00
Jakob Bornecrantz bf1edf96eb d/dai: Add OV7251 sensor info 2022-03-04 14:04:13 +00:00
Christoph Haag 61024ab9a1 st/oxr: Use correct timestamp for layer space transform 2022-03-03 23:34:31 +01:00
Christoph Haag 76c18bda47 st/oxr: Fix layer poses sent to the compositor 2022-03-03 17:03:36 +01:00
Christoph Haag b863aa2629 st/oxr: don't run the timestamp conversion in a loop 2022-03-03 01:42:35 +01:00
Christoph Haag 075fde3613 st/oxr: propagate a few more space handling return codes 2022-03-03 01:42:02 +01:00
Christoph Haag 58c9679087 st/oxr: remove another unused function 2022-03-03 01:41:25 +01:00
Christoph Haag ed0bd9c244 st/oxr: rework spaces 2022-03-02 17:40:00 +00:00
Christoph Haag f633680506 st/oxr: Fix local[e]_ref_space typo 2022-03-02 17:40:00 +00:00
Antonio Ospite 031a53d6fd c/render: assign comp_buffer.size when creating a buffer
The size field in comp_buffer was never assigned, and also never used as
all comp_buffer users rely on the allocation_size field.

Use the size field to store the size originally requested when creating
the buffer which could be different from the value returned in the
allocation_size field.

Having both sizes available allows a user to check if allocation_size is
in fact different from the requested size.
2022-03-02 16:41:00 +00:00
Jakob Bornecrantz eca2e2535f c/util: Return timeout on fence timeout 2022-03-02 11:01:07 +00:00
Jakob Bornecrantz 772b6256d6 c/multi: Handle fence timeouts 2022-03-02 11:01:07 +00:00
Jakob Bornecrantz 7e8f4f46c6 xrt: Add XRT_TIMEOUT to xrt_result_t 2022-03-01 20:59:35 +00:00
Jakob Bornecrantz e13cfd2fec c/shader: Fix color values in compute clear shader 2022-03-01 13:58:07 +00:00
Moses Turner ffee6c360b u/sink: Don't sleep when combining frames; we're not testing
Where's the dunce cap?
2022-03-01 01:14:57 -06:00
Jakob Bornecrantz 8229905233 c/client: Set default logging level for vk_bundle in vk compositor 2022-02-25 17:11:38 -06:00
Jakob Bornecrantz f6788f5548 c/client: Create and pass down sync_handles to native compositor 2022-02-25 17:11:38 -06:00
Jakob Bornecrantz ac752a651e c/client: Add tracing to Vulkan client compositor 2022-02-24 20:54:47 +00:00
Jakob Bornecrantz f5c77dfb32 aux/vk: Add vk_create_and_submit_fence_native 2022-02-24 20:54:47 +00:00
Jakob Bornecrantz 78f3340bf5 aux/vk: Check which fence types support import and export 2022-02-24 20:54:47 +00:00
Jakob Bornecrantz ebe895bdb8 aux/vk: Add vkGetPhysicalDeviceExternal[Buffer|Fence|Semaphore]PropertiesKHR (NFC) 2022-02-24 17:51:59 +00:00
Jakob Bornecrantz 543f28abf9 aux/vk: Add vkGetFenceWin32HandleKHR (NFC) 2022-02-24 17:51:59 +00:00
Jakob Bornecrantz 36025886ee aux/vk: Refactor our sync primitives (NFC) 2022-02-24 17:51:59 +00:00
Jakob Bornecrantz d6e0c45855 aux/vk: Order files in build scripts (NFC) 2022-02-24 17:51:59 +00:00
Connor Smith e1c180240e Create VkQueue with queueIndex from XrGraphicsBindingVulkanKHR.
Per XR_KHR_vulkan_enable: "the OpenXR runtime must interpret the image
as being owned by the VkQueue specified in XrGraphicsBindingVulkanKHR."
(https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XR_KHR_vulkan_enable)
2022-02-23 17:45:46 -05:00
Henry Che add7b5723f Update illixr_device.cpp: There is no function called get_view_pose in xrt_device.h. 2022-02-23 17:13:38 +00:00
Mateo de Mayo cee1571625 d/euroc: Fix euroc player skip functionality 2022-02-22 22:56:07 +00:00
Mateo de Mayo a0021dc7d0 t/euroc: Fix memory leak in euroc recorder
This was the reason the recorder was eating so much RAM.
SSD write speeds should be enough for common use cases to keep RAM stable.
2022-02-22 22:56:07 +00:00
Ryan Pavlik 7b3a2e7c1a a/math: C wrapper for the float low-pass filter too. 2022-02-22 16:44:44 -06:00
Ryan Pavlik cf07791e93 a/math: Add a C wrapper for the integer low-pass filter. 2022-02-22 16:42:53 -06:00
Ryan Pavlik a0e2df4cf0 tracking/math: Move the generic low pass filters to a/math 2022-02-22 16:42:53 -06:00
Jakob Bornecrantz dfb1b8d469 c/render: Do not assume nullDescriptor is available 2022-02-22 21:49:06 +00:00
Jakob Bornecrantz b1b6978069 c/main: Pass in correct pipeline stage to wait on 2022-02-22 21:49:06 +00:00
Ryan Pavlik 4156cabedf a/tracking: Add an integer version of the low-pass filter. 2022-02-22 09:58:19 -06:00
Ryan Pavlik 928254ffed a/math: Add a rational number struct template. 2022-02-22 09:58:19 -06:00
Mateo de Mayo 4b94d83c11 a/math: Fix one euro implementations not dividing by dt
The dy name was kept. It can now be thought of as "[d]erivative of [y]"
instead of the previous "change of y". Also, the beta parameters of the
one-euro users were adjusted by approximately multiplying them by 0.016
to compensate.
2022-02-22 13:34:45 +00:00
Mateo de Mayo 17dee2bb68 t/slam: Cache tracked pose timestamp
This is mainly to avoid problems with filters that calculate
their dt from previous calls. In particular the one euro filter fix
that gets implemented in the next commit would crash because of dt=0.
2022-02-22 13:34:45 +00:00
Mateo de Mayo b04c26e522 a/math: Expose quat_{exp, ln} and test them 2022-02-22 13:34:45 +00:00
nima01 be3546eb92 d/wmr: Reverb G1: Avoid camera buffer related hangs 2022-02-20 14:57:36 +00:00
Moses Turner 8972778e00 a/vk: Remove superfluous format assignment in the readback pool
This also caused a segfault when the readback pool filled up.
2022-02-20 00:51:26 -06:00
Jakob Bornecrantz 4ba68a7008 st/oxr: Remove direct access or mention of hmd distortion fov
The overrides didn't do anything unless Monado was compiled for
in-process, and even then the device might return a differnt fov.

The todo was for a driver and shouldn't be in the state tracker.
2022-02-19 13:45:26 +00:00
Jakob Bornecrantz ab5e863116 ipc: Do not copy fov in distortion information
No other distortion info is passed along
2022-02-19 13:22:25 +00:00
Christoph Haag 49b81e219f aux/util: Move fov from u_device_simple_info::views to top level 2022-02-19 13:04:32 +00:00
Christoph Haag 996a5d3e9a xrt: Move fov from xrt_view to xrt_hmd_parts::distortion 2022-02-19 13:04:32 +00:00
Christoph Haag 5e1805f04b build: Add sample driver to meson build 2022-02-19 13:04:32 +00:00
Moses Turner 86a1ba32e5 c/main: Add readback to gui_window_record 2022-02-18 20:26:27 -06:00
Moses Turner 2e8f572a4d aux/vk: Add util to read VkImages back to a pool of xrt_frames
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2022-02-18 20:26:27 -06:00
Moses Turner 43fb248271 c/main: Allow framebuffers to be transfer sources 2022-02-18 20:26:27 -06:00
Moses Turner 8f792c9165 u/sink: Add u_sink_create_to_r8g8b8_r8g8b8a8_r8g8b8x8_or_l8 2022-02-18 20:06:20 -06:00
Moses Turner 0dcc73d5cf st/gui: Support RGBA, unusual strides, and add higher bitrate option 2022-02-18 20:06:20 -06:00
Moses Turner 433ae0d9c6 aux/gst: Support RGBA and images with unusual row strides 2022-02-18 20:06:20 -06:00
Moses Turner 727c087366 aux/vk: Add helper for adding image memory barriers 2022-02-18 20:06:20 -06:00
Moses Turner 5a2088ee3e aux/vk: Add vkCmdBlitImage to vk_helpers 2022-02-18 20:06:20 -06:00
Moses Turner 3a7569a7b0 u/trace_marker: Add COMP_TRACE_IDENT 2022-02-18 20:06:20 -06:00
Moses Turner 00984aa021 aux/vk: Add advanced create image function 2022-02-18 20:06:20 -06:00
Moses Turner d8c33cd22d t/oxr: Come on, we can be more sparkly than that 2022-02-18 20:06:20 -06:00
Ryan Pavlik 4ecbcc2d27 d/wmr: Fix doxygen warning 2022-02-19 01:15:36 +00:00
Ryan Pavlik 80ab7243ca st/oxr: Additional doxygen fix 2022-02-19 01:15:35 +00:00
Ryan Pavlik de6e237a9f xrt: Additional doxygen fix. 2022-02-19 01:15:33 +00:00
Christoph Haag 5b1d15f143 d/survive: Change license to BSL, as originally intended 2022-02-19 00:55:54 +00:00
Christoph Haag b2e7fc0f11 d/survive: Add pragma once and c++ compatibility 2022-02-19 00:55:54 +00:00
Christoph Haag bab6858eb8 d/multi: Change license to BSL, as originally intended 2022-02-19 00:55:54 +00:00
Christoph Haag 43f0bb4343 xrt: Fix tracking override docs 2022-02-19 00:43:30 +00:00
Jakob Bornecrantz ba0f7cba8b aux/vk: More comments 2022-02-19 00:34:01 +00:00
Jakob Bornecrantz 5222dfd728 aux/vk: Refactor and document various compositor swapchain image flags
This also fixes two errors:
* VK_IMAGE_USAGE_SAMPLED_BIT was not always added to depth formats.
* VK_IMAGE_ASPECT_DEPTH_BIT and VK_IMAGE_ASPECT_STENCIL_BIT was added to image
  views for sampling, where the spec only allows one of them.
2022-02-18 21:32:05 +00:00
Jakob Bornecrantz 05771e7b9e aux/vk: Rename compositor swapchain image helper functions (NFC) 2022-02-18 21:32:05 +00:00
Jakob Bornecrantz ad5a057737 aux/vk: Refactor out swapchain functions to own file (NFC) 2022-02-18 21:32:05 +00:00
Jakob Bornecrantz 4539b74e56 aux/vk: Re-org one function (NFC) 2022-02-18 21:32:05 +00:00
Ryan Pavlik 9a440d9bce st/oxr: Fix doxygen warning 2022-02-18 21:22:32 +00:00
Ryan Pavlik 1eb6aecdc0 xrt: Improve docs and fix doxygen warnings 2022-02-18 21:22:32 +00:00
Ryan Pavlik 010599baa6 comp/main: Fix debug typo 2022-02-18 21:22:32 +00:00
Jakob Bornecrantz 20c7e30304 aux/vk: Remove unnecessary breaks 2022-02-18 18:29:28 +00:00
Jakob Bornecrantz 0126819f21 aux/vk: Use aspect mask that covers both depth and stencil for mixed formats 2022-02-18 18:29:28 +00:00
Christoph Haag c162ff655b st/oxr: add renderdoc API to xrBeginFrame/xrEndFrame
Usually renderdoc captures frames by hooking the present functions to
recognize when an application is finished rendering a frame.

OpenXR applications might not present to a window. Therefore use the
renderdoc API to capture application frames between xrBeginFrame and
and xrEndFrame.

This allows renderdoc to capture application frames without the need
to modify the application.
2022-02-18 13:44:15 +01:00
Christoph Haag 93bf83e8f6 xrt: Add clang format, disabling formatting in external 2022-02-18 13:44:15 +01:00
Jakob Bornecrantz 9a884931bb c/client: Use correct VkImageAspectFlags in barriers 2022-02-17 19:29:57 +00:00
Christoph Haag fc77db6eca comp/main: Fix debug print of available direct mode modes
fixes 3dfec5f1ab
2022-02-17 17:22:18 +01:00
Nova f2ec7a7dd5 d/survive: Add SURVIVE_DISABLE_HAND_EMULATION env variable 2022-02-17 13:20:59 +00:00
Jakob Bornecrantz 7f33a55c77 c/client: Wait on Vulkan clients to complete rendering 2022-02-17 00:39:53 +00:00
Christoph Haag 9cd3b47f94 st/oxr: Rework composition of head relation for xrLocateViews 2022-02-16 23:15:28 +00:00
Jakob Bornecrantz 9b656cde77 xrt: Remove xrt_device::get_view_pose
Co-authored-by: Christoph Haag <christoph.haag@collabora.com>
2022-02-16 23:15:24 +00:00
Christoph Haag b81ab3f09a st/steamvr_drv: Use xrt_device_get_view_poses 2022-02-16 23:15:21 +00:00
Jakob Bornecrantz 49f95164a7 st/oxr: Use xrt_device_get_view_poses
Co-authored-by: Christoph Haag <christoph.haag@collabora.com>
2022-02-16 23:15:16 +00:00
Jakob Bornecrantz 3eb921b899 c/main: Use xrt_device_get_view_poses 2022-02-16 23:15:14 +00:00
Jakob Bornecrantz 0511b319ba drivers: Implement xrt_device::get_view_poses
Co-authored-by: Christoph Haag <christoph.haag@collabora.com>
2022-02-16 23:15:08 +00:00
Jakob Bornecrantz 223aa515fd u/device: Add u_device_get_view_poses helper 2022-02-16 23:15:07 +00:00
Jakob Bornecrantz be4f4969c0 ipc: Add support for xrt_device::get_view_poses 2022-02-16 23:15:06 +00:00
Jakob Bornecrantz 780f1763e3 xrt: Add xrt_device::get_view_poses function 2022-02-16 23:15:02 +00:00
Jakob Bornecrantz b322ff689b d/wmr: Add trace markers to some common functions 2022-02-16 22:25:55 +00:00
Jakob Bornecrantz 4aa2ae985c d/wmr: Refactor hololens code a bit 2022-02-16 22:25:55 +00:00
Jakob Bornecrantz 8f5a7b88c7 d/wmr: Tidy todos 2022-02-16 22:25:55 +00:00
Jakob Bornecrantz 47ae7c19c3 u/trace_marker: Add driver category 2022-02-16 22:25:55 +00:00
Jakob Bornecrantz a998987efd c/main: Refactor fast path detection 2022-02-16 20:25:41 +00:00
Jakob Bornecrantz 91a2a5d29d c/client: Set correct optimal layout for client swapchains 2022-02-16 18:20:44 +00:00
Jakob Bornecrantz 7791a04069 d/rs: Add math include to fix build and org includes
Fixes build on Ubuntu 21.10
2022-02-14 14:34:06 +00:00
Mateo de Mayo 83fceec521 t/slam: Add filtering methods to the tracker
Adds three toggleable filters:
- Moving average
- Exponential smoothing
- One euro filter
2022-02-14 10:22:05 -03:00
Mateo de Mayo b90d60a9ce t/slam: Add prediction types that integrate gyro and accel samples 2022-02-14 10:22:05 -03:00
Mateo de Mayo 3cba6dc700 d/rs: Add exposure controls to the debug UI 2022-02-14 10:22:05 -03:00
Mateo de Mayo 4d491c8c8e misc: Fix bad matrix usage on calibration save and fields doc 2022-02-14 10:22:05 -03:00
Mateo de Mayo 8820a3e99c a/math: Add m_filter_euro_quat 2022-02-14 10:22:05 -03:00
Mateo de Mayo 06597a0655 a/math: Add math_quat_{len, unrotate} 2022-02-14 10:22:05 -03:00
Mateo de Mayo cf5574a4e9 m/space: Add m_space_relation_interpolate 2022-02-14 10:22:05 -03:00
Christoph Haag dd81085a04 ipc/server: print monado version in info log on startup 2022-02-14 00:26:09 +01:00
nima01 41edf12a0d d/wmr: Debug GUI support for enabling/disabling HMD screen and displaying IPD and proximity values 2022-02-12 03:45:16 +00:00
Moses Turner e553d1993b u/sink: refactor u_sink_combiner
So you can use the enforcing-genlock bit elsewhere
2022-02-10 10:55:06 -06:00
Moses Turner 7ee8a7dba0 d/dai: add stereo-RGB pipeline behind ifdef, waiting for Luxonis to upstream multicam support 2022-02-10 10:55:06 -06:00
Ryan Pavlik c30acbf9f8 d/ht: Forward declarations and IWYU 2022-02-08 17:27:42 -06:00
Ryan Pavlik 5b8c869b56 d/ht: Fix header and usages of helpers 2022-02-08 17:21:46 -06:00
Ryan Pavlik acc9683e0f a/util: Fix copy/move assign of history buf 2022-02-08 17:08:00 -06:00
Ryan Pavlik 8c7af28904 d/ht: Fix build issues against updated history structure. 2022-02-08 16:58:24 -06:00
Ryan Pavlik a904914e6e a/util: Wrap "just enough" of the ring buffer stuff for generic use from C. 2022-02-08 13:18:15 -06:00
Ryan Pavlik 3b0252bda8 a/util: Don't make the RingBufferHelper compile-depend on max size. 2022-02-08 13:18:05 -06:00
Ryan Pavlik c079eabfdf a/util: iterator cleanups to reduce diffs, using a self typedef. 2022-02-08 17:00:11 +00:00
Ryan Pavlik 6908486022 a/util: Add age clamping to history buffer. 2022-02-08 17:00:11 +00:00
Ryan Pavlik 603117a1d1 a/util: Split history buf file up, factor out more generic iterator base 2022-02-08 17:00:11 +00:00
Ryan Pavlik 65ef8d58f1 d/ht: Cleanup usage of history buffer.
May wish to reconsider whether all these usages are required: they appear to only use the back (latest) element.
2022-02-08 17:00:11 +00:00
Ryan Pavlik 94e053d0d4 a/math: More relation history cleanup 2022-02-08 17:00:11 +00:00
Ryan Pavlik 1c183a9eeb a/math: Simplify m_history_relation using standard algorithms 2022-02-08 17:00:11 +00:00
Moses Turner 614e0e58ae d/ht: use new HistoryBuf api 2022-02-08 17:00:11 +00:00
Ryan Pavlik 90c74578d1 a/util: Refactor HistoryBuffer to be more like a standard container. 2022-02-08 17:00:11 +00:00
Ryan Pavlik d05df584b2 d/ht: Some cleanups 2022-02-08 17:00:11 +00:00
Ryan Pavlik 8030468f95 os: Add a c++ wrapper for our mutex types 2022-02-08 17:00:11 +00:00
Ryan Pavlik 73220b268e comp/multi: Zero the predicted GPU time that we don't compute 2022-02-08 10:51:40 -06:00
Ryan Pavlik 9ad96455a1 xrt: Small doc/interface cleanups. 2022-02-08 10:51:40 -06:00
Ryan Pavlik 9b6d117970 a/util: Some reorg and renaming in upa to be closer to upc 2022-02-08 10:51:40 -06:00
Ryan Pavlik 78e9acc6c4 a/util: Remove unused member in upc 2022-02-08 10:51:39 -06:00
Ryan Pavlik 0f8565ec71 a/util: Some further internal renames for pacing 2022-02-08 10:51:39 -06:00
Ryan Pavlik 6345962d66 a/util: Rename app_time_* in u_pc to comp_time_* 2022-02-08 10:51:39 -06:00
Ryan Pavlik d176b18598 a/util: Allow upc present offset to be variable. 2022-02-08 10:51:39 -06:00
Ryan Pavlik 2238aff403 a/util: Catch frame_id mismatch in u_pacing_compositor 2022-02-08 10:51:39 -06:00
Ryan Pavlik a2e1eb7e75 a/util: Have all timestamps be injected into pacing.
No more calling os_monotonic_get_ns() inside the pacing helpers.
Much better testability.
2022-02-08 10:51:39 -06:00
Ryan Pavlik 40caa24d4b c/main: Rename to calc_frame_pacing 2022-02-07 13:11:00 -06:00
Ryan Pavlik d969bc334f a/util: More pacing documentation 2022-02-07 13:11:00 -06:00
nima01 45466e419b d/wmr: Reverb G1 proximity sensor support 2022-02-02 02:27:55 +01:00
Jakob Bornecrantz 309c45f4c4 aux/bindings: Tidy 2022-01-31 22:43:09 +00:00
Jakob Bornecrantz 037b161fb4 aux/binding: Rename function 2022-01-31 22:43:09 +00:00
Jakob Bornecrantz f0a5f1977c aux/bindings: Add OpenXR Identifier 2022-01-31 22:43:09 +00:00
Simon Zeni 003acb4d5f meson: configure systemd service files only if systemd is found 2022-01-31 16:35:06 +00:00
Christoph Haag c9b1fcf572 comp/main: Re add accidentally deleted WINDOW_XCB case
Fixes 856d2d39c8
2022-01-25 22:22:02 +01:00
Christoph Haag 0640728969 t/steamvr: Attempt to fix spurious CI failure
fix suggested by thaytan.
2022-01-25 19:24:49 +00:00
Ryan Pavlik 856d2d39c8 comp/main: Simplify use of u_string_list 2022-01-24 16:34:45 -06:00
Ryan Pavlik 9b9e23be62 a/util: Add a new constructor and a new method to u_string_list 2022-01-24 16:34:45 -06:00