Commit graph

332 commits

Author SHA1 Message Date
Christoph Haag 3bdc57c4b3 st/oxr: Don't indiscriminately set orientation & position to valid in ensure_valid_position_and_orientation() 2020-05-29 00:57:35 +02:00
Jakob Bornecrantz 03f802de77 st/oxr: Correctly validate time in xrLocateSpace 2020-05-28 22:56:59 +01:00
Jakob Bornecrantz dd04379209 st/oxr: Now that layers are supported up the max layers to what the spec requires 2020-05-28 22:56:59 +01:00
Jakob Bornecrantz 7cd9dfabc8 st/oxr: Translate swapchain usage flags 2020-05-28 15:50:47 +01:00
Jakob Bornecrantz 23b882df08 st/oxr: Write out pose values on failure, better say which layer failed and also check projection layer poses 2020-05-28 15:50:47 +01:00
Jakob Bornecrantz efd35da334 st/oxr: Correctly translate XrSwapchainCreateFlags 2020-05-27 21:21:00 +01:00
Jakob Bornecrantz 0aeb2ccfb2 st/oxr: Turn XrPaths into atoms 2020-05-27 21:21:00 +01:00
Jakob Bornecrantz 7cf5edbf87 st/oxr: Now that IPC correctly wait frames check predicted display for zero 2020-05-27 18:12:26 +01:00
Jakob Bornecrantz 51545411f9 st/oxr: Validate time better xrConvertTimeToTimespecTimeKHR 2020-05-27 18:12:26 +01:00
Jakob Bornecrantz ef41cf2088 u/time: Use a very large hammer to "fix" time_state 2020-05-27 17:50:06 +01:00
Jakob Bornecrantz 4039dc7096 st/oxr: Validate some internal state and improve error message 2020-05-26 19:34:49 +01:00
Christoph Haag 41e3a6fd17 st/oxr: error on displayTime <= 0 in xrEndFrame 2020-05-26 19:34:49 +01:00
Jakob Bornecrantz 589a4ad3e9 st/oxr: Better printing of envBlendMode errors 2020-05-26 19:34:49 +01:00
Christoph Haag 4ea17ce7be st/oxr: Always error on unsupported blend mode
The spec requires always returning an error if the blend mode is unsupported:

XR_ERROR_ENVIRONMENT_BLEND_MODE_UNSUPPORTED must be returned if
XrFrameEndInfo::environmentBlendMode is not supported.
2020-05-26 19:34:49 +01:00
Ryan Pavlik 3624c17754 st/oxr: Fix some warnings by initializing variables. 2020-05-26 11:25:03 -05:00
Jakob Bornecrantz 98d11709fb st/oxr: Remove head offset when submitting layers 2020-05-26 11:33:58 +01:00
Lubosz Sarnecki eab3cac623 st/oxr: Verify valid swapchain array index for quads. 2020-05-26 11:33:58 +01:00
Lubosz Sarnecki 8b0a43a64e st/oxr: Test for XR_ERROR_POSE_INVALID.
In quad verification.
2020-05-26 11:33:58 +01:00
Lubosz Sarnecki b1541c2d1e st/oxr: Return XR_ERROR_SWAPCHAIN_RECT_INVALID.
For out of bounds imageRect offsets on quad layers.
2020-05-26 11:33:58 +01:00
Lubosz Sarnecki 1bad77efb4 st/oxr: Return XR_ERROR_SWAPCHAIN_RECT_INVALID.
For negative imageRect offsets on quad layers.
2020-05-26 11:33:58 +01:00
Lubosz Sarnecki 9c8d0ae3cc xrt: Pass the flip y on layer per layer basis.
st/oxr: Adopt to flip y in layers change.
c/client: Adapt to flip y in layers change.
Set true for GL and false for Vulkan.
2020-05-26 11:33:58 +01:00
Lubosz Sarnecki 9349193d0c st/oxr: Use new layer interface and accept multiple projection and quad layers.
Authered by Jakob Bornecrantz and Lubosz Sarnecki.
2020-05-26 11:33:58 +01:00
Jakob Bornecrantz cea8f93892 st/oxr: Fix missed change from MNDX_egl_enable name change 2020-05-21 11:20:32 +01:00
Jakob Bornecrantz d37f446def st/oxr: Update openxr header and switch to XR_MNDX_egl_enable 2020-05-20 18:08:56 +00:00
Ryan Pavlik 4638b0af7b build: Switch all CMake options to XRT_... to match what's used in source.
Also revise other small related parts of the build to make them more clear and consistent.
2020-05-12 11:52:51 -05:00
Lubosz Sarnecki 03074cd52e st/oxr: Unreleased swapchain must return XR_ERROR_LAYER_INVALID. 2020-05-11 20:21:58 +01:00
Jakob Bornecrantz 695ac70dab st/oxr: Silence warning about uninitialized variable and add todo (NFC) 2020-05-04 18:05:13 +01:00
Christoph Haag cf0e5d7861 st/oxr: store preferred path per binding, not per action
Fixes d62c2d2011

