Commit graph

934 commits

Author SHA1 Message Date
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