Commit graph

342 commits

Author SHA1 Message Date
Ryan Pavlik cb69223532 aux: Move responsibility for clearing image FD to the helper. 2020-07-17 11:46:22 -05: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 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
Lubosz Sarnecki 261facd9f1 u/json: Fix a -Wmaybe-uninitialized on GCC 10.1.0. 2020-07-10 17:18:41 +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
Ryan Pavlik b2b2b0f4af u_logging: Fix comments/doxygen 2020-07-08 09:15:51 -05: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 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 166346ad6e u/json: Add u_json_get_matrix_3x3.
As seen in Vive driver.
2020-07-02 18:42:37 +02:00
Lubosz Sarnecki a9db6fbd40 u/json: Add fprintf error messages. 2020-07-02 18:42:37 +02:00
Lubosz Sarnecki 0bdd1133e4 u/json: Add u_json_get_vec3_array.
As seen in Vive driver.
2020-07-02 18:42:30 +02:00
Jakob Bornecrantz 5bad87690f ipc: Avoid deadlocks due to render timing helper not getting data in time 2020-07-01 13:22:03 +01:00
Jakob Bornecrantz 83081f9cc1 u/render_timing: Add helper code for frame timing 2020-06-24 00:56:45 +01:00
Jakob Bornecrantz f5359b655e os/threading: Add semaphore 2020-06-23 21:31:03 +01:00
Jakob Bornecrantz ef282c7df2 os/time: Add function to convert to a timespec struct 2020-06-23 21:31:03 +01:00
Jakob Bornecrantz e8d62d948f aux/vk: Add helper to create image view with component swizzles 2020-06-18 13:48:10 +01:00
Christoph Haag 7a1dbbe8a1 st/oxr: Ensure quaternion is normalized in xrLocateViews()
In rare cases the state tracker's pose transformations resulted in a quaternion
that accumulated float precision errors such that the norm of the quaternion was
not within float precision of 1.0 anymore.

Introduce a function math_quat_ensure_normalized() that can be used after multiple
operations have been performed on a quaternion.
2020-06-17 13:03:34 +02:00
Benjamin Saunders f81f568931 aux/vk: Add helper to translate usage bits to Vulkan bits 2020-06-16 00:01:48 +00:00
Benjamin Saunders fe734bb6e2 aux/vk: Add functions to create semaphores from FDs 2020-06-16 00:01:48 +00:00
Benjamin Saunders 3f744331e1 aux/vk: Declare consistent usage for xr swapchain images 2020-06-16 00:01:48 +00:00
Benjamin Saunders 27d2163f37 aux/vk: Delete nonsensical image usage case 2020-06-16 00:01:48 +00:00
Benjamin Saunders f45f482d5e aux/vk: Store Vulkan queue handle directly 2020-06-16 00:01:48 +00: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 bc6cc85e7d xrt: Improve doxygen documentation. 2020-06-03 16:28:18 -05: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
Jakob Bornecrantz ebd5773fb8 util: Add function for u_hashset to allocate a item 2020-06-02 13:02:04 +01:00
Jakob Bornecrantz 0d2a24b9a0 util: Add a index fifo 2020-06-02 13:02:04 +01:00
Jakob Bornecrantz ace4d0e825 os/threading: Incude xrt_compiler.h 2020-05-29 23:36:23 +01:00
Lubosz Sarnecki fc271ad5da aux/math: Add function to calculate quad model matrix. 2020-05-28 22:16:57 +00:00
Lubosz Sarnecki 68c5eecb96 aux/vk: Add image helper struct and functions. 2020-05-28 22:16:56 +00:00
Lubosz Sarnecki 589c7e4fef aux/vk: Add buffer helper structs and functions. 2020-05-28 22:16:56 +00:00
Lubosz Sarnecki 905040319a aux/vk: Use optimal tiling in vk_create_image_simple.
Fixes an validation issue on NVIDIA and should bring more performance.
2020-05-28 22:16:56 +00:00
Jakob Bornecrantz 9d791cdfd3 math: Use non-squared 'length' of quat in validation
Correctly validate quaternion using non-squard "length" instead of squard
"length", certain combinations of elements would produce valid regular "length"
but not valid squard ones.
2020-05-28 15:50:47 +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 ac38679641 r/debug: Fix ODR rule violation
Closes #79
2020-05-12 22:06:10 +01: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 e8d273bc41 aux/vk: Add vkFlushMappedMemoryRanges. 2020-05-11 20:22:51 +01:00
Lubosz Sarnecki 54985b110a aux/vk: Add descriptor set functions. 2020-05-11 20:22:50 +01:00
Lubosz Sarnecki f131739c00 aux/vk: Take VkExtent2D and VkImageUsageFlags in vk_create_image_simple. 2020-05-11 20:21:58 +01:00
Lubosz Sarnecki c09beb9efb aux/vk: Add vk_get_access_flags. 2020-05-11 20:21:58 +01:00
Lubosz Sarnecki 06ce79272d aux/vk: Add vk_check_error macro. 2020-05-11 20:21:58 +01:00
Lubosz Sarnecki 6aa1b4e571 aux/math: Add function to calculate view matrix from pose. 2020-05-11 20:21:58 +01:00
Lubosz Sarnecki 0b6d97ec8f aux/math: Add matrix_4x4 identity and matrix_4x4_muliply. 2020-05-11 20:21:58 +01:00
Jakob Bornecrantz 1744715a5d u/file: Do not print errors 2020-05-07 22:25:44 +00:00
Christoph Haag 344846b3e2 aux/vk: Print available GPUs with XRT_COMPOSITOR_PRINT_DEBUG
Useful for finding out a gpu index to use for XRT_COMPOSITOR_FORCE_GPU_INDEX.
2020-05-05 15:12:08 +02: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
Jakob Bornecrantz c7903e2d5e u/sink: Add support for XRT_FORMAT_UYVY422 2020-04-28 11:46:31 +00:00
Jakob Bornecrantz 1de7eb7cc9 t/calibration: Add support for XRT_FORMAT_UYVY422 2020-04-28 11:46:31 +00:00