For any one action, multiple bindings may be suggested. The preferred/matched
input path depends on which binding is active.

Each bindings already stores a list of actions for which the suggested bindings
matched any of the input paths, just add a corresponding list *which* path matched.
2020-05-04 17:29:43 +02:00
Christoph Haag 2a58d1225f bindings: Don't create broken subpath for haptic output
This macro created two paths for haptics, the first of which was useless/wrong:
/user/hand/*/output/haptics/
/user/hand/*/output/haptics
2020-05-04 17:29:43 +02:00
Christoph Haag d62c2d2011 st/oxr: properly enable binding to /x and /y
Store Thumbstick, Trackpad etc. data internally in a vec2f.
The knowledge that a binding path ../x and ../y refers to the x and y components of this vec2f
is stored as an INPUT_REDIRECT_VEC2_X_TO_VEC1 or INPUT_REDIRECT_VEC2_Y_TO_VEC enum.

Actions now also store the index of the binding paths it matched to,
e.g. when an action binds ../trackpad/y to an input that provides bindings [../trackpad, ../trackpad/x, ../trackpad/y],
the index 2 is stored.

v2: Clarify preferred binding path index variable
2020-05-03 22:58:47 +00:00
Ryan Pavlik 53f9eb332d st/oxr: Fix more pointer conversion warnings. 2020-04-29 17:44:07 -05:00
Ryan Pavlik e89a3c1d8f st/oxr: Fix 32-bit warnings when checking for null handles 2020-04-29 17:44:07 -05:00
Ryan Pavlik d95219810e st/oxr: Add XRT_CAST_OXR_HANDLE_TO_PTR macro 2020-04-29 17:44:07 -05:00
Ryan Pavlik cecb8f31af st/oxr: Add and use XRT_CAST_PTR_TO_OXR_HANDLE macro to avoid warnings.
Other places we do these similar conversions will need this same modification.
2020-04-29 17:44:07 -05:00
Ryan Pavlik 974c68dead xrt: Re-arrange build to avoid unnecessary includes.
Avoid unintentionally including cJSON from the source tree when using system,
etc. This adds granularity to the usage of "external" sources.
2020-04-28 21:36:46 +00:00
Christoph Haag 2c818d5051 xrt: Add duration to xrt_output_value
The Vive Controller driver benefits from knowing the duration because
the hardware supports vibrating for a specific duration.
2020-04-28 10:22:42 +00:00
Christoph Haag 88ce6b5dcc st/oxr: Add Vive Wand and Valve Index Controller bindings
v2: add vive & index haptic output to khronos/simple_controller
2020-04-28 10:22:41 +00:00
Ryan Pavlik c191f4bc30 st/oxr: Codespell fixes 2020-04-24 15:30:46 -05:00
Jakob Bornecrantz e37d8f4cf5 xrt: Remove timestate from xrt_device interface 2020-04-16 17:29:34 +01:00
Jakob Bornecrantz c39cb39643 st/oxr: Use new xrt_instance object 2020-04-10 13:48:18 +01:00
Pete Black b6613db5d4 d/dd: Add Daydream driver 2020-03-11 21:36:49 +00:00
Christoph Haag de7d9de5ae st/oxr: Fill XrViewConfigurationView with new two call helper
The previous two call helper macro copied the entire input struct to output struct.
In particular this did not keep the .type and .next fields intact.

