Commit graph

434 commits

Author SHA1 Message Date
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 07fe47d053 xrt: Add xrt_swapchain_create_properties and related function 2022-05-04 15:48: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 91facd10f1 xrt: Add xrt_uuid_t 2022-05-02 17:16:04 +01: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 175ff58f10 build: Remove meson files 2022-04-28 21:36:25 +00:00
nima01 232b3bade5 aux/math: More double-precision matrix and vector support 2022-04-25 19:14:46 +00:00
Ryan Pavlik 2d916c11c5 xrt: Fix OpenXR platform include on Windows 2022-04-18 12:12:43 -05:00
Ryan Pavlik 02435cc033 xrt: clarify comment 2022-04-18 10:54:22 -05:00
Ryan Pavlik 3631289e4f xrt: Rename interface: reserved word in msvc. 2022-04-18 10:52:57 -05:00
Ryan Pavlik 1331e93bdc xrt: Fix typo 2022-04-18 10:52:42 -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
Ryan Pavlik 55364cde35 xrt: Manual fixes to clang-tidy issues. 2022-04-13 01:10:14 +01:00
Jakob Bornecrantz cbeebe6ca4 xrt: Add XRT_GET_INPUT_ID 2022-04-09 22:07: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
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
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
Jakob Bornecrantz 71d9887b5b xrt: Tidy xrt_instance.h (NFC) 2022-03-16 15:46:14 +00:00
Jakob Bornecrantz 57d1394941 xrt: Add XRT_CHECK_RESULT define 2022-03-15 00:16:17 +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 851224123e xrt: Add compositor semaphore interface 2022-03-14 19:52:48 +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 8bda87c855 xrt: Correct xrt_compositor_fence::wait docu 2022-03-08 21:04:56 +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
Jakob Bornecrantz 7e8f4f46c6 xrt: Add XRT_TIMEOUT to xrt_result_t 2022-03-01 20:59:35 +00:00
Christoph Haag 996a5d3e9a xrt: Move fov from xrt_view to xrt_hmd_parts::distortion 2022-02-19 13:04:32 +00:00
Ryan Pavlik de6e237a9f xrt: Additional doxygen fix. 2022-02-19 01:15:33 +00:00
Christoph Haag 43f0bb4343 xrt: Fix tracking override docs 2022-02-19 00:43:30 +00:00
Ryan Pavlik 1eb6aecdc0 xrt: Improve docs and fix doxygen warnings 2022-02-18 21:22:32 +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
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
Jakob Bornecrantz 780f1763e3 xrt: Add xrt_device::get_view_poses function 2022-02-16 23:15:02 +00:00
Ryan Pavlik 9ad96455a1 xrt: Small doc/interface cleanups. 2022-02-08 10:51:40 -06:00
Ryan Pavlik c9889f776f xrt: Rename xrt_space_graph to xrt_relation_chain.
Rename all functions and instances accordingly as well,
and add documentation for all methods.
2022-01-21 19:54:30 +00:00
Colin Kinloch 0a783ca208 systemd: Use pkgconfig variable systemduserunitdir as unit install directory 2022-01-18 21:11:44 +00:00
Jakob Bornecrantz f0e27a88a3 xrt: Clarify call order on some compositor functions 2022-01-15 00:27:00 +00:00
Jakob Bornecrantz c272549802 xrt: Correctly tag out arguments 2022-01-15 00:05:38 +00:00
Moses Turner 683dc4ea56 gui: add SLAM Stereo option to calibrate gui 2022-01-04 18:19:17 +00:00
Moses Turner 749723f0ba xrt: Remove xrt_view::display::{w|h}_meters
It is not used anywhere.
2021-12-10 21:27:15 -06:00
Ryan Pavlik 5b1c60eeb0 xrt: Add unique_ptr typedef for xrt_device 2021-12-10 21:24:02 +00:00
Jakob Bornecrantz 986cde6750 cmake: Build the IPC irrespectively of the service or not 2021-11-24 21:30:01 +00:00
Christoph Haag a1c00e14fd st/oxr: Implement a basic version of XR_FB_display_refresh_rate 2021-11-22 20:44:18 +00:00
Jan Schmidt 760e8dd3ad meson: Add GStreamer recording support 2021-11-19 04:05:40 +11:00
Ryan Pavlik 3a22c74aa6 xrt: Update some xrt_device docs 2021-11-13 12:29:58 +00:00
Ryan Pavlik b5bcea758d xrt: Rename a prober-related define that wasn't namespaced. 2021-11-13 12:29:58 +00:00
Ryan Pavlik 46fdb32991 xrt: Factor out a function pointer type for the prober "found" functions. 2021-11-13 12:24:15 +00:00
Ryan Pavlik 33c0287f8b xrt: Rename all "num" parameters and fields to "count" (or "capacity" as appropriate)
This matches the OpenXR usage: the array is the plural of the element type,
and the count is the singular element type plus "count" (usually CountOutput
because of the two-call idiom)

