Christoph Haag
a3d04090c5
st/oxr: Always make actions active that have inputs
...
If an applications only syncs a subset of action sets, the actions from all
sets that are not synced get the active bit reset.
Once the application starts syncing the previously not synced sets again,
the actions have to become active again.
2020-01-09 02:12:59 +01:00
Ryan Pavlik
e49fdd8523
st/oxr: EGL extension requires OpenGL enabled
2019-12-07 18:25:37 +00:00
Ryan Pavlik
51c3240c23
st/oxr: Improve extension support header.
2019-12-07 18:25:37 +00:00
Ryan Pavlik
f25b5d7f8d
st/gui: clang-tidy
2019-12-07 18:25:37 +00:00
Ryan Pavlik
06ce6617f5
st/oxr: Port logger realloc to helper macro
2019-12-07 18:24:56 +00:00
Ryan Pavlik
b47428b451
st/p: Convert to realloc macro
2019-12-07 18:24:56 +00:00
Ryan Pavlik
f6d3aabc08
st/oxr: Convert remaining realloc in binding code
2019-12-07 18:24:56 +00:00
Ryan Pavlik
2b5fa2c57f
st/p: Fix enum types in libusb usage
2019-12-07 18:24:56 +00:00
Ryan Pavlik
447b3550e8
st/oxr: Fix enum types in shipped bindings
2019-12-07 18:24:56 +00:00
Ryan Pavlik
2751824e16
st/gui: Type safety fixes
2019-12-07 18:24:56 +00:00
Ryan Pavlik
808892742b
st/p: Fix allocation size error with realloc macro
2019-12-03 09:39:06 -06:00
Ryan Pavlik
f20a0e14e0
st/oxr: Fix oversized allocation in binding code
2019-12-03 09:39:06 -06:00
Ryan Pavlik
a602b2247f
st/oxr: Fix bug in get current interaction profile.
...
We returned the path instead of putting it in the out value.
2019-12-03 09:39:06 -06:00
Jakob Bornecrantz
9b60bd7c77
t/calib: Add support to load images
2019-11-22 14:20:56 +00:00
Jakob Bornecrantz
3f202d0d6f
t/calib: Make cooldown period separate from wait period
2019-11-22 12:36:23 +00:00
Jakob Bornecrantz
86dc9e1a6b
t/calib: Re-organize parameters and make it possible to select board type
2019-11-22 12:36:23 +00:00
Jakob Bornecrantz
9a4b55758a
st/gui: Add support for mirror RGB option
2019-11-21 22:43:04 +00:00
Jakob Bornecrantz
84f9ad962c
st/gui: Tidy UI
2019-11-20 23:50:42 +00:00
Jakob Bornecrantz
ff4b91c688
st/gui: Expose fisheye option
2019-11-20 23:50:42 +00:00
Jakob Bornecrantz
dc6da46852
st/gui: Add option to save image and add separators"
2019-11-20 23:50:42 +00:00
Jakob Bornecrantz
d6317b2a14
st/gui: Expose new parameters to calibration
2019-11-20 23:50:42 +00:00
Simon Ser
c395f85565
oxr: add XR_TYPE_SWAPCHAIN_IMAGE_OPENGL_ES_KHR support
2019-11-18 15:16:16 +01:00
Simon Ser
a8b2370946
xrt: accept OpenGL ES in oxr_session_populate_egl
2019-11-18 15:16:15 +01:00
Simon Ser
5eacb6f309
xrt: add support for OpenGL ES
...
This commit advertises the extension and adds support for
xrGetOpenGLESGraphicsRequirementsKHR
2019-11-18 15:16:15 +01:00
Jakob Bornecrantz
ad45aeb0a7
t/calib: Refactor loading a bit more
2019-11-17 22:09:01 +00:00
Jakob Bornecrantz
4af9978803
st/gui: Correctly destroy timekeeping
2019-11-17 20:53:18 +00:00
Jakob Bornecrantz
6d8abd87a8
t/calib: Tidy and rename calibration data to settings
2019-11-16 23:17:11 +00:00
Jakob Bornecrantz
f364b7a45b
t/calib: Make prober load calibration data instead of trackers
2019-11-16 12:17:07 +00:00
Jakob Bornecrantz
ee3d9d08f6
u/time: Send in a pointer to pointer to the timekeeping destroy function
2019-11-15 20:30:01 +00:00
Julian Eisel
05b069b0a0
Fix two use-after-free's and multiple memory leaks
2019-11-13 21:53:16 +01:00
Ryan Pavlik
882388b320
st/prober: Fix typo
2019-11-11 17:57:40 -06:00
Jakob Bornecrantz
76d6133142
cmake: Fix v4l2 flag not being set
2019-11-10 01:36:46 +00:00
Jakob Bornecrantz
a29dd8c0a4
st/oxr: Improve destruction of GUI hack
2019-11-09 12:53:42 +00:00
Jakob Bornecrantz
86244f726f
st/oxr: Improve error condition handling on instance creation
2019-11-09 12:53:42 +00:00
Christoph Haag
e78e5c8045
st/oxr: Return appropriate errors for incomplete OpenGL XLib binding
...
* xDisplay must be a pointer to a Display value
* glxDrawable must be a valid GLXDrawable value
* glxContext must be a valid GLXContext value
intentionally not checked:
* glxFBConfig must be a valid GLXFBConfig value
We don't care about this one for now.
2019-11-08 16:07:10 +01:00
Drew DeVault
e5a9cbb2f9
Implement XR_MND_egl_enable
...
This extension introduces a more robust way of creating an XrSession for
OpenGL. It also lays the groundwork for future OpenGL ES support.
https://github.com/KhronosGroup/OpenXR-Docs/pull/40
Signed-off-by: Simon Ser <contact@emersion.fr>
Signed-off-by: Drew DeVault <sir@cmpwn.com>
2019-11-06 10:07:21 +01:00
Simon Ser
eefeec12fd
oxr: check input type in oxr_swapchain_gl_enumerate_images
...
Don't blindly cast the input struct to XrSwapchainImageOpenGLKHR, check
that the type is XR_TYPE_SWAPCHAIN_IMAGE_OPENGL_KHR.
2019-11-05 16:32:04 +00:00
Christoph Haag
3b87d518c4
build: Fix meson build without v4l2
2019-11-05 15:36:52 +01:00
Jakob Bornecrantz
5e3565c28f
st/oxr: Set maximum image rect size to 200%
2019-11-05 12:31:42 +00:00
Jakob Bornecrantz
defdd97288
st/oxr: Fix recommended swapchain image height
2019-11-05 12:31:42 +00:00
Jakob Bornecrantz
9eedb05f1b
st/prober: Do not autoprobe if we have a HMD
2019-11-05 12:15:56 +00:00
Simon Ser
9183f53c5f
xrt: allow NULL args in various functions
...
The spec says NULL arguments are valid when the argument just exists for
extensibility. Fix the implementation to accept NULL args.
2019-11-05 10:40:21 +01:00
Simon Ser
8ade6b654b
xrt: introduce OXR_VERIFY_ARG_TYPE_CAN_BE_NULL
...
It's like OXR_VERIFY_ARG_TYPE_AND_NOT_NULL, but doesn't ensure the argument
is non-NULL.
2019-11-05 10:21:23 +01:00
Simon Ser
1b51db68f9
xrt: rename OXR_VERIFY_ARG_TYPE_AND_NULL to …_NOT_NULL
2019-11-05 10:15:35 +01:00
Jakob Bornecrantz
b59676e184
st/oxr: Comment all parameters
2019-11-02 22:40:26 +00:00
Ryan Pavlik
e8660a18bd
build: Use CMAKE_POSITION_INDEPENDENT_CODE instead of target props.
...
Reduces repetitive code.
2019-11-01 16:51:54 -05:00
Jakob Bornecrantz
e84ca2de34
st/oxr: Use xrt_compositor helpers
2019-10-28 21:00:56 +00:00
Jakob Bornecrantz
c11640d66b
st/oxr: Make sure actions that are not marked as active are deactivated
2019-10-28 14:58:59 +00:00
Jakob Bornecrantz
312a99ecf8
st/oxr: Implement any sub-action path handling
2019-10-28 14:58:59 +00:00
Jakob Bornecrantz
186f3ff7e0
st/prober: Ignore I2C based hid devices
2019-10-25 18:39:34 +01:00
Ryan Pavlik
6b8b1ae935
st/oxr: Fix changed since last sync and support for more input types
2019-10-24 22:16:40 +01:00
Jakob Bornecrantz
aa52da072f
xrt: Remove relation input type
2019-10-24 21:51:07 +01:00
Ryan Pavlik
d3d6f15107
st/prober: More data in the "failed to get interface number" messages.
2019-10-24 15:45:41 +01:00
Ryan Pavlik
939c41aba9
st/oxr: If the app called request-exit, go to exiting instead of ready.
2019-10-22 21:14:04 +02:00
Ryan Pavlik
713830338e
st/oxr: Allow wait frame in headless since it does more than just waiting.
2019-10-22 17:29:04 +00:00
Lubosz Sarnecki
6eb1086578
st/prober: Add string functions.
...
Functions for printing and matching xrt_proper_string.
2019-10-22 19:18:47 +02:00
Ryan Pavlik
e2428ee7fa
st/oxr: Handle request exit session and stopping state
2019-10-22 18:00:00 +02:00
Jakob Bornecrantz
0826ff9273
st/oxr: xrCreateActionSpace is fully implemented
2019-10-22 15:19:23 +01:00
Jakob Bornecrantz
937f5d582a
st/oxr: Refactor logging options to instance
2019-10-22 11:47:25 +01:00
Jakob Bornecrantz
ce57fae37d
st/oxr: Actually implement oxr_slog_abort
2019-10-22 11:45:21 +01:00
Jakob Bornecrantz
dcd9bbb4d7
st/gui: Use r8g8b8 or l8 converter
2019-10-19 23:15:49 +01:00
Jakob Bornecrantz
078ac7c59e
st/oxr: Slightly better error message
2019-10-19 22:18:29 +01:00
Jakob Bornecrantz
e56271d968
st/oxr: Add super hacky debug gui
2019-10-15 20:54:57 +01:00
Jakob Bornecrantz
5f1078675d
st/gui: Do not call prober select in debug scene
2019-10-15 20:54:52 +01:00
Jakob Borncrantz
7239282aab
st/prober: Add tracking factory variable tracking
2019-10-15 21:05:37 +02:00
Lubosz Sarnecki
783a36fbcc
st/prober: Add libusb error strings and can open function.
...
The prober will now output libusb errors as string. This patch also adds
a `can_open` function to the prober, that opens and closes device with
libusb to ensure devices can be opened.
This makes it possible to ensure early that permissions on the device
are correct.
2019-10-11 15:56:30 +01:00
Lubosz Sarnecki
6ec8721899
xrt: Add num_devices to prober found interface.
...
In order to access multiple devices the prober found interface needs to
pass the length of the device list. This patch updates the found
interface in all drivers.
2019-10-11 15:56:20 +01:00
Jakob Bornecrantz
a0a4fa3399
st/oxr: Fixes for ball on stick bindings
2019-10-11 15:40:39 +01:00
Drew DeVault
7f16e7230f
oxr_verify.cpp: rewrite in C
2019-10-10 22:54:19 +00:00
Drew DeVault
d7debdb724
oxr_logger.cpp: rewrite in C
2019-10-10 22:54:19 +00:00
Drew DeVault
6c275f0aae
oxr_event.cpp: rewrite in C
2019-10-10 22:54:19 +00:00
Drew DeVault
904d58d365
oxr: track list of sessions; poll sessions
2019-10-10 22:51:21 +00:00
Drew DeVault
a736812f63
oxr: mostly implement XR_SESSION_LOSS_PENDING
...
This is missing support for xrPollEvents, which needs to be handled
separately as it's not properly rigged up throughout Monado yet.
2019-10-10 22:51:21 +00:00
Jakob Bornecrantz
bffe802449
t/psmv: Adjust room position in prober instead
2019-10-10 23:47:51 +01:00
Jakob Bornecrantz
102e36efc9
st/gui: Don't include glad directly
2019-10-09 22:11:41 +01:00
Jakob Bornecrantz
1afc4df95c
st/gui: Refactor gui code into it's own state tracker
2019-10-09 21:53:21 +01:00
Jakob Bornecrantz
acd2c50470
aux/math: Rework offset transformation
...
This reverts commit 0d9aaae470
, and changes it.
2019-10-08 11:19:14 +01:00
Jakob Bornecrantz
d8cd9ffcdd
st/prober: Better error printing
2019-10-04 10:32:02 +01:00
Jakob Bornecrantz
ec7e98538c
st/prober: Code style, pointer star location
2019-09-29 11:45:23 +01:00
Jakob Bornecrantz
76527b73f8
st/oxr: Code style, pointer star location
2019-09-29 11:45:23 +01:00
Jakob Bornecrantz
fcc316d6f1
st/prober: First ball is red
2019-09-27 20:28:04 +01:00
Jakob Bornecrantz
953ce6480d
st/prober: Gate tracking on OpenCV instead of PSMV and PSVR
2019-09-26 22:34:14 +01:00
Drew DeVault
064aef3526
build: port to meson
2019-09-26 15:05:22 +00:00
Ryan Pavlik
24260bb042
st/oxr: Silence meaningless negotiate errors/warnings.
...
Loader just indiscriminately populates all function pointers.
2019-09-24 22:01:05 +00:00
Ryan Pavlik
bbd63ff071
st/oxr: Disable partial implementation of debug extension for now.
2019-09-24 14:16:31 -05:00
Ryan Pavlik
80b0c14590
st/oxr: Paths cannot end with a slash.
2019-09-24 10:20:16 -05:00
Ryan Pavlik
b7aebc2146
st/oxr: Implement oxr_xrStructureTypeToString
2019-09-24 10:20:16 -05:00
Ryan Pavlik
192a219d1c
st/oxr: Implement oxr_xrResultToString
2019-09-24 10:20:16 -05:00
Jakob Bornecrantz
a211b392df
st/prober: Set origin for PSVR tracker as well
...
Spotted by Pete Black.
2019-09-24 01:14:48 +01:00
Jakob Bornecrantz
79eba848ae
st/prober: Add hardcoded tracking system integration for PSMV and PSVR
2019-09-22 12:00:48 +01:00
Jakob Bornecrantz
387bc123f8
xrt: Expand tracking interface
2019-09-21 18:22:06 +01:00
Jakob Bornecrantz
51dafe7b05
xrt: Add usb_dev_class to xrt_prober_device
2019-09-18 13:03:01 +01:00
Jakob Bornecrantz
46389cd6ae
xrt: Send in real prober to auto probers
2019-09-15 23:24:58 +01:00
Jakob Bornecrantz
a673f9b7fc
st/oxr: Add Monado ball on a stick controller
2019-09-15 15:44:39 +01:00
Jakob Bornecrantz
79ad85e9b7
st/oxr: Add interaction profile code
...
Not a complete implementation but gets us far enough to
respect the bindings that a application gives us.
2019-09-15 15:44:39 +01:00
Jakob Bornecrantz
2337299279
st/oxr: Make sure action keys don't start at zero
2019-09-15 15:44:39 +01:00
Jakob Bornecrantz
2db3df9027
st/oxr: Add oxr_sink_logger, the slog-inator!
2019-09-15 15:44:39 +01:00
Jakob Bornecrantz
8d001ca95f
st/oxr: Even more fixes for system xdevs
2019-09-09 21:57:37 +01:00
Jakob Bornecrantz
affd1cb2c1
st/oxr: Tidy
2019-09-09 20:47:43 +01:00
Jakob Bornecrantz
b84413cc35
st/oxr: Fix system xdev init
2019-09-09 20:47:30 +01:00
Jakob Bornecrantz
962de77ca0
st/oxr: Carry around extra xrt_devices
...
Pretty much only used for enabling 3 PS Move Controllers right now.
2019-09-08 10:01:55 +01:00
Jakob Bornecrantz
798ef43342
st/prober: Make sure the usb-product is always filled out
2019-09-07 14:34:20 +01:00
Jakob Bornecrantz
c021199b98
xrt: Add interface to prober to open video devices
2019-09-07 14:34:20 +01:00
Jakob Bornecrantz
aaaa9fc235
st/oxr: Fix strict aliasing warnings when compiling with optimisations
2019-09-06 15:46:17 +01:00
Jakob Bornecrantz
e8ead02c4c
st/oxr: Silence warning from snprintf when compiling with optimisations
2019-09-06 15:46:06 +01:00
Jakob Bornecrantz
d8f8f670d3
st/prober: Add variable tracking
2019-09-06 14:37:45 +01:00
Jakob Bornecrantz
591e6d3b29
st/oxr: Add variable tracking
2019-09-06 14:37:45 +01:00
Jakob Bornecrantz
29b1713be9
xrt: Add enum xrt_device_name so that state trackers can reason about device
2019-09-04 12:47:18 +01:00
Jakob Bornecrantz
0f9b5786f3
st/oxr: Remove unnecessary NULL check
2019-08-22 16:46:42 +01:00
Ryan Pavlik
dae90d4b42
st/oxr: Fix potential null-deref in events.
...
Found by clang-tidy
2019-08-21 14:28:32 -05:00
Ryan Pavlik
624fe8ab59
st/oxr: Change iteration of actions.
2019-08-21 14:28:07 -05:00
Ryan Pavlik
2389c207f5
st/oxr: debug utils extension cleanup
2019-08-19 17:12:33 -05:00
Ryan Pavlik
077d0c39c5
st/oxr: Unify handling of extensions.
2019-08-19 17:12:33 -05:00
Jakob Bornecrantz
33dd9b65ea
st/oxr: Don't pad systemName with a lot of padding
...
This was a thinko by me and just plain wrong.
2019-08-17 09:31:01 +01:00
Ryan Pavlik
6566e7d21d
st/oxr: Return FUNCTION_UNSUPPORTED for some not-enabled extensions.
...
More to do, but this is something.
2019-08-16 18:04:53 -05:00
Ryan Pavlik
ac22f30a2c
st/oxr: xrGetInstanceProcAddr typo fix.
2019-08-16 18:04:53 -05:00
Ryan Pavlik
ad6c26c231
st/oxr: xrGetInstanceProcAddr doesn't require an instance to enumerate layers
2019-08-16 18:04:53 -05:00
Ryan Pavlik
d6df86a9ae
st/oxr: Don't write debug message on functions we just don't know in GIPA.
2019-08-16 18:04:53 -05:00
Ryan Pavlik
ae63bfc0ac
st/oxr: Adjust two call helper to satisfy spec.
2019-08-16 23:01:04 +00:00
Ryan Pavlik
0088c6cb6e
st/oxr: Fix possible null dereference.
...
Found by clang-tidy.
2019-08-16 17:25:29 -05:00
Ryan Pavlik
c8776a8b0d
st/oxr: Minor clang-tidy fixes.
2019-08-16 17:25:29 -05:00
Ryan Pavlik
dddb8069d0
st/prober: Minor clang-tidy fixes.
2019-08-16 17:25:29 -05:00
Ryan Pavlik
80cc620eca
st/prober: Fix use of uninitialized condition.
...
Found by clang-tidy
2019-08-16 17:25:29 -05:00
Ryan Pavlik
c874d25ee3
st/prober: Fix null dereference.
...
Found by clang-tidy.
2019-08-16 17:25:29 -05:00
Ryan Pavlik
557172f8ae
st/oxr: Silence warning about results in binding code.
2019-08-16 10:54:53 -05:00
Ryan Pavlik
93976bb276
prober: Add ability to get string descriptors.
...
Right now we can only use libusb to get this info.
2019-08-15 12:36:01 +00:00
Ryan Pavlik
3e34060777
st/oxr: Ignore view config type in monado headless mode.
2019-08-14 17:15:15 -05:00
Ryan Pavlik
225bac0cfb
st/oxr: Enforce 0 session create flags
2019-08-14 17:14:59 -05:00
Ryan Pavlik
761c4d7ca8
Fix build.
2019-08-14 17:14:46 -05:00
Ryan Pavlik
1fd9936f95
st/oxr: Fix enumerating swapchain formats on headless
2019-08-14 12:28:30 -05:00
Jakob Bornecrantz
5fa58efcbf
st/oxr: Verify width and height on swapchain create
2019-08-01 07:39:50 +01:00
Jakob Bornecrantz
4ebc308a37
st/oxr: Update version for OpenXR 1.0 support
2019-08-01 07:34:33 +01:00
Jakob Bornecrantz
57c6078a69
st/oxr: Update to OpenXR 1.0
2019-07-29 16:43:39 +01:00
Jakob Bornecrantz
08a4b40f77
st/oxr: Fix API negotiation code
2019-07-29 16:34:48 +01:00
Ryan Pavlik
bf45f2bc21
st/oxr: Hack the fixed bindings to add support for the Hydra
2019-07-29 04:08:06 +01:00
Jakob Bornecrantz
9a4fee3896
st/oxr: Code style
2019-07-25 00:57:51 +01:00
Jakob Bornecrantz
d66cd05445
st/oxr: Fix warnings during release builds
2019-07-25 00:53:04 +01:00
Jakob Bornecrantz
e7a933a168
st/oxr: Verify poses in space create functions
2019-07-21 14:57:45 +00:00
Jakob Bornecrantz
223206dc24
st/oxr: Refactor function returning to actually raise error this time
2019-07-21 14:15:17 +01:00
Jakob Bornecrantz
97939accda
st/oxr: Slightly improve swapchain image status
...
The current code is not up spec at all anyways, but this at least
helps to avoid some bad situations in the current code.
2019-07-02 17:54:13 +01:00
Jakob Bornecrantz
79364eaf4c
st/oxr: Validate that Swapchain has at least one released image
2019-07-02 17:54:13 +01:00
Jakob Bornecrantz
b7defdb0ae
st/oxr: Use new prober function helpers
2019-06-30 14:35:27 +01:00
Jakob Bornecrantz
ccac11ac1d
st/prober: Remove auto-wrapper
2019-06-30 14:35:27 +01:00
Jakob Bornecrantz
699bb8d5ad
st/prober: Implement camera listing function
2019-06-28 14:03:50 +01:00
Jakob Bornecrantz
16f8b013ec
st/prober: Save usb path and product name
2019-06-28 14:03:50 +01:00
Jakob Bornecrantz
de4dc03ab7
st/oxr: Save people from shooting themselves in the foot
2019-06-25 18:36:14 +01:00
Ryan Pavlik
1f84814721
st/prober: Allow "found" functions called by prober to make more than one device.
2019-06-22 11:34:51 +01:00
Ryan Pavlik
a673a4d469
st/oxr: Make the binding finder return bool so we can chain it.
2019-06-22 11:34:51 +01:00
Ryan Pavlik
257cf6b5a8
prober: Fix typo
2019-06-21 13:17:55 -05:00
Jakob Bornecrantz
80cf616355
st/prober: Improve printing order of dumping
2019-06-21 17:10:57 +01:00
Jakob Bornecrantz
cf8dfe6357
st/prober: Prefer deb_path for finding usb bus and addr
2019-06-21 17:04:27 +01:00
Jakob Bornecrantz
a3ae5ae453
st/prober: Probe for V4L devices
2019-06-21 17:04:27 +01:00
Jakob Bornecrantz
cb44c822d2
st/prober: Refactor hidraw enumeration code in udev file
2019-06-21 17:04:27 +01:00
Jakob Bornecrantz
dfdc794272
st/prober: Refactor libuvc code to own file
2019-06-21 17:04:27 +01:00
Jakob Bornecrantz
d9b820c834
st/prober: Refactor libusb code to own file
2019-06-21 17:04:25 +01:00
Jakob Bornecrantz
7f07cee387
st/prober: Guard libudev usage
2019-06-21 17:03:20 +01:00
Jakob Bornecrantz
d30cd0b639
st/oxr: Fix segfault due to bad U_ZERO of sub_paths
2019-06-18 21:32:08 +01:00
Ryan Pavlik
e70a28b912
st/oxr: Fix enumerating swapchain formats on headless
...
Operating on the assumption that it's OK to pass a null countOutput sometimes.
2019-06-18 15:17:53 -05:00
Ryan Pavlik
93c5ae105f
st/oxr: Fix typo.
2019-06-18 14:46:51 -05:00
Ryan Pavlik
c327d5e48c
st/oxr: Banish remaining bare calloc calls.
2019-06-18 14:14:01 -05:00
Ryan Pavlik
661fa79057
st/prober: Use U_ZERO
2019-06-18 14:14:01 -05:00
Ryan Pavlik
bc4b36ed61
st/oxr: Use U_ZERO
2019-06-18 14:14:01 -05:00
Jakob Bornecrantz
739b6b7895
st/oxr: Code style fix
2019-06-18 13:09:59 -05:00
Ryan Pavlik
58f5d56d48
st/oxr: Code style fix
2019-06-18 13:09:59 -05:00
Ryan Pavlik
2228a00b08
st/oxr: Codespell fix
2019-06-18 13:09:59 -05:00
Jakob Bornecrantz
e745a28374
st/oxr: Basic foundation for input and output
...
This commits lays the foundation for actions in Monado (input and output).
There are lots of things missing and non-conformant in there. But once in
more people then just me can test it out and work on it.
2019-06-18 17:56:10 +01:00
Benjamin Saunders
41ad2b872c
st/oxr: Accept nonnull subactionPaths when countSubactionPaths is 0
...
It's not clear that this is forbidden, and it can make the caller's
life a little easier.
2019-06-14 12:06:00 -07:00
Ryan Pavlik
06cb5d680b
st/oxr: Check requested OpenXR API version.
...
Conformance.
2019-06-12 15:40:19 -05:00
Ryan Pavlik
0bdb4e4aeb
st/oxr: Unify checking of system ID, and do so in createSession
2019-06-12 15:40:19 -05:00
Ryan Pavlik
052728d515
st/oxr: Don't break on function unsupported errors.
2019-06-12 15:39:26 -05:00
Jakob Bornecrantz
8aec512de3
xrt: Update prober interface
2019-06-10 14:47:19 +01:00
Jakob Bornecrantz
1f64f714f6
xrt: Add input, hmd_parts and tracking interface
...
This patch has been spun of the rather massive amount of work for adding input
devices into Monado. The interfaces feels somewhat stable now so could do
with another pair of eyes on them, before too much work is done on st/oxr.
2019-06-10 14:47:19 +01:00
Jakob Bornecrantz
889c89590c
st/oxr: Implement action stubs in oxr_input.c
2019-06-10 14:47:05 +01:00
Ryan Pavlik
acec80da2f
st/oxr: Fix graphics binding error codes/messages
2019-06-03 22:52:28 +00:00
Ryan Pavlik
dab52d319d
st/oxr: Support arbitrary next chains in session creation.
2019-06-03 22:52:28 +00:00
Ryan Pavlik
0a523bef05
st/oxr: Fix verifying XrSessionCreateInfo and graphics bindings structs.
...
Don't enforce next == NULL, and look through entire chain for structure
type enum, using oxr_chain.h
2019-06-03 22:52:28 +00:00
Ryan Pavlik
fa8047fed3
st/oxr: Add oxr_chain.h header
...
This should replace all manual poking of the next chain.
Prefer the macros over the functions since they'll do your casting for you.
2019-06-03 22:52:28 +00:00
Ryan Pavlik
e944bcb96f
st/oxr: Parenthesize macro args.
...
Found by upcoming modifications.
2019-06-03 22:52:28 +00:00
Ryan Pavlik
74065d49dd
st/oxr: Remove incorrect check in OXR_VERIFY_TYPE_AND_NULL
...
We are to ignore any unexpected types in a next chain.
2019-06-03 22:52:28 +00:00
Ryan Pavlik
9c979099e3
st/oxr: Fix some error message formatting in oxr_verify
2019-06-03 17:48:59 -05:00
Ryan Pavlik
0696203858
st/oxr: Document message style for oxr_error
2019-06-03 17:48:39 -05:00
Jakob Bornecrantz
d97df04c11
xrt: Add new prober interface and code
2019-05-16 20:41:35 +01:00
Christoph Haag
09e9771a2d
st/oxr: fix path length verification
...
We can't assume the string is null terminated.
2019-05-09 17:49:03 +00:00
Jakob Bornecrantz
d5f5d9f354
st/oxr: Set session on action spaces
2019-05-09 12:42:28 +01:00
Jakob Bornecrantz
a70fdba30e
st/oxr: Move CMakeLists.txt into base directory
2019-05-03 18:53:24 +01:00
Jakob Bornecrantz
dc9ab44a5a
xrt: Rename xrt_prober to xrt_auto_prober
2019-05-03 18:53:07 +01:00
Benjamin Saunders
13cef1b8b9
comp: Support rendering individual array layers
2019-05-01 17:45:43 -07:00
Benjamin Saunders
b6f2013bc5
st/oxr: Frame end uses the most recently released image
2019-05-01 17:45:43 -07:00
Ryan Pavlik
3a4e020920
st/oxr: Fix conformance issue in begin session.
2019-04-24 02:41:34 +00:00
Benjamin Saunders
570ba1ae88
st/oxr: Initialize action act_set pointer
...
Fixes a segfault in OXR_VERIFY_ACTION_AND_INIT_LOG
2019-04-22 09:19:59 -07:00
Jakob Bornecrantz
bc77052493
st/oxr: Tidy code style
2019-04-20 02:54:23 +01:00
Benjamin Saunders
1da5cd9914
st/oxr: Initialize action set session pointer
...
Fixes a segfault in OXR_VERIFY_ACTION_AND_INIT_LOG
2019-04-15 09:52:40 +01:00
Benjamin Saunders
9b774cbd72
st/oxr: Verify action names
2019-04-15 09:52:37 +01:00
Benjamin Saunders
f32cab368f
st/oxr: Fix error code for empty path segments
2019-04-15 09:52:34 +01:00
Benjamin Saunders
a776b94147
st/oxr: Fix localized name validation
2019-04-15 09:52:30 +01:00
Jakob Bornecrantz
a6ea2816cb
st/oxr: Tidy off by one error
2019-04-12 11:48:25 +01:00
Jakob Bornecrantz
98c91ccb25
st/oxr: Tidy code style
2019-04-12 11:46:59 +01:00
Jakob Bornecrantz
fcdfd9d97d
st/oxr: Pipe some path functions down into the path store
2019-04-12 11:30:01 +01:00
Jakob Bornecrantz
77b3b7b840
st/oxr: Add a path store
2019-04-12 11:30:01 +01:00
Jakob Bornecrantz
9173e1d31c
st/oxr: Add code to verify full paths
2019-04-12 11:30:01 +01:00
Jakob Bornecrantz
51b5d55e61
st/oxr: Use correct error returns in single level path
...
Spotted by Ryan.
2019-04-12 11:30:01 +01:00
Ryan Pavlik
611febab5a
st/oxr: Switch logger to using XRT_DEBUGBREAK
2019-04-08 19:49:38 +00:00
Ryan Pavlik
891eb7f1c4
st/oxr: Add a debug option to break/trap on error.
...
Might be useful for debugging, since once the consuming call has returned,
you've lost most of the context of what led to the error.
2019-04-08 19:49:38 +00:00
Ryan Pavlik
af2756b50a
st/oxr: Fix conformance issue in xrBeginFrame
2019-04-08 14:02:36 -05:00
Ryan Pavlik
3d2d391fbe
st/oxr: Fix error message for xrCreateSession.
...
Missing graphics binding is XR_ERROR_GRAPHICS_DEVICE_INVALID.
2019-04-08 14:02:36 -05:00
Jakob Bornecrantz
1d4e73caea
st/oxr: Return correct error value
2019-04-08 19:41:30 +01:00
Jakob Bornecrantz
78afc55d94
st/oxr: Improve the fixed size single path verifier
2019-04-08 18:35:09 +00:00
Jakob Bornecrantz
6355f02ae7
st/oxr: Tidy code style
2019-04-06 09:40:54 +01:00
Ryan Pavlik
98cdb84b26
st/oxr: Simplify and dedupe session creation.
...
The per-graphics-binding code now just "populates"
a centrally-created session, rather than "creates".
2019-04-05 17:45:37 -05:00
Ryan Pavlik
6209e17c76
st/oxr: Make verification macros confirm that the handle is alive.
2019-04-05 17:45:37 -05:00
Ryan Pavlik
e5561b9b90
st/oxr: Minimal debug messenger "implementation".
...
Just does enough to avoid crashing - allowing the loader, etc.
to actually handle most of it.
2019-04-05 17:45:37 -05:00
Ryan Pavlik
f533d737b9
st/oxr: Improve action space stubs.
2019-04-05 17:45:37 -05:00
Ryan Pavlik
0b2b99ca89
st/oxr: Improve actionset/action stubs.
2019-04-05 17:45:37 -05:00
Ryan Pavlik
a958fd2820
st/oxr: Provide handle lifecycle management
2019-04-05 17:45:37 -05:00
Jakob Bornecrantz
918b7ea467
st/oxr: Silence warning
2019-04-05 10:42:49 +01:00
Christoph Haag
ab275a625e
st/oxr: Use system name from xrt_device
2019-04-05 09:52:29 +01:00
Jakob Bornecrantz
cae8d40c11
st/oxr: Add viewport scaling env variable
2019-04-03 17:55:20 +01:00
Jakob Bornecrantz
4540cff077
st/oxr: Silence warning
...
Reviewed-by: Ryan Pavlik <ryan.pavlik@collabora.com>
2019-04-01 17:07:23 +01:00
Ryan Pavlik
c147607728
st/oxr: Guard frame end and frame begin for use in headless sessions.
...
They aren't on the list of "illegal in headless" functions.
2019-03-27 16:23:01 +00:00
Ryan Pavlik
72b0a97142
st/oxr: Enable dynamic prediction by default.
2019-03-27 16:22:56 +00:00
Ryan Pavlik
82f5a974e3
st/oxr: Optionally perform dynamic prediction.
2019-03-27 16:22:41 +00:00
Ryan Pavlik
f78509ba9b
st/oxr: Hand determination of frame time and interval over to compositor
2019-03-27 13:39:22 +00:00
Ryan Pavlik
f6c97ec253
comp: Pass time state down into compositor
2019-03-27 13:39:22 +00:00
Jakob Bornecrantz
b47b9748a5
st/oxr: Tidy code style
2019-03-27 13:35:26 +00:00
Ryan Pavlik
ef633d79fb
st/oxr: Silence Clang warnings about typeof
2019-03-25 19:20:23 +00:00
Ryan Pavlik
9004ea80bb
xrt: Devices get a timekeeping object, must return a timestamp.
...
Updates drivers to match.
2019-03-25 12:28:54 -05:00
Jakob Bornecrantz
992c176143
st/oxr: Fix verify prototype and add extern C attributes
2019-03-25 01:18:17 +00:00
Benjamin Saunders
c8515e142d
st/oxr: Ignore graphics bindings from disabled extensions
2019-03-24 15:03:23 -07:00
Benjamin Saunders
3c9eafc1f0
st/oxr: Implement XR_KHR_headless
2019-03-24 13:25:30 -07:00
Benjamin Saunders
b7023c2ec6
st/oxr: More accurate xrGetReferenceSpaceBoundsRect return code
2019-03-23 10:05:27 -07:00
Ryan Pavlik
f7d990c7e3
xrt: Use U_TYPED_CALLOC
2019-03-22 13:47:51 -05:00
Ryan Pavlik
1d6207eee8
st/oxr: Fix some type issues
2019-03-22 16:54:14 +00:00
Jakob Bornecrantz
0b7a620c02
st/oxr: Do not enumerate the XR_KHR_headless extension as it is not supported yet
2019-03-21 18:54:05 +00:00
Jakob Bornecrantz
15a97422ba
xrt: Add all of Monado
2019-03-18 05:52:32 +00:00