Rather than trying to keep those intact, each struct type should have its own fill function,
only filling in the data we actually want to fill in.
2020-03-11 05:10:07 +01:00
Ryan Pavlik 71c29425d4 build: Fix linking issues preventing the OpenXR runtime from working. 2020-03-04 09:54:47 -06:00
Ryan Pavlik 92205ab5be build: Refactor CMake build to use static libraries instead of object bundles.
This allows transitive dependencies to work easier and improves compatibility.
It takes a little bit more storage at build time, and possibly a little extra time.
2020-03-04 11:15:35 +00:00
Ryan Pavlik f3eac87504 xrt: Correct usage of XRT_MAYBE_UNUSED on functions.
It shouldn't be used on a function marked "static inline" - that's
sufficient to avoid the warning. So, it should almost never be in
a header.
2020-03-04 11:15:35 +00:00
Ryan Pavlik d4c5b37bc0 st/oxr: Fix 32-bit warnings 2020-03-03 10:50:41 +00:00
Ryan Pavlik 163b39b7a1 st/oxr: Fix some 32-bit porting warnings. 2020-03-03 10:33:14 +00:00
Ryan Pavlik d7121e8df4 st/oxr: Fix the declaration of our entry points.
We need the attributes and calling convention to match the header
2020-03-03 10:33:14 +00:00
Jakob Bornecrantz a925af90e7 xrt: Do not pass in timestate into compositor 2020-03-02 20:18:49 +00:00
Jakob Bornecrantz aeef692e08 xrt: Refactor out main compositor creating into own interface 2020-03-02 12:00:22 +00:00
Ryan Pavlik c590a3f69b st/oxr: Fix segfault in conformance 2020-01-31 10:47:52 +01:00
Ryan Pavlik 5592ed28da xrt: Make vkGetInstanceProcAddr prototype available. 2020-01-16 22:37:39 +00:00
Ryan Pavlik 871395d5b5 build: Adjust meson build equivalently 2020-01-14 12:28:23 -06:00
Ryan Pavlik c68d3bfe54 build: Adjust CMake build to allow actually disabling dependencies/options 2020-01-14 11:51:12 -06:00
Ryan Pavlik f834d20300 xrt: Move OpenXR platform defines to build system 2020-01-14 11:51:12 -06:00
Ryan Pavlik 67a561d0ea st/oxr: Fix ifdef guards 2020-01-14 11:51:12 -06:00
Jakob Bornecrantz c383a933ea st/oxr: Propegate device input active status through API 2020-01-13 21:59:37 +00:00
Ryan Pavlik 4cc9380f0b st/oxr: Fix missing include. 2020-01-09 17:36:24 -06:00
Ryan Pavlik 9e953083fc st/oxr: Move shipped binding data into a separate header to avoid re-declaration of statics 2020-01-09 17:35:54 -06:00
Christoph Haag bc20d84171 st/oxr: Also make sure to keep actions with outputs active 2020-01-09 02:13:08 +01:00
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 06ce6617f5 st/oxr: Port logger realloc to helper 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 447b3550e8 st/oxr: Fix enum types in shipped bindings 2019-12-07 18:24:56 +00: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
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 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
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
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
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
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 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
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 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 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 acd2c50470 aux/math: Rework offset transformation
This reverts commit 0d9aaae470, and changes it.
2019-10-08 11:19:14 +01:00
Jakob Bornecrantz 76527b73f8 st/oxr: Code style, pointer star location 2019-09-29 11:45:23 +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 387bc123f8 xrt: Expand tracking interface 2019-09-21 18:22:06 +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 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 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 557172f8ae st/oxr: Silence warning about results in binding code. 2019-08-16 10:54:53 -05: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