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
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