Commit graph

1592 commits

Author SHA1 Message Date
Ryan Pavlik 6fe801e766 st/oxr: Re-use a structure 2020-06-15 17:04:00 -05:00
Ryan Pavlik 6be05e2107 st/oxr: Factor out source cache teardown function 2020-06-15 17:04:00 -05:00
Ryan Pavlik 821706e0e4 u/hashmap: Add "empty" function.
Used for cleanup assertions to start with: i.e. at some known point,
the hash map should be empty.
2020-06-15 17:04:00 -05:00
Ryan Pavlik 4a4bed8df4 st/oxr: Handle treadmill user path 2020-06-15 17:04:00 -05:00
Ryan Pavlik 2a2157af66 st/oxr: Clean up comments 2020-06-15 10:46:29 -05:00
Ryan Pavlik 79b2cf6703 inc/xrt: Improve docs 2020-06-15 10:36:28 -05:00
Christoph Haag 8141a3c761 ipc: Reset waitframe semaphore when client disconnects
The semaphore was usually kept at a value of 1 after a client disconnected,
meaning the next client to connect was never blocked on it.
2020-06-15 15:47:56 +02:00
Jakob Bornecrantz cbb91904e9 st/oxr: Remove old validation that's now done in api function 2020-06-14 23:01:13 +01:00
Jakob Bornecrantz 2dcf4a819b st/oxr: Improve xrSuggestInteractionProfileBindings validation of input 2020-06-14 23:01:13 +01:00
Gonzalo Aguilar Delgado cdde7cd2c2 FIX #88: Add required dependencies 2020-06-13 17:05:14 +00:00
Jakob Bornecrantz e4a4a5e7b2 st/oxr: Use correct enum type when converting from eye visibility NFC 2020-06-13 13:58:14 +01:00
Ryan Pavlik 172ff0f434 ipc: Simplify code by just copying a structure. 2020-06-09 17:13:06 -05:00
Ryan Pavlik 1881bb6357 ipc: Further de-duplication of structures 2020-06-09 17:07:22 -05:00
Ryan Pavlik b6b5052d48 ipc: Remove structs that effectively duplicate xrt_layer_data
The only non-duplicate members are the swapchain IDs,
so store those in their own array as already done elsewhere in the
codebase.
2020-06-09 17:07:22 -05:00
Ryan Pavlik f407fb9461 ipc: Doc comments 2020-06-09 17:07:22 -05:00
Ryan Pavlik eaa4c186ce ipc: Port to using xrt_sub_image where possible.
This highlighted several places where we are not considering an image rect,
but possibly should be.
2020-06-09 16:26:01 -05:00
Ryan Pavlik 26ab046fba comp: Remove no-longer-needed comp_layer_quad struct.
Replaced by xrt_comp_layer_quad.
Also add some comments.
2020-06-09 16:19:39 -05:00
Ryan Pavlik 7446dc08d5 xrt: Rename output parameter of acquire_image to out_image.
As is tradition.
2020-06-09 15:56:26 -05:00
Ryan Pavlik 03f85fcd0a inc/xrt: Doc comment improvements 2020-06-09 15:52:33 -05:00
Ryan Pavlik bbe702475a build: Tell CMake when we expect a config file rather than a find module.
This silences some very large annoying warnings at configure time.
2020-06-09 15:35:45 -05:00
Ryan Pavlik 707ef862bc doc/changelog: Fix typo and formatting quirk that was confusing doxygen 2020-06-09 15:35:07 -05:00
Ryan Pavlik d7562ba65c fixup commit 2020-06-09 15:32:51 -05:00
Ryan Pavlik 8ffad1112f inc/xrt: Update docs to fix Doxygen warnings 2020-06-09 15:32:39 -05:00
Ryan Pavlik e0e5aeceda xrt: name xrt_swapchain pointers consistently "xsc" or similar.
As is tradition.
2020-06-09 15:29:46 -05:00
Jakob Bornecrantz 45c977d199 xrt: Introduce xrt_sub_image and xrt_layer_projection_view_data 2020-06-09 20:32:53 +01:00
Jakob Bornecrantz 259bd52dbd st/oxr: Convert layer bits from OpenXR to XRT 2020-06-09 19:04:48 +00:00
Jakob Bornecrantz 55e026245a xrt: Use new xrt_layer_data in layer functions 2020-06-09 19:04:48 +00:00
Jakob Bornecrantz 320c9ab3cb ipc+comp: Use new xrt_layer_data and friends struct 2020-06-09 19:04:48 +00:00
Jakob Bornecrantz 5912964ded ipc+comp: Even more make layers the same 2020-06-09 19:04:48 +00:00
Lubosz Sarnecki 08d81e5950 ipc+comp: Make layer structs more consistent.
Add missing fields.
Sort layer struct members.
ipc/protocol: Move xdev_id and name to common layer struct.
2020-06-09 19:04:48 +00:00
Jakob Bornecrantz 15be0209b9 xrt: Introduce xrt_layer_[quad|stereo_projection]_data struct 2020-06-09 19:04:48 +00:00
Lubosz Sarnecki cbb8573d35 xrt: Move layer enums to compositor header. 2020-06-09 19:04:47 +00:00
Lubosz Sarnecki b1d39e7f07 xrt: Move layer enum to xrt namespace. 2020-06-09 19:04:47 +00:00
Ryan Pavlik 435f6c5c89 build: Allow enabling inter-procedural optimization in CMake builds, if supported. 2020-06-09 12:03:08 -05:00
Christoph Haag 9c470ddc29 Add changelog for MR 369 2020-06-05 16:06:32 +02:00
Christoph Haag bc995e3aab ipc: Return XR_ERROR_INSTANCE_LOST instead of SIGABRT on the client side 2020-06-05 16:06:32 +02:00
Christoph Haag cc9b415a8f xrt: Add xrt_result_t return type to many functions
Many functions returned void and were assumed to always succeed, and some functions
returned only a bool to indicate vague success/failure.

