Ryan Pavlik
2c126e08ff
st/oxr: Handle XRT_ERROR_IMAGE_CREATE_FLAG_UNSUPPORTED from compositor.
2020-08-14 19:58:01 +00:00
Ryan Pavlik
6820a7851d
comp/main: Refuse to create a swapchain if protected content bit requested.
2020-08-14 19:58:01 +00:00
Ryan Pavlik
33c20b1a65
inc/xrt: Add a new xrt_result_t code, for when we don't support the specified image flags.
...
If we don't support protected content (and our compositor doesn't),
we are to error out in a specific way in OpenXR. This permits us to do so.
2020-08-14 19:58:01 +00:00
Jakob Bornecrantz
4b5d25dc33
c/main: Stub in code for cube, cylinder and equirect layers
2020-08-14 19:15:02 +00:00
Jakob Bornecrantz
1292173b5e
c/client: Add support for cube, cylinder and equirect layers
2020-08-14 19:15:02 +00:00
Jakob Bornecrantz
4754dcd11b
ipc: Add support for cube, cylinder and equirect layers
2020-08-14 19:15:02 +00:00
Jakob Bornecrantz
8846c88eb1
st/oxr: Implement cylinder layer
2020-08-14 19:15:02 +00:00
Jakob Bornecrantz
7eeab2aca6
st/oxr: Implement the layer verification functions
2020-08-14 19:15:02 +00:00
Ryan Pavlik
bf37b9d999
comp: Use u_logging in some EGL code.
2020-08-13 17:34:05 -05:00
Ryan Pavlik
a6b6ab8e2c
ipc: Fix conditionals about handle types.
2020-08-13 17:34:05 -05:00
Ryan Pavlik
1bd2c66aa2
comp: Port to using u_handles
2020-08-13 17:34:05 -05:00
Ryan Pavlik
e092345292
aux/vk: Port to using u_handles
2020-08-13 17:34:05 -05:00
Ryan Pavlik
129c1a9ac4
a/util: Add u_handles module.
2020-08-13 17:34:05 -05:00
Ryan Pavlik
ab4ceee720
comp: Save/restore the correct texture binding on Android
2020-08-13 17:34:05 -05:00
Ryan Pavlik
e52539d1a3
aux/vk: Fix compile time conditionals
2020-08-13 17:34:05 -05:00
Ryan Pavlik
f9a613a349
comp: Fix compile-time conditionals
2020-08-13 17:34:05 -05:00
Ryan Pavlik
c5d1dec60c
comp: Move GLAD loading and extension checking to places with more information.
...
They will be sure to load the right combination.
2020-08-13 17:34:05 -05:00
Ryan Pavlik
3cfdfbde60
inc/xrt: Tighten requirements for AHardwareBuffer usage.
...
Needs to be building for platform 26+ (Android 8.0 or newer)
2020-08-13 17:34:05 -05:00
Ryan Pavlik
9087d1c7a9
xrt: Use our generic graphics buffer typedefs all over.
...
This adds some Android support in composition clients,
and fixes the breakage from 2 commits ago.
Thanks to Jakob for finding my error in an earlier version.
2020-08-13 17:34:05 -05:00
Ryan Pavlik
fc73ba0401
comp: Split OpenGL[ES] swapchain types
2020-08-13 17:34:05 -05:00
Ryan Pavlik
475192ec73
xrt: Rename "fd" references to "handle"
...
This breaks some Android pieces, which will be fixed shortly.
2020-08-12 17:11:42 -05:00
Ryan Pavlik
146218b346
xrt: Some clang tidy fixes.
...
A few suppressions as well where clang-tidy did the wrong thing.
2020-08-12 17:11:42 -05:00
Ryan Pavlik
f1432789ee
ipc: Const correctness
2020-08-12 09:51:07 -05:00
Jakob Bornecrantz
d27044a18d
ipc: Add a disabled loopback allocator
2020-08-12 15:26:43 +01:00
Jakob Bornecrantz
a834c9977e
ipc: Make it possible to give the client compositor a image allocator
2020-08-12 15:26:05 +01:00
Jakob Bornecrantz
01dcf59c53
xrt: Add new image native allocator interface
2020-08-12 15:24:48 +01:00
Jakob Bornecrantz
38703fc1d2
st/oxr: Add plumbing for layers
2020-08-11 01:51:24 +01:00
Jakob Bornecrantz
4a8ac6ebed
cmake: Add build flags for OpenXR layers
2020-08-11 01:48:31 +01:00
Jakob Bornecrantz
71e10fafcd
c/main: Fix warnings with asserts
2020-08-11 01:48:31 +01:00
Jakob Bornecrantz
5e78752a6e
xrt: Add a bunch of different layer types
2020-08-11 01:48:31 +01:00
Christoph Haag
026cc64681
comp: make nvidia display selectable with XRT_COMPOSITOR_FORCE_NVIDIA_DISPLAY
...
Allows temporarily adding a nvidia display name string to the whitelist without recompiling.
2020-08-11 00:44:31 +02:00
Christoph Haag
5ecd0a947d
comp: Move nvidia whitelist warning so it is displayed again
2020-08-10 20:48:29 +02:00
Jakob Bornecrantz
1e3508d2ce
st/oxr: Fix crash in oxr_session_poll in headless mode
...
Spotted and reported by svillar (IRC).
2020-08-10 16:49:20 +01:00
Jakob Bornecrantz
ec9ecf6332
d/psvr: Fix 3DOF tracking
2020-08-10 16:07:53 +01:00
Jakob Bornecrantz
ca786df18c
xrt: Make xrt_swapchain_create_info argument const
2020-08-07 19:15:18 +01:00
Jakob Bornecrantz
cd9da1c1e1
aux/vk: Make xrt_swapchain_create_info const
2020-08-07 17:00:10 +01:00
Christoph Haag
e48c748a57
xrt: suggest correct GPU in xrGetVulkanGraphicsDevice()
...
As before, on the service side the GPU index the compositor runs on can be selected with
* XRT_COMPOSITOR_FORCE_GPU_INDEX=INDEX1
By default xrGetVulkanGraphicsDevice() will suggest the same GPU the compositor runs on.
It is also possible to override the GPU index suggested to applications with
* XRT_COMPOSITOR_FORCE_CLIENT_GPU_INDEX=INDEX2
The reason this is both done on the service side is that if compositor and client run
on different GPUs, the swapchains use linear tiling instead of optimal tiling.
To make chosen GPUs comparable across the compositor's and the client's vulkan instance,
VkPhysicalDeviceIDProperties.deviceUUID is used.
2020-08-07 17:01:13 +02:00
Jakob Bornecrantz
b7977424fc
st/oxr: Get viewport information from the native compositor
2020-08-06 15:14:49 +00:00
Jakob Bornecrantz
adc6ca8e8a
c/main: Fill out all of the compositor info struct
2020-08-06 15:14:49 +00:00
Jakob Bornecrantz
ee48b44087
c/main: Remove internal compositor global flip_y
2020-08-06 15:14:49 +00:00
Jakob Bornecrantz
0b8d800dcc
ipc: Use xrt_compositor_info in proto
...
Transport the whole compositor info struct to the client instead of just
formats so that all information is easily moved over.
2020-08-06 15:14:49 +00:00
Jakob Bornecrantz
3bbea14f24
ipc: Remove flip_y arguments to compositor creation
2020-08-06 15:14:49 +00:00
Jakob Bornecrantz
d1d841e7c3
xrt: Use new info struct for compositor formats
2020-08-06 15:14:49 +00:00
Jakob Bornecrantz
0adfeb77a1
xrt: Add xrt_compositor_info
2020-08-06 15:14:49 +00:00
Jakob Bornecrantz
e8ca242967
xrt: Remove flip_y argument to native compositor creation
2020-08-06 15:14:49 +00:00
Jakob Bornecrantz
fb9ebe8b88
st/oxr: Add support for MND_swapchain_usage_input_attachment_bit
2020-08-06 14:28:23 +00:00
Jakob Bornecrantz
3a7a86aafc
vk: Refactor VkImageUsageFlags code into helper function
2020-08-06 14:28:23 +00:00
Jakob Bornecrantz
ce7da3941c
vk: Add support for XRT_SWAPCHAIN_USAGE_INPUT_ATTACHMENT
2020-08-06 14:28:23 +00:00
Jakob Bornecrantz
b64d683f6e
xrt: Add new input attachment swapchain usage
2020-08-06 14:28:23 +00:00
Christoph Haag
ae07036324
d/vive: Demote watchman timeout error message to trace
...
It's desirable to support running without basestations without spamming messages.
2020-08-05 21:11:24 +00:00
Christoph Haag
3a68f60d47
d/vive: Run watchman poll in separate thread
...
Watchman polling times out after 1 second when basestations are not present/off.
This should not block reading the IMU.
2020-08-05 21:11:24 +00:00
Ryan Pavlik
07f2e62e76
aux/vk: vk_create_semaphore_from_fd -> vk_create_semaphore_from_native
2020-08-05 20:50:00 +00:00
Ryan Pavlik
7b24fca58d
inc/xrt: Add a native handle type for graphics sync primitives
2020-08-05 20:50:00 +00:00
Ryan Pavlik
8889f81194
inc/xrt: Add defines for underlying handle type
2020-08-05 20:50:00 +00:00
Ryan Pavlik
d8ad620bd2
xrt: Update GLAD again, to a "merged" distribution.
...
This merges the OpenGL and OpenGL-ES code.
2020-08-05 20:50:00 +00:00
Christoph Haag
a5360f2237
comp: Free comp_render_layer on layer destruction
2020-08-05 20:32:51 +00:00
Christoph Haag
9a52e2384f
ipc: initialize msg_control buffer
2020-08-05 20:32:51 +00:00
Christoph Haag
2b20ee1f12
d/vive: close the zlib inflate stream
...
fixes memory leaks of zlib stream internal state
2020-08-05 20:32:51 +00:00
Christoph Haag
12c0f5d75a
d/vive: Destroy watchman hid device on shutdown
2020-08-05 20:32:51 +00:00
Christoph Haag
1f9e5cdfb6
comp: Free layer renderer on renderer destroy
2020-08-05 20:32:51 +00:00
Ryan Pavlik
574631166f
st/p: Downgrade an "error" message to a "debug" message.
...
This message is always triggered on my machine by v4l2loopback.
2020-08-05 11:12:16 -05:00
Christoph Haag
4a0aa434aa
build: Install manifest in openxr subdir with meson
...
Before: <PREFIX>/share/1/openxr_monado.json
After : <PREFIX>/share/openxr/1/openxr_monado.json
2020-08-05 01:55:43 +02:00
Christoph Haag
c019fce797
st/oxr: Don't crash when native compositor creation fails
...
fixes crash and exits gracefully after
compositor_init_swapchain - Window init_swapchain failed!
XR_ERROR_INITIALIZATION_FAILED in xrCreateSession: Failed to create a native compositor '-1'
2020-08-04 22:32:58 +02:00
Christoph Haag
5d4a49a1c7
st/oxr: Actually return invalid path error in sync actions
2020-08-03 19:00:17 +02:00
Christoph Haag
d06f1c9ef9
st/oxr: error when sync with subactionpath that no action has
2020-08-03 19:00:17 +02:00
Christoph Haag
983665d95c
st/oxr: Respect action set priority for exact matching inputs
...
* Only suppress action when synced actionset has relevant subpath
2020-08-03 19:00:02 +02:00
Christoph Haag
4c8e3eb95f
st/oxr: Don't return early when not using 'any' subpath
...
'any' is only set when xrSyncActions was called with XR_NULL_PATH.
When only left or right is set, the already existing following code does the job.
2020-08-03 18:59:56 +02:00
Lubosz Sarnecki
9c16f5ed69
d/vive/lighthouse: Handle lighthouse v2 reports.
...
Poll ligthouse reports in separate function. Check for report sizes
consistently.
2020-07-31 13:30:12 +02:00
Lubosz Sarnecki
04467942c1
d/vive: Add and use vive_lighthouse from ouvrt.
2020-07-31 13:30:12 +02:00
Lubosz Sarnecki
87a5c425cf
a/math: Add math_vec3_normalize.
2020-07-31 12:45:47 +02:00
Lubosz Sarnecki
7c8febd03d
u/logging: Add U_LOG_IFL.
2020-07-31 12:45:47 +02:00
Lubosz Sarnecki
bb7d05a918
d/vive: Print report type names.
...
Be fault tolerant on unexpected report.
2020-07-31 12:45:47 +02:00
Lubosz Sarnecki
c3ba93c1ce
d/vive: Poll pulse reports.
...
Make sensor polling function take processing callback and be more
generic.
2020-07-31 12:45:47 +02:00
Lubosz Sarnecki
2db3b6b218
d/vive: Open and enable watchman on Vive, Vive Pro and Index.
2020-07-31 12:45:13 +02:00
Lubosz Sarnecki
cbb1dd82da
d/vive: Remove unnesseccary clang-format off.
2020-07-31 12:35:03 +02:00
Jakob Bornecrantz
9ae720b9d4
xrt: Add all remaining swapchain creation flags
2020-07-29 14:46:17 +01:00
Jakob Bornecrantz
080fdacc70
comp: Remove some vkDeviceWaitIdle calls and document other
2020-07-24 09:12:22 +00:00
Ryan Pavlik
b70d14f6b0
st/oxr: Convert some more missed subaction path iterations to x-macro usage.
...
Also make Doxygen expand macros so that these usages still result
in reasonable developer docs.
2020-07-23 15:40:18 -05:00
Ryan Pavlik
a9a502952a
st/oxr: Fix multiplicity of bound_path per action.
...
Thanks to @haagch for the start of this patch.
2020-07-23 14:34:38 -05:00
Ryan Pavlik
ae59a3ce15
st/oxr: Add design documentation for OpenXR input subsystem.
2020-07-23 14:29:12 -05:00
Ryan Pavlik
5ba5e6b03b
st/oxr: Fix typo
2020-07-23 12:50:17 +01:00
Jakob Bornecrantz
ee6aa4ee1d
xrt: Make swapchain static image bit match OpenXR
2020-07-23 12:39:12 +01:00
Ryan Pavlik
a04c162ab3
st/oxr: Centralize the lists of subaction paths using x-macros.
2020-07-22 16:00:23 -05:00
Ryan Pavlik
e6abf3dea2
ipc: Docs
2020-07-22 16:17:09 +00:00
Christoph Haag
138fcc49d8
st/oxr: Fix haptic actions being disabled
...
fixes d226a60a
2020-07-22 00:45:44 +02:00
Jakob Bornecrantz
7818a5b9cf
st/oxr: Implement xrEnumerateBoundSourcesForAction
2020-07-21 22:41:13 +00:00
Jakob Bornecrantz
9f684dbc21
st/oxr: Add a very ugly stub implementation of xrGetInputSourceLocalizedName
2020-07-21 22:41:13 +00:00
Jakob Bornecrantz
53a0646e24
st/oxr: Add better verification in xrGetInputSourceLocalizedName
2020-07-21 22:41:13 +00:00
Jakob Bornecrantz
5e629b3437
st/oxr: Tidy header
2020-07-21 22:41:13 +00:00
Christoph Haag
d226a60aac
st/oxr: Combine input values
...
This enables binding two different inputs to the same action, for example
/user/hand/left/input/select/click and /user/hand/left/trigger/click to
the same grab action.
Also takes care of using the correct timestamp of the input that is
responsible for the last overall value change.
2020-07-21 20:59:07 +02:00
Jakob Bornecrantz
b87fd91bc8
st/oxr: Send XrEventDataInteractionProfileChanged events on interaction profile changes
2020-07-20 19:52:31 +01:00
Jakob Bornecrantz
56386aa1d7
st/oxr: Implement needed checks for xrGetCurrentInteractionProfile
2020-07-20 19:34:41 +01:00
Jakob Bornecrantz
b0593d7012
st/oxr: Better error message for unhandled case in xrGetCurrentInteractionProfile
2020-07-20 19:34:41 +01:00
Jakob Bornecrantz
18957e0636
st/oxr: Fix the any handiness controllers not getting assigned to right
2020-07-20 19:34:41 +01:00
Jakob Bornecrantz
9f11287fa3
st/oxr: A slightly better stub implementation of xrEnumerateBoundSourcesForAction
2020-07-20 19:34:41 +01:00
Jakob Bornecrantz
536e461776
ipc: Implement xrt_compositor::import_swapchain
2020-07-20 13:50:01 +00:00
Jakob Bornecrantz
11b2dfe213
ipc: Add function to import a swapchain
2020-07-20 13:50:01 +00:00
Jakob Bornecrantz
9c490127bb
ipc: Fix in_handles handling by syncing with the server
2020-07-20 13:50:01 +00:00
Jakob Bornecrantz
a41c1ce1c5
c/main: Implement xrt_compositor::swapchain_import
2020-07-20 13:50:01 +00:00
Jakob Bornecrantz
d5a702cd47
c/main: Use new Vulkan image allocator helper
2020-07-20 13:50:01 +00:00
Jakob Bornecrantz
ccaa6fa564
xrt: Add function to create swapchain from native images
2020-07-20 13:50:01 +00:00
Jakob Bornecrantz
b93017911e
xrt: Make xrt_compositor::create_swapchain return xrt_result_t
2020-07-20 13:50:01 +00:00
Jakob Bornecrantz
727e3bc2a6
vk: Add image allocator helper
2020-07-20 13:50:01 +00:00
Jakob Bornecrantz
a8a4e80746
vk: Use xrt_swapchain_create_info in vk_create_image_from_native
2020-07-20 13:50:01 +00:00
Jakob Bornecrantz
5a9fa0a7e6
vk: Remove unused vk_image
2020-07-20 13:50:01 +00:00
Jakob Bornecrantz
0d05eb6cae
xrt: Make some fields on xrt_gl_swapchain private
2020-07-20 13:50:01 +00:00
Jakob Bornecrantz
34843c3ffe
xrt: Make some fields on xrt_vk_swapchain private
2020-07-20 13:50:01 +00:00
Christoph Haag
f18c190eaa
st/oxr: Check if relating space to itself first
2020-07-20 15:41:17 +02:00
Christoph Haag
ddb528f002
st/oxr: Support locating stage space in local space
...
And the other way around.
Fixes hello_xr -s Local, which renders cubes at offset stage space locations,
relative to local space.
2020-07-20 14:05:31 +02:00
Christoph Haag
164eda38d4
st/oxr: use initial head pose as local space origin
...
Implements local space in xrLocateViews, xrLocateSpace, and Quad layers in xrEndFrame.
2020-07-19 23:55:20 +02:00
Ryan Pavlik
47a66e1bdf
build: Use OpenGLES CMake module to gate OpenGL|ES support
2020-07-17 15:17:42 -05:00
Ryan Pavlik
6f56d91c05
xrt: Add separate build config for OpenGL ES
2020-07-17 15:17:42 -05:00
Ryan Pavlik
4c5b38c836
st/oxr: Clean up GL/GLES image enumeration a bit for easier maintenance
2020-07-17 13:53:39 -05:00
Ryan Pavlik
852c9b589d
st/oxr: Handle Android better.
2020-07-17 13:53:39 -05:00
Ryan Pavlik
4a22851e4a
meson: Re-arrange config header code
2020-07-17 13:53:39 -05:00
Ryan Pavlik
19efff937e
inc/xrt: Sort defines in generated config header
2020-07-17 13:53:39 -05:00
Ryan Pavlik
910a3aae75
external: Update GLAD and add missing header
2020-07-17 13:53:39 -05:00
Ryan Pavlik
ebf1b01d48
comp: Improve OpenGL extension checking
2020-07-17 13:53:39 -05:00
Ryan Pavlik
2cce94799d
d/psvr: Fix hidapi include
2020-07-17 13:53:39 -05:00
Ryan Pavlik
4220638afd
xrt: use _USE_MATH_DEFINES to make sure M_PI gets defined.
2020-07-17 13:53:39 -05:00
Ryan Pavlik
8b954e12c1
build: Add missing jpeg include dir
2020-07-17 13:53:39 -05:00
Ryan Pavlik
1476d396f8
build: Enable the Android Vulkan platform when applicable.
2020-07-17 11:46:22 -05:00
Ryan Pavlik
8fdfb42d21
inc/xrt: Switch declaration order in xrt_handles to quiet Doxygen
2020-07-17 11:46:22 -05:00
Ryan Pavlik
cb69223532
aux: Move responsibility for clearing image FD to the helper.
2020-07-17 11:46:22 -05:00
Christoph Haag
4ec6f46717
comp/gl: hack: glFlush() before committing a layer
...
This works around corruption in layers on several drivers caused by
writes to the OpenGL textures not having finished when used by the
compositor.
This should be properly fixed with external semaphores later.
2020-07-17 17:11:35 +02:00
Christoph Haag
eb355f3643
st/oxr: Handle quad layer with reference space as base space again
...
fixes d64ef3df
2020-07-17 13:10:20 +02:00
Christoph Haag
d64ef3df74
st/oxr: Basic support for ActionSpace as base space in QuadLayer
2020-07-16 20:02:05 +00:00
Ryan Pavlik
82395b23bb
ipc: Use generic shmem functions now.
2020-07-16 13:06:07 -05:00
Ryan Pavlik
20c65e74e3
ipc: Define shmem utilities for Linux and Android
2020-07-16 13:06:07 -05:00
Ryan Pavlik
25627e55ca
inc/xrt: Add helpers for the handle types - null value, validity checker
2020-07-16 13:06:07 -05:00
Lubosz Sarnecki
db3a721946
comp/shaders: Remove has_sub option.
...
As we have subimage rects for all layers now.
2020-07-16 19:34:33 +02:00
Lubosz Sarnecki
7e35fcb8aa
comp/renderer: Provide subrect properties for projection layers.
2020-07-16 19:32:53 +02:00
Lubosz Sarnecki
984056674e
comp/shaders: Sample quad layers with texture().
2020-07-16 19:08:10 +02:00
Lubosz Sarnecki
2472deb95a
comp/layers: Remove layer type from constructor.
...
The value was not used anyway as it is not set at creation time, but
every frame. This avoids some confusion.
2020-07-16 19:08:10 +02:00
Lubosz Sarnecki
6222de38c9
comp/shaders: Rename quad shaders to layer.
...
As the shader is used for all layers we have, the generic name fits
better.
2020-07-16 19:08:10 +02:00
Lubosz Sarnecki
a27164ab43
comp/renderer: Render subimage properties in layer shader.
...
This patch passes the offset and extent properties to the layer shader
by extending the uniform. The fragment shader stage now also receives
the transformation uniform, which contains a has_sub boolean to
distinguish if the properties are set, so between projection and quad layers.
To avoid color bleeding the subimage sampling happens on a global pixel
coordinates basis as ivec2 using the GLSL texelFetch function.
Projection layers will be sampled as before.
2020-07-16 19:08:10 +02:00
Christoph Haag
a56fa20b50
build: Install tools with meson
2020-07-16 16:04:51 +02:00
Ryan Pavlik
ebc7a11e70
ipc: Support client->server "in_handles"
2020-07-16 11:51:16 +00:00
Ryan Pavlik
1aa2cdb89a
build: Move determination of Vulkan usage to build system.
...
Vulkan is still required for most actual uses of Monado, but this
makes the coupling weaker.
2020-07-16 10:17:30 +00:00
Ryan Pavlik
c3552ed420
xrt: Rename xrt_gfx_fd.h to xrt_gfx_native.h
2020-07-15 17:19:30 -05:00
Christoph Haag
ba17d35f7f
comp: Create second pipeline for premultiplied alpha blending
...
Fixes "Source Alpha Blending" conformance test.
2020-07-15 19:21:13 +00:00
Ryan Pavlik
54f56716fd
xrt: Rename references to compositor/swapchain/image_fd to ..._native.
...
Reflecting that the native buffer isn't an FD on all platforms.
2020-07-15 09:11:58 -05:00
Ryan Pavlik
86d93601d7
ipc: Work on Android using AHardwareBuffer instead of FDs for graphics
2020-07-14 16:37:55 -05:00
Ryan Pavlik
030e5564ff
xrt: Auto-detect Android in header
2020-07-14 16:37:55 -05:00
Ryan Pavlik
44fe0e7709
build: Handle Android NDK better.
2020-07-14 16:37:55 -05:00
Ryan Pavlik
60cf946dd7
ipc: Normalize parameter names
2020-07-14 16:37:12 -05:00
Ryan Pavlik
abc580d2b1
ipc: Replace "out_fds" with more generic "out_handles"
...
Also, finish porting client code to use factored-out utils.
2020-07-14 16:37:12 -05:00
Ryan Pavlik
040c82cb24
ipc: Port server side to use new factored-out utils
2020-07-14 16:24:26 -05:00
Ryan Pavlik
166c041421
ipc: Start providing handle marshalling util functions
2020-07-14 16:24:26 -05:00
Ryan Pavlik
0e0f4b780e
inc/xrt: Add handle typedefs, to use instead of "int" for file descriptors
2020-07-14 16:24:26 -05:00
Ryan Pavlik
1a692f5de6
ipc: Use factored-out utils on client side.
2020-07-14 16:24:26 -05:00
Ryan Pavlik
36f66ea630
ipc: Add factored-out basic message send/receive
2020-07-14 16:24:26 -05:00
Ryan Pavlik
a5bde51c81
ipc: Change return type of some server functions from int to xrt_result_t
2020-07-14 16:24:26 -05:00
Ryan Pavlik
c2e922b0f5
ipc: Formatting cleanup
2020-07-14 16:24:26 -05:00
Ryan Pavlik
87dbad9865
ipc: Have server utils return xrt_result_t
2020-07-14 16:24:26 -05:00
Ryan Pavlik
687beddcca
ipc: Replace ipc_connection_t usage with struct ipc_connection
2020-07-14 16:24:23 -05:00
Ryan Pavlik
cf68e11b97
ipc: Be more strict in type parsing
2020-07-14 16:18:17 -05:00
Ryan Pavlik
1b88c7e089
ipc: Move data structure out of generation script
2020-07-14 16:18:17 -05:00
Benjamin Saunders
1c78dd0246
c/client: Slightly improve barriers, taken from !360
...
Transplanted by Jakob, all the hard spec reading done by Ben.
2020-07-14 17:25:28 +01:00
Jakob Bornecrantz
c37dd46b0c
st/prober: Rework HMD logic a bit and put HMD always in first position
2020-07-14 12:55:18 +01:00
Christoph Haag
54f01b570c
build: Enable service less build with meson too
2020-07-14 02:16:06 +02:00
Christoph Haag
b073e3dfb9
xrt: Add support for assigned device roles
...
Abandons the assumption that in oxr_system.xdevs[], index 0 is HMD,
1 is left controller, 2 is right controller.
Now to represent the dynamically assigned roles, oxr_system.role contains
the index for a device in oxr_system.xdevs[] for head, left and right.
This role assignment happens on the client side and currently can not be updated
from the server side.
Also adds an enum that device drivers set indicating allowed assignments
(many controllers are physically designed to be held in a specific hand).
This also adds support for configurations with only a HMD and a right controller.
2020-07-13 18:03:01 +02:00
Christoph Haag
5788fb90a2
drivers: Add rotation/position tracking bool to xdev
...
xrGetSystemProperties() will return these values to application in XrSystemTrackingProperties
using the xdev assigned to head.
2020-07-13 18:03:01 +02:00
Christoph Haag
6429496439
build: respect meson install-active-runtime option
2020-07-13 14:15:13 +02:00
Christoph Haag
605e4e2027
build: Fix installing active_runtime.json on meson without DESTDIR
...
The -u setting for bash reported an error if DESTDIR is not set.
The syntax ${A-foo} returns the content of A if set, or the default "foo" if not,
"foo" being the empty string in this case.
2020-07-13 14:08:34 +02:00
Ryan Pavlik
d2cd0f4bb9
build: Fix destdir repetition when installing systemd units.
...
Found during packaging.
2020-07-10 18:11:37 -05:00
Lubosz Sarnecki
261facd9f1
u/json: Fix a -Wmaybe-uninitialized on GCC 10.1.0.
2020-07-10 17:18:41 +02:00
Lubosz Sarnecki
a5dc31359b
c/compositor: Set a window title.
2020-07-10 17:03:28 +02:00
Lubosz Sarnecki
499751e4fa
d/vive: Use VIVE_ERROR when vive_device is available.
2020-07-09 14:11:35 +02:00
Lubosz Sarnecki
8e682fdd1b
u_logging: Format logging output.
...
To be in line with other log prints, put the log level first.
For better readability, put the function in [braces].
Remove ":" as separator between level and function.
2020-07-09 13:38:07 +02:00
Lubosz Sarnecki
4d412edaa1
d/vive/protocol: Port to u_logging.
2020-07-09 13:38:07 +02:00
Lubosz Sarnecki
dce8da5130
d/vive/controller: Port to u_logging.
2020-07-09 13:38:07 +02:00
Lubosz Sarnecki
5dff60a93d
d/vive: Create common header for controller and hmd.
2020-07-09 13:38:07 +02:00
Lubosz Sarnecki
dfcff5e806
d/vive/device: Use VIVE_WARN and VIVE_INFO.
2020-07-09 13:38:07 +02:00
Lubosz Sarnecki
7121c260ae
d/vive/device: Replace old debug macros with new ones.
2020-07-09 13:38:07 +02:00
Lubosz Sarnecki
7be5efbe82
d/vive/prober: Prettify logging. rename methods.
2020-07-09 13:38:07 +02:00
Lubosz Sarnecki
eaea6888a7
d/vive: Port logging to u_logging.
2020-07-09 13:37:58 +02:00
Jakob Bornecrantz
deedd10a50
xrt: Tidy xrt_instance_create argument order and add doc-comment
2020-07-08 14:41:12 +00:00
Ryan Pavlik
323d794df3
ipc: Add a json schema for the IPC description
2020-07-08 09:15:51 -05:00
Ryan Pavlik
042fd54361
t/service: Make the socket RemoveOnStop.
2020-07-08 09:15:51 -05:00
Ryan Pavlik
b2b2b0f4af
u_logging: Fix comments/doxygen
2020-07-08 09:15:51 -05:00
Christoph Haag
763b122c3e
comp: Print info about AllowHMD when direct mode fails on nvidia
2020-07-08 15:43:05 +02:00
Jakob Bornecrantz
c5b930903e
st/oxr: Fix conformance failure and tidy up action set attached logic
...
This caused a action set to act as if it has been attached, one might say that
this commit fixes a overly attached action set.
Extreme programmed with Ryan Pavlik, which I also ~~stole~~ borrowed the header
comments from verbatim.
2020-07-06 20:11:35 +01:00
Jakob Bornecrantz
59b7bdeee0
st/oxr: Properly name MNDX_ball_on_a_stick_controller
2020-07-06 11:58:42 +01:00
Jakob Bornecrantz
fd8e19718c
st/oxr: Reorder extension in prefix order
2020-07-06 11:42:16 +01:00
Jakob Bornecrantz
8a1c74338c
st/oxr: Make script be up to date to what's generated
2020-07-06 11:42:16 +01:00
Jakob Bornecrantz
8ee7086ea6
xrt: Introduce xrt_swapchain_create_info
2020-07-04 11:04:07 +00:00
Jakob Bornecrantz
1b11abe6eb
xrt: Tidy xrt_compositor.h
2020-07-04 11:04:07 +00:00
Jakob Bornecrantz
ad266672f4
st/gui: Add a special UI for setting log level vars
2020-07-03 19:26:45 +01:00
Jakob Bornecrantz
20501b8e58
d/psmv: Use new log level var tracker
2020-07-03 19:01:55 +01:00
Jakob Bornecrantz
c4741cc49f
d/psmv: Use new logging level helper
2020-07-03 19:01:55 +01:00
Jakob Bornecrantz
9848f8b4b8
u/var: Add log level tracker
2020-07-03 19:01:55 +01:00
Jakob Bornecrantz
be0430a38c
u/debug: Add function to get logging level
2020-07-03 18:58:34 +01:00
Jakob Bornecrantz
ffcc06e099
d/psmv: Use new logging functions
2020-07-03 14:55:44 +01:00
Jakob Bornecrantz
b26c8135ae
u/*: Use new logging functions
2020-07-03 14:55:44 +01:00
Jakob Bornecrantz
38685eba38
u/log: Add logging helpers
2020-07-03 14:33:54 +01:00
Lubosz Sarnecki
fdffbfc68a
d/vive/controller: Print spew when receiving lighthouse data.
2020-07-02 19:29:14 +02:00
Lubosz Sarnecki
1071d7a50b
d/vive/controller: Uncomment and improve spew prints.
2020-07-02 19:29:14 +02:00
Lubosz Sarnecki
d047ce8af4
d/vive/controller: Add Vive tracker gen 2 support.
2020-07-02 19:29:14 +02:00
Lubosz Sarnecki
6662e0caef
d/vive/controller: Add Vive tracker gen 1 support.
2020-07-02 19:29:14 +02:00