Jakob Bornecrantz
d48de0d832
u/worker: Use U_TRACE_SET_THREAD_NAME
2022-11-20 13:52:38 +00:00
Jakob Bornecrantz
8b0e7675e4
u/sink: Use U_TRACE_SET_THREAD_NAME
2022-11-20 13:52:38 +00:00
Jakob Bornecrantz
b49dc593b8
u/pacing: Use U_TRACE_PERFETTO define
2022-11-20 13:52:37 +00:00
Jakob Bornecrantz
469a79493c
u/trace_marker: Add U_TRACE_SET_THREAD_NAME
2022-11-20 11:24:27 +00:00
Jakob Bornecrantz
d1e116cb58
u/trace_marker: Check for both tracing and percetto
2022-11-20 00:31:24 +00:00
Jakob Bornecrantz
f4a5e599ef
u/trace_marker: Add convenience U_TRACE_PERCETTO define
2022-11-20 00:31:24 +00:00
Jakob Bornecrantz
648f91d35c
u/trace_marker: Refactor define names and split idents from func
2022-11-19 17:38:48 +00:00
Jakob Bornecrantz
4ee8aa4054
u/trace_marker: Reorg file (NFC)
2022-11-19 17:38:48 +00:00
Jakob Bornecrantz
7d2bd5b3e0
u/trace_marker: Fix copy paste error (NFC)
...
Define was unused till now.
2022-11-19 17:38:48 +00:00
Ryan Pavlik
2eb259f26a
aux: can not -> cannot
2022-11-09 14:48:38 -06:00
Ryan Pavlik
1fb6270194
a/util: Resolve a bothersome clang-tidy complaint in iterators.
2022-11-09 08:26:16 -05:00
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
Mateo de Mayo
0324fbae6c
u/var: Add u_var_curve
...
Let's you draw any arbitrary curve from a getter function.
2022-07-12 12:47:05 +00:00
Mateo de Mayo
bf9e6fa370
u/var: Add u_var_ro_ftext
2022-07-12 12:47:05 +00:00
Mateo de Mayo
afa7f7ade9
u/vector: Add generic wrapper for std::vector
2022-07-07 15:35:04 +00:00
Jakob Bornecrantz
2cbad30823
u/pacing: Introduce a app pacing factory
2022-06-27 19:09:46 +01:00
Jakob Bornecrantz
6e2644dea7
u/pacing: Tidy comments
2022-06-27 19:09:46 +01:00
Moses Turner
a67d2fc28b
a/util: Add u_system_devices_get_ht_device
2022-06-24 01:54:45 +01:00
Moses Turner
9651f66c4c
a/util: Add clear() method to HistoryBuffer
2022-06-18 21:56:03 +01:00
Julian Petrov
1debb2e015
u/time: Implement QPC related functions
2022-06-09 14:48:27 -04:00
Mateo de Mayo
7d80729358
u/pp: Add array and array2d f64 pretty printers
2022-05-26 18:35:39 +00:00
Jakob Bornecrantz
433915b0bf
u/pp: Add math object printers
2022-05-26 14:10:06 +01:00
Moses Turner
5652ddd718
a/util: Fix function signature for u_builder_find_prober_device
...
Was this ever working?
2022-05-25 20:53:46 +00:00
Ryan Pavlik
2da547ce66
a/util: Update pretty printing of results
2022-05-25 18:12:22 +00:00
Jakob Bornecrantz
a4983fa5b1
auxiliary: Break apart CMakeLists.txt file
2022-05-23 09:12:54 -05:00
Jakob Bornecrantz
b64660d458
a/util: Include u_time.h in hand tracking helper
2022-05-23 09:12:54 -05:00
Moses Turner
9386e56c3d
a/util: Paranoia for u_frame_times_widget
2022-05-23 13:19:58 +00:00
Ryan Pavlik
588b4831a2
a/util: Improve docs structure
2022-05-20 15:48:19 -05:00
Jakob Bornecrantz
6de4e4afaa
u/worker: Init mutex and cond var
2022-05-19 23:13:48 +01:00
Mateo de Mayo
3e6fd9ba73
u/aeg: Fix clang warnings
2022-05-19 18:21:36 -03:00
Mateo de Mayo
85bdbc1817
u/aeg: Implement state machine to correct overshooting and avoid oscillations
2022-05-19 14:03:17 +00:00
Mateo de Mayo
bf311f3c2e
u/aeg: Add log functions
2022-05-19 14:03:17 +00:00
Mateo de Mayo
63b477d250
a/math: Add MIN, MAX and CLAMP macros
2022-05-19 14:03:17 +00:00
Mateo de Mayo
77139b02a1
u/aeg: Add utility for automatic exposure and gain computation
2022-05-19 14:03:17 +00:00
Mateo de Mayo
7ea7cce930
u/var: Add u_var_histogram_f32
2022-05-19 14:03:17 +00:00
Mateo de Mayo
7d266c76b5
u/var: Add u_var_draggable_u16
2022-05-19 14:03:17 +00:00
Ryan Pavlik
6e78ec1127
a/util: Improve word choice/clarity
2022-05-17 17:39:52 -05:00
Ryan Pavlik
9edc6dd0bf
a/util: Doc improvements
2022-05-17 14:42:02 -05:00
Jakob Bornecrantz
61323c32d2
xrt: Use error messages in various instance and prober functions
2022-05-17 20:10:40 +01:00
Jakob Bornecrantz
58438db241
xrt: Add some error messages
2022-05-17 20:10:40 +01:00
Jakob Bornecrantz
cf9c5b9dc7
u/var: Put in a namespace and add some documentation
2022-05-17 20:09:19 +01:00
Jakob Bornecrantz
9285bee210
u/system_helpers: Use new xrt_prober_create_system function
2022-05-17 11:20:40 +01:00
Jakob Bornecrantz
f91db16dac
u/builders: Add xrt_builder_helpers
2022-05-17 11:20:40 +01:00
Ryan Pavlik
213f4b6003
a/util: Add a COM guard object.
...
Need COM initialized to do some things (like d3d11) on Windows,
don't know if the app already initialized it, don't have a big preference
for "how" we initialize it.
2022-05-16 11:00:27 -05:00
Jakob Bornecrantz
f4ab51f78b
u/pp: Add xrt_result_t printing
2022-05-15 15:02:08 +01:00
Jakob Bornecrantz
535cb839fa
u/pp: Add stack only sink for printing messages
2022-05-15 14:54:00 +01:00
Moses Turner
bcfd50c839
u/sink: Make sure gen-locked frames have the same timestamp
2022-05-13 14:18:02 +01:00
Jakob Bornecrantz
faca646193
u/logging: Change suffix to _func_t
2022-05-12 11:59:12 +00:00
Jakob Bornecrantz
ceed09d9b5
u/prober: Add helper file for prober functions
2022-05-12 11:59:12 +00:00
Jakob Bornecrantz
1a358d3a92
u/sink: Remove unused downstream2
2022-05-12 12:53:14 +01:00
Jakob Bornecrantz
fc093e2c7b
u/sink: Assert on downstream being null
2022-05-12 12:53:12 +01:00