Now that these functions get piped over IPC all of them have to be able to indicate
an IPC failure like for example an unreachable service.

With the xrt_result_t return type they now have the opportunity to report various
types of failures.
2020-06-05 16:06:32 +02:00
Christoph Haag db5db10a19 ipc: Replace ipc_result_t with global xrt_result_t
Functions down the line should be able to fail and return a status.

They can be called either through IPC or directly depending on compile settings,
therefore we need an internal result type for various XR_ERROR_* errors, but also IPC failure.

For now functions in ipc_client_utils.c only return XRT_SUCCESS or XRT_ERROR_IPC_FAILURE.
If there is no IPC failure, the generated protocol will extract and return the called functions'
actual return value from the reply.

v2: make failure results negative
2020-06-05 16:02:38 +02:00
Jakob Bornecrantz dab96ef356 st/oxr: Validate view configuration type 2020-06-04 21:56:08 +00:00
Jakob Bornecrantz 077087bb15 xrt: Introduce xrt_comp_fd_destroy to avoid some error prone casting 2020-06-04 16:37:06 +00:00
Ryan Pavlik b60219445a doc: Fix typo in changelog fragment. 2020-06-04 15:06:36 +00:00
Ryan Pavlik c39df58763 st/oxr: Additional doxygen improvements. 2020-06-03 17:26:35 -05:00
Ryan Pavlik 4ee0ad7767 comp/client: Decrease visibility of downcast helpers. 2020-06-03 16:28:36 -05:00
Ryan Pavlik d0468a7697 inc/xrt: Remove no-longer-needed fd-related downcast helpers. 2020-06-03 16:28:36 -05:00
Ryan Pavlik cc609f5fb7 comp/client: Use helper functions, comment. 2020-06-03 16:28:36 -05:00
Ryan Pavlik 0f7fe8f3fa inc/xrt: Add a specialized create_swapchain helper for xrt_compositor_fd 2020-06-03 16:28:36 -05:00
Ryan Pavlik b38a8e8c24 targets/service: Remove unneeded xrt_prober_create function. 2020-06-03 16:28:21 -05:00
Ryan Pavlik bc6cc85e7d xrt: Improve doxygen documentation. 2020-06-03 16:28:18 -05:00
Lubosz Sarnecki c62380c051 README: Document how to run Vulkan validation. 2020-06-03 11:17:51 +00:00
Lubosz Sarnecki 435d5a9b9e c/comp: Remove internal Vulkan validation init.
Instead of maintaining this chunk of code and build options, the Vulkan
loader can be used to load up validation. This has the advantage that no
layer name needs to be hard coded inside Monado, which was subject of
change recently.

Instead of using our own environment variable we can easily set the one
from the loader, e.g. `VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation`.
2020-06-03 11:17:51 +00:00