Jakob Bornecrantz
|
9c44bc98fa
|
c/multi: Document why unsetting waiting so late
|
2022-05-26 14:06:18 +00:00 |
|
Jakob Bornecrantz
|
1b7631bd54
|
c/multi: Also check if a semaphore or fence has been pushed in layer_begin
Closes #171
|
2022-05-26 14:06:18 +00:00 |
|
Jakob Bornecrantz
|
f404cc4c50
|
c/multi: Document flattened out producer/consumer construct
|
2022-05-25 21:42:58 +01:00 |
|
Jakob Bornecrantz
|
2afdb79895
|
c/multi: Document spurious wakeups
|
2022-05-25 21:42:58 +01:00 |
|
Jakob Bornecrantz
|
72dbed3ab5
|
c/multi: Make sure that wait thread has started in creation
Co-authored-by: Ryan Pavlik <ryan.pavlik@collabora.com>
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
|
2022-05-25 21:42:58 +01:00 |
|
Jakob Bornecrantz
|
3e9a5da3c6
|
c/multi: Ensure that only one thread waits for wait thread
|
2022-05-25 21:42:58 +01:00 |
|
Ryan Pavlik
|
fd3a0a1435
|
c/multi: Fix condition var waiting for wait thread.
Spurious wakeups happen, have to actually have a condition
to check in a loop with the cond var wait.
|
2022-05-25 20:41:10 +00:00 |
|
Ryan Pavlik
|
4d9c3650cc
|
c/multi: Unlock when multi system loop exits
|
2022-05-20 18:40:14 +01:00 |
|
Jakob Bornecrantz
|
fee6809bc2
|
c/multi: Destroy threads instead of only stopping them
|
2022-05-20 18:40:11 +01:00 |
|
Ryan Pavlik
|
8cb26df99d
|
c/multi: Name some threads
|
2022-05-17 12:39:44 -05:00 |
|
Ryan Pavlik
|
e123a50438
|
comp/multi: Name the multi-system-compositor thread.
|
2022-05-17 12:39:44 -05:00 |
|
Jakob Bornecrantz
|
f78f334473
|
c/multi: Add support for xrt_swapchain_create_properties
|
2022-05-04 15:50:20 +01:00 |
|
Jakob Bornecrantz
|
e39648bab1
|
c/multi: Fix conversion warnings
|
2022-05-02 17:16:04 +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
|
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
|
ca7526a3e2
|
c/multi: Impelement xrt_compositor_semaphore interfaces
|
2022-03-14 19:53:05 +00:00 |
|
Jakob Bornecrantz
|
772b6256d6
|
c/multi: Handle fence timeouts
|
2022-03-02 11:01:07 +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
|
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
|
a7c22fd185
|
a/util: Rename u_render_timing to u_pacing_app and u_frame_timing to u_pacing_compositor.
They both control pacing, but for different uses. Neither actually performs any timing.
|
2022-01-15 01:06:48 +00:00 |
|
Jakob Bornecrantz
|
a56ea7cad6
|
c/multi: Fix copy-pasto
|
2021-11-18 20:14:05 +00:00 |
|
Ryan Pavlik
|
185bf61dd8
|
comp: Migrate num_ to _count
|
2021-11-13 12:04:38 +00:00 |
|
korejan
|
42af354f65
|
c/multi: Fixes some uninitialized mutexes.
Fixes some uninitialized/null mutexes that causes crash bug during the creation of the multi compositors (seen on Windows).
|
2021-08-21 11:34:33 +01:00 |
|
Jakob Bornecrantz
|
9d9879ca3e
|
c/multi: Make sure there are at least some predicted data
To avoid asserts in non-service mode.
|
2021-07-22 17:19:45 +01:00 |
|
Jakob Bornecrantz
|
4507804819
|
c/multi: Implement xrt_compositor::wait_frame
|
2021-04-13 16:56:17 +00:00 |
|
Jakob Bornecrantz
|
c9c362e16a
|
c/multi: Overwrite stale scheduled frames
|
2021-04-12 22:16:31 +00:00 |
|
Jakob Bornecrantz
|
b0c9f2a1d9
|
c/multi: Break potential long running tasks into functions for better trace_marker logging
|
2021-04-12 22:16:31 +00:00 |
|
Jakob Bornecrantz
|
aca09bdebf
|
c/multi: Do not display frames before they are to be displayed
This follows the OpenXR spec that says that a frame might not be
displayed before XrFrameEndInfo::displayTime value.
|
2021-04-07 15:41:47 +01:00 |
|
Jakob Bornecrantz
|
8215af5e5c
|
u/rt: Refactor render timing
|
2021-04-07 01:04:20 +01:00 |
|
Jakob Bornecrantz
|
5dbcca65c5
|
u/tr: Refactor rendering timing code
|
2021-04-07 00:50:10 +01:00 |
|
Jakob Bornecrantz
|
086bef8545
|
c/multi: Add new multi-client helper
|
2021-04-07 00:50:10 +01:00 |
|