Includes fixes to other code to match API changes.
2021-11-13 12:04:38 +00:00
Ryan Pavlik 5e55b9d992 xrt: Prober docs. 2021-11-13 12:04:38 +00:00
Ryan Pavlik cc4007a69e cmake: Substantial cleanups and simplifications
We now have a cmake-format config file.
We no longer use list variables for sources, instead using
target_sources when we need to add, in accordance with current
best practice. (This makes it a lot easier to edit too.) There's no more
include_directories(), add_definitions(), or other gently-deprecated
directory-scoped commands, nor any CMake scripts that include
a parent directory reference (named targets instead)
2021-11-12 09:48:37 -06:00
Ryan Pavlik cd5ac5f1c9 xrt: Support multiple blend modes in system compositor info 2021-11-12 03:05:10 +00:00
Nima01 2a1e6debfb st/prober: Support for querying of 'Product name' from Bluetooth devices. 2021-11-09 01:10:20 +00:00
Ryan Pavlik afc2af549f xrt: Improve docs for ref-counting functions. 2021-11-03 17:27:56 -05:00
Ryan Pavlik 9688cd37dd xrt: Improve doc comments in compositor header 2021-10-27 17:05:55 -05:00
Mateo de Mayo ab2da01631 build: Add Basalt as an external SLAM system 2021-10-16 17:02:27 -03:00
Mateo de Mayo 7f247604e3 build: Use pkg-config for finding SLAM systems in CMake and other minor improvements 2021-10-07 14:33:10 -03:00
Mateo de Mayo 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 ca007be4d5 xrt: Switch to new get_hand_tracking signature 2021-10-02 23:05:46 +01: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
Jakob Bornecrantz f1f4dd7c8a xrt: Expose XRT_HAVE_WAYLAND and XRT_HAVE_WAYLAND_DIRECT 2021-09-17 11:54:57 +00:00
Christoph Haag dc15dbf75d build/meson: Don't build slam if tracking is disabled
Fixes build with -Dtracking=disabled
2021-09-16 23:33:05 +02:00
Mateo de Mayo 8e8a9c14a9 external: Add slam_tracker.hpp and SLAM build flow 2021-09-15 19:03:55 +00:00
Mateo de Mayo caa9192a26 xrt: Add xrt_tracked_slam interface 2021-09-15 19:03:55 +00:00
Mateo de Mayo cbc74bc9c1 xrt: Add stream_start alternative to xrt_fs for SLAM streaming 2021-09-15 19:03:55 +00:00
Mateo de Mayo 552c03bb2b xrt: Add SLAM sinks 2021-09-15 19:03:55 +00:00
Simon Zeni 47be806428 c/main: Implement WINDOW_DIRECT_WAYLAND 2021-09-15 18:44:18 +00:00
Mateo de Mayo 00a2f891a2 xrt: Add xrt_imu_sink interface 2021-08-27 13:02:18 +00:00
Mateo de Mayo 92fc2784e1 xrt: Add xrt_imu_sample 2021-08-27 13:02:18 +00:00
Christoph Haag cc4e46b3ec xrt: typedef EGLenm too for GLES
Used in XrSwapchainStateSamplerOpenGLESFB added in OpenXR SDK 1.0.16
2021-08-27 02:21:58 +02:00
Jakob Bornecrantz 521f066e72 xrt: Add a Matrix4x4 with f64 2021-08-17 12:04:49 +01:00
Moses Turner cda56ddfbd xrt: Add xrt_vec3_f64 struct 2021-08-16 21:02:27 +01:00
Jakob Bornecrantz 7d8b83aba5 xrt: Add docu 2021-08-11 18:28:27 +01: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
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
Jakob Bornecrantz 7bd1dba1d8 xrt: Add normalized sub-image offset and size in layer data
This makes the compositor not have to care about texture size.
2021-07-10 17:58:54 +01:00
Jakob Bornecrantz 4b9b1f991c xrt: Add xrt_device_compute_distortion helper 2021-06-15 19:45:14 +00:00
Moses Turner 01283257b2 xrt: clarify camera type (NFC) 2021-06-10 19:25:14 +01:00
Moses Turner 886a87e5ef meson: add option for tracing 2021-05-10 10:10:07 -05:00
Jakob Bornecrantz b3455555c2 u/trace_marker: Use Percetto/Perfetto for tracing 2021-05-05 17:00:35 +01:00
Jakob Bornecrantz 8a715ec41c xrt: Add new error return for IPC 2021-04-27 22:47:11 +00:00
Ryan Pavlik 7d1c8480b3 xrt: Fix an incomplete compositor method doc. 2021-04-27 22:05:00 +00:00
Jakob Bornecrantz 8277df418d xrt: Make eye_relation argument to xrt_device_get_view_pose const (NFC) 2021-04-27 01:44:13 +01:00
Ryan Pavlik 19a1228bd2 xrt: Add unit vector defines for xrt_vec3 2021-04-26 22:38:42 +00:00
Ryan Pavlik 8c0aabfc0d xrt: Add definitions for zero/identity initializers for pose-related structs. 2021-04-26 22:38:42 +00:00
Jakob Bornecrantz 576ff7d252 xrt: Add new IPC session not created error 2021-04-21 18:03:10 +00:00
Jakob Bornecrantz 5105148c45 xrt: Correct error number 2021-04-21 18:03:10 +00:00
Christoph Haag 4ea68b89a4 xrt: Add u_process, backed by libbsd's pidfile
Delete stale ipc files in ipc server when not already running.

If built without libbsd, fall back to previous behavior of complaining about existing ipc files and exit.
2021-04-15 21:42:06 +00:00
Moses Turner 6f93b4c718 inc/xrt: switch blend mode to array
In order of how preferred they are.
2021-04-11 04:08:49 -05:00
Ryan Pavlik d6d933f20d xrt: Fix doxygen warnings. 2021-04-09 18:16:54 -05:00
Jakob Bornecrantz efdba1602f xrt: Pass along display_time_ns to layer begin 2021-04-07 00:50:10 +01:00
Jakob Bornecrantz f3abddf224 xrt: Add multi session managment interface 2021-04-07 00:50:10 +01:00
Jakob Bornecrantz 353c7735bf xrt: Add alternative functions to wait_frame 2021-04-07 00:50:10 +01:00
Jakob Bornecrantz 1f3896d729 xrt: Add new error code 2021-04-07 00:50:10 +01:00
Jakob Bornecrantz 2ab99b821b xrt: Add compositor fence interface 2021-04-07 00:50:10 +01:00
Jakob Bornecrantz 2b63fd8078 xrt: Add helper push frame function 2021-04-03 03:07:21 +01:00