Jakob Bornecrantz
4da87635d1
st/oxr: Tidy xrLocateViews function
2021-04-27 01:44:16 +01:00
Jakob Bornecrantz
cabaece344
st/oxr: Print value on bad layer type
2021-04-15 21:27:13 +00:00
Jakob Bornecrantz
7c77625da9
st/oxr: Set visibility and z_order if multi compositor controls are available
2021-04-13 16:56:17 +00:00
Moses Turner
1062ef35fc
st/oxr: switch blend mode to array
2021-04-11 04:08:49 -05:00
Christoph Haag
e7f82c297a
st/oxr: Fix running when only one hand suports hand tracking
2021-04-08 20:32:55 +02:00
Jakob Bornecrantz
efdba1602f
xrt: Pass along display_time_ns to layer begin
2021-04-07 00:50:10 +01:00
Moses Turner
6a833b1131
st/oxr+xrt: add is_active to struct xrt_hand_joint_set to give drivers an easy way to deactivate hands
2021-04-01 02:02:26 +02:00
Jakob Bornecrantz
2849c7c5ae
st/oxr: Quirk UnrealEngine
2021-02-16 17:55:23 +00:00
Jakob Bornecrantz
3e028a7952
st/oxr: Correctly validate quats to be within 1% of unit length
2021-01-21 00:33:32 +00:00
Christoph Haag
1b597bdd65
st/oxr: Rename sub_path variables to subaction_path
...
Subaction paths are the /user/X/Y part of the full path describing the input source/device.
"Subaction paths are a mechanism that enables applications to use the same action name and handle on multiple devices. Applications can query action state using subaction paths that differentiate data coming from each device."
Subpaths, are the input or output specific part of the full path, e.g.
"Each input source path must match the following pattern: …/input/<identifier>[_<location>][/<component>]"
2021-01-20 18:23:09 +01:00
Jakob Bornecrantz
afea93f297
xrt: Remove prepare function from xrt_compositor
2021-01-20 15:04:09 +00:00
Jakob Bornecrantz
2b8c835b68
xrt: Introduce xrt_system_compositor
2021-01-20 15:04:09 +00:00
Jakob Bornecrantz
b48036a3ff
st/oxr: Tidy code and clang-format
2021-01-19 18:15:02 +00:00
Jakob Bornecrantz
2b996f30c4
xrt: Reflow after column change
2021-01-15 13:50:32 +00:00
Jakob Bornecrantz
271e2b0275
st/oxr: Remove dynamic prediction code
2021-01-11 23:50:01 +00:00
Christoph Haag
e2c1bc1d16
xrt: Rename hand_origin to hand_pose
...
hand_origin is confusing because it implies it is the origin of the coordinate system the hand is in.
It actually is the hand pose in the "global" coordinate system.
2021-01-06 13:29:36 +00:00
Jakob Bornecrantz
1302b07d68
xrt: Add sync_handle argument to layer_commit
2020-12-28 15:22:06 +00:00
Lubosz Sarnecki
521daac012
st/oxr: Port to u_logging.
...
Remove foo print.
Use correct ENV variable XRT_COMPOSITOR_LOG for Vulkan log.
2020-12-28 13:04:11 +00:00
Lubosz Sarnecki
dc45a201db
c+ipc+st: Complete equirect1 boilerplate.
2020-12-14 18:59:28 +00:00
Lubosz Sarnecki
c8bdfae83e
src: Consistently append 1 to equirect1 code.
...
Rename XRT_FEATURE_OPENXR_LAYER_EQUIRECT_LEGACY to XRT_FEATURE_OPENXR_LAYER_EQUIRECT1.
Use correct define in verify_equirect1_layer function.
Rename equirect to equirect1.
meson: enable equirect1 by default.
2020-12-14 18:59:28 +00:00
Lubosz Sarnecki
f334b8b6c7
src: Consistently append 2 to equirect2 code.
...
Rename XRT_FEATURE_OPENXR_LAYER_EQUIRECT to XRT_FEATURE_OPENXR_LAYER_EQUIRECT2.
Rename equirect to equirect2.
Rename shader files.
2020-12-14 18:59:28 +00:00
Christoph Haag
f7a8e8810b
xrt: Split hand tracking input name into left/right
...
oxr_hand_tracker now stores which xdev and input name it tracks.
2020-12-07 11:43:51 +00:00
Christoph Haag
f6839ee4bf
st/oxr: Add view space case to hand tracking data
2020-11-23 20:42:54 +00:00
Christoph Haag
006971ae7a
u/hand_tracking: Calculate joint velocities
...
And return them in the state tracker
2020-11-23 20:42:54 +00:00
Christoph Haag
f5ef3985ba
xrt: Add support for locating hand joints in action spaces
2020-11-23 20:42:54 +00:00
Christoph Haag
5478bad3d0
st/oxr: Add OXR_FRAME_TIMING_SPEW var to print basic frame timing information
2020-11-06 00:51:24 +01:00
Christoph Haag
2e2a62ce1a
st/oxr: submit layers with os monotonic timestamp, not XrTime
...
The compositor does not know about XrTime, only os monotonic timestamps.
2020-11-05 23:11:03 +00:00
Christoph Haag
d0b126c1ee
oxr: Add one missing mutex to active_wait_frames
2020-11-04 13:33:27 +00:00
Christoph Haag
7eaa7abb89
oxr: Implement additional xrWaitFrame/xrBeginFrame call order checks
...
Relevant CTS tests: https://github.com/KhronosGroup/OpenXR-CTS/pull/7
2020-11-04 00:37:21 +01:00
Christoph Haag
965fa60bff
xrt: Move synchronized state test into oxr session
...
The compositor now moves immediately to visible/focused when polling.
The state tracker will generate relevant openxr state changes once the session is synchronized.
Properly working alternative to e03ee48dce
(reverted in e7643de8db
)
2020-11-04 00:37:10 +01:00
Jakob Bornecrantz
e7643de8db
c/main: Revert "Transition to visible/focused after xrEndFrame, not xrWaitFrame"
...
This reverts commit e03ee48dce
.
2020-11-03 21:04:05 +00:00
Christoph Haag
e03ee48dce
comp: Transition to visible/focused after xrEndFrame, not xrWaitFrame
...
The application synchronizes its frame loop by "by calling xrWaitFrame,
xrBeginFrame and xrEndFrame in a loop."
Applications can discard frames by not calling xrEndFrame. If initial
frames are discarded, we should not consider the frame loop synchronized.
Previously a sequence like
xrBeginFrame, xrWaitFrame, xrBeginFrame, xrWaitFrame, xrPollEvent, xrBeginFrame
failed because xrPollEvent the compositor emitted transitions to visible
and focused but they were not emitted in the state tracker, because the
oxr session had not internally tranisitioned to the synchronized state.
2020-10-31 20:14:49 +01:00
Lubosz Sarnecki
1227c77556
st/oxr: Add equirect2 verify and submit functions.
2020-10-26 01:34:10 +00:00
Jakob Bornecrantz
fd5cfbe9a7
st/oxr: Fix state changes errors
2020-10-20 19:28:57 +01:00
Christoph Haag
256e2c68d8
xrt: Implement & hook up hand joint tracking infrastructure
...
Include <inttypes.h> to satisfy older compilers
2020-10-12 22:13:47 +02:00
Jakob Bornecrantz
02b33c668b
st/oxr: Destroy client compositor when session is destroyed
...
Fixes #99
2020-10-04 13:04:57 +01:00
Christoph Haag
f41edee4b4
st/oxr: Use space graph resolve result relation flags instead of pure pose relation
2020-09-11 18:52:01 +02:00
Christoph Haag
19acc7be25
st/oxr: Pass actual ViewStateFlags to application with xrLocateViews
...
These flags are originally set by the driver, then processed by the space graph resolver.
2020-09-11 18:52:01 +02:00
Christoph Haag
2b90b4ea89
st/oxr: Destroy compositor on instance destroy
...
Fixes direct mode on subsequent instance creation in the same process
when no session was created.
2020-09-11 18:52:01 +02:00
Christoph Haag
844daee844
st/oxr: Check xrLocateViews quaternion only if orientation valid
2020-09-11 18:52:01 +02:00
Jakob Bornecrantz
d60cce8977
st/oxr: Use new xrt_space_graph
2020-09-07 23:33:28 +01:00
Ryan Pavlik
ff603d3acd
st/oxr: Add layer type conditionals around depth-image manipulation
2020-08-26 12:28:43 -05:00
Jakob Bornecrantz
bf9f0e6e39
st/oxr: Use the right depth projection function
2020-08-25 14:55:43 +01:00
Christoph Haag
2cd010b65f
st/oxr: Verify that projection layer has 0 or view count depth layers
2020-08-24 12:29:47 +02:00
Christoph Haag
a9193b0e89
st/oxr: Pass through depth layer to compositor
...
The compositor does not make use of this layer yet.
2020-08-24 10:30:23 +02:00
Christoph Haag
4f2d421903
st/oxr: Verify depth layer
2020-08-24 10:30:23 +02:00
Christoph Haag
5a854fc806
st/oxr: projection layer swapchain NULL check
2020-08-24 10:18:12 +02:00
Jakob Bornecrantz
a4693f3162
st/oxr: Include m_mathinclude.h and tidy includes
2020-08-21 12:18:09 +01:00
Christoph Haag
8a17481301
st/oxr: handle subimage rect in submit_cylinder_layer
2020-08-21 02:11:03 +02:00
Ryan Pavlik
00abdb358a
st/oxr: Proper gles support for Android
2020-08-17 17:30:33 -05:00