Ryan Pavlik
290fafa4f7
a/util: Fix missing pragma once
2022-11-09 08:26:16 -05:00
Mateo de Mayo
9d6c29397f
misc: Fix multiple compile warnings in gcc and clang
2022-11-03 20:08:52 +00:00
Moses Turner
b8a586175d
a/util: Add header for box intersection over union
2022-11-03 16:46:33 +00:00
Jakob Bornecrantz
7b1c18255a
u/pacing: Work around issues with frame reuse
...
The code creates a frame with the timing information, and keeps track of the
times the applications does various things during the frame loop. Like
starting to render and finished rendering and so on. It keeps track of that
frame until it has determined that the application or the system compositor
will never do anything thing with that frame.
Now the allocation side of thing is very simple, just a long array of
FRAME_COUNT size that is reused with frame_id % FRAME_COUNT. So if the
application or the compositor keeps a frame along for too long it will try to
reuse that frame. The code has asserts to catch this. Making FRAME_COUNT makes
that re-use more unlikely.
2022-11-02 00:22:19 +00:00
Jakob Bornecrantz
d4a77da827
a/util: Add comments about DSOs
2022-10-27 17:19:57 +00:00
Jakob Bornecrantz
e629bbbe2b
a/util: Split out process functions into own library
2022-10-27 17:19:57 +00:00
Jakob Bornecrantz
8ca60f4304
a/util: Split out sink functions into own library
2022-10-27 17:19:57 +00:00
Jakob Bornecrantz
12bb18a34c
u/file: Fix define checks being erroneous
2022-10-12 13:05:39 +01:00
Jakob Bornecrantz
1cafa92c3b
u/pacing: Refactor out tracing writing to own function
2022-10-11 20:33:56 +01:00
Jakob Bornecrantz
5ed13c6cc2
u/pacing: Account for present slop in assert
2022-10-11 20:33:56 +01:00
Julian Petrov
2e4c857a5a
u/process: Make u_process work on non-linux systems
2022-10-09 15:21:37 +01:00
Julian Petrov
c7a5a0bc1b
u/file: Make more functions work on Windows
2022-10-09 15:21:37 +01:00
Jakob Bornecrantz
08f6440aa4
u/pacing: Trace GPU info
2022-09-28 21:46:56 +00:00
Jakob Bornecrantz
f63c786ac9
u/pacing: Add gpu_info to u_pacing_compositor
2022-09-28 21:46:56 +00:00
Jakob Bornecrantz
da542e3f5e
u/pacing: Introduce latched and retired calls on app pacer
2022-09-28 21:46:56 +00:00
Jakob Bornecrantz
7eacf6bd7a
u/pacing: Refactor out tracing writing to own function
2022-09-28 21:46:56 +00:00
Jakob Bornecrantz
4ec3512641
u/pacing: Track session_id on app pacer
2022-09-28 21:46:56 +00:00
Jakob Bornecrantz
b6b9004fb2
u/pacing: Tidy
2022-09-28 21:46:56 +00:00
Jakob Bornecrantz
d1d845e430
u/pacing: Make sure to set predicted_display_time_ns
2022-09-28 21:46:56 +00:00
Jakob Bornecrantz
b5b832f612
u/trace_marker: Silence deprecation from percetto defines
2022-09-22 22:00:32 +01:00
Moses Turner
d5dd9a264e
a/util: Remove C++ guards and pragma once from C source file
2022-09-22 01:11:33 -05:00
Moses Turner
833787c492
u/tracked: Add u_tracked_imu_3dof
2022-09-21 01:52:15 +01:00
Moses Turner
d48792d9a9
u/sink: Ensure that image frames have monotonic timestamps
2022-09-21 01:52:15 +01:00
Moses Turner
17e0c39df2
u/sink: Add u_imu_sink_force_monotonic and u_imu_sink_split
2022-09-21 01:52:15 +01:00
Moses Turner
48e8894b74
u/json: Add u_json_get_pose_permissive
...
To parse poses from non-Monado configs with non-standard member names.
2022-09-21 01:52:15 +01:00
Moses Turner
b31eb76718
u/json: Add u_json_get_pose
2022-09-21 01:52:15 +01:00
Moses Turner
d91975299d
u/config: Use cJSON_Delete instead of cJSON_Free for gui scene parsing
2022-09-21 01:52:15 +01:00
Mateo de Mayo
3d366b9243
gui: Fix layout file not being created for the first time on Windows
...
By ensuring imgui.ini exists.
Also enabled u_config_json_open_or_create_file for Windows as this OS has an
implementation of u_file_get_path_in_config_dir available now.
2022-09-19 17:19:12 +00:00
Moses Turner
bd265c611d
d/ns: update Moses's distortion method
2022-09-19 11:20:04 -05:00
Moses Turner
d04139bedd
u/file: Add u_file_read_content_from_path
...
Useful for Simula builder and North Star builder which both read straight from a path
2022-09-19 11:17:34 -05:00
Moses Turner
17acb376f9
xrt: Fix some typos that codespell caught
2022-09-11 23:32:28 -05:00
Jakob Bornecrantz
a0d63d2f9c
u/wait: Add wait helper
2022-09-07 15:06:57 +00:00
Mateo de Mayo
d47d0ce2d9
u/logging: Log to stderr in Windows
2022-09-02 22:43:24 +00:00
Moses Turner
4de631285b
u/hand: Fix finger ordering
2022-08-22 13:19:48 +01:00
Jakob Bornecrantz
7e24b1dfe7
u/hand: Move common init into init helper function
2022-08-14 16:16:27 +01:00
Jakob Bornecrantz
e6efcd7a02
u/hand: Take xrt_hand enum instead of bool
2022-08-14 16:16:27 +01:00
Jakob Bornecrantz
2b05bfc709
u/hand: Constify arguments
2022-08-14 16:16:27 +01:00
Jan Schmidt
f8a486884b
u/u_json: Implement u_json_get_int_array()
2022-08-10 18:30:08 +01:00
Christoph Haag
c24e482e5e
st/oxr: Make OpenXR timestamps relative to service startup
...
This solves a problem where OpenXR timestamps could become invalid
(negative) in certain circumstances:
The timestamps that the OpenXR state tracker returned were offset such
that they appeared to start at OpenXR application startup time.
However monado-service is a long running service using system timestamps.
Because of this, if monado-service started work using a system timestamp
acquired before an OpenXR application started, then this system timestamp
could not be converted into an OpenXR without becoming invalid.
With this change, the OpenXR timestamps for OpenXR applications are offset
such that they appear to start at monado-service startup time instead.
As a side effect, all OpenXR applications connected to the same
monado-service instance will receive timestamps from the same domain.
2022-08-08 15:52:18 +00:00
danwillm
c4a290aa97
xrt/util: Fix typo with number of joints per finger
2022-08-01 17:33:40 +00:00
danwillm
1dee288459
aux/util: Share joint width hand tracking function
2022-08-01 17:33:40 +00:00
danwillm
9e7f814328
aux/util: Remove old hand tracking code
2022-08-01 17:33:40 +00:00
danwillm
9dc8632b0f
aux/util: Add u_hand_simulation
...
Co-authored-by: Moses Turner <moses@collabora.com>
2022-08-01 17:33:40 +00:00
Moses Turner
0c4b45c6c2
a/util: Add DEBUG_GET_ONCE_TRISTATE_OPTION
2022-07-27 10:49:29 +00:00
Ryan Pavlik
5c24b8e637
xrt: Define D3D12 interface
2022-07-26 14:45:29 +00:00
Ryan Pavlik
842c160c49
a/util: Guard against bad defs of "max"
2022-07-26 14:45:29 +00:00
danwillm
0943ce10be
a/util, xrt: u_hand_tracking interface change
2022-07-25 23:57:45 +01:00
Mateo de Mayo
ae8305f324
u/deque: Add generic wrapper for std::deque
2022-07-25 19:08:46 +00:00
Ryan Pavlik
107f56b6d9
a/util: Resolve warnings
2022-07-14 14:17:35 +00:00
Mateo de Mayo
789111daf8
u/var: Add u_var_curves
2022-07-12 12:47:05 +00:00