Commit graph

5854 commits

Author SHA1 Message Date
Rylie Pavlik bd4312d019 t/sdl_test: Improve docs for sdl_compositor 2023-12-08 12:49:14 -06:00
Rylie Pavlik 5f99ce41e4 c/util: Improve docs for comp_base 2023-12-08 12:49:03 -06:00
Rylie Pavlik 52d17583db c/null: Improve docs for comp_null 2023-12-08 12:48:35 -06:00
Rylie Pavlik e85faec8d5 c/main: Improve docs for comp_compositor 2023-12-08 12:48:15 -06:00
Rylie Pavlik 8d393ad3fa c/multi: Improve docs/markup of multi_compositor.
This makes the xrt_compositor inheritance diagram in Doxygen complete.
2023-12-08 11:43:49 -06:00
Jakob Bornecrantz d97d7d75c7 st/oxr: Handle XR_REFERENCE_SPACE_TYPE_LOCALIZATION_MAP_ML 2023-12-08 12:11:49 +00:00
Jakob Bornecrantz 142969b509 u/misc: Only free memory if there was an allocation error 2023-12-08 12:11:49 +00:00
0y8w1x 66e8db5d5a d/ulv5: Add UltraLeap v5 driver 2023-12-05 16:07:32 +00:00
utzcoz 0428ce4b0f s/oxr: Add explicit casting for PFNEGLGETPROCADDRESSPROC
Signed-off-by: utzcoz <utzcoz@outlook.com>
2023-12-05 15:41:34 +00:00
utzcoz f09adc105f ext/openxr: Bump OpenXR headers to 1.0.32
1. Download and unzip from
   https://github.com/KhronosGroup/OpenXR-SDK/releases/tag/release-1.0.32.
2. Copy all header files in include directory to
   src/external/openxr_includes/openxr.

Signed-off-by: utzcoz <utzcoz@outlook.com>
2023-12-05 15:41:34 +00:00
Jakob Bornecrantz 0ee84ea4a8 t/common: Use new u_builder helper 2023-12-05 12:55:42 +00:00
Jakob Bornecrantz dbcf753b1e t/common: Tidy builders a bit [NFC] 2023-12-05 12:55:42 +00:00
Jakob Bornecrantz 972c929333 u/builder: Add new u_builder helper
This does some of the heavy lifting when it comes to managing the system
devices and the space overseer. The same code was replicated in basically
all of the builders, this lets us avoid that.
2023-12-05 12:55:42 +00:00
Ryan Pavlik 1d09587bac t/oxr: Clean up docs 2023-12-04 22:27:09 +00:00
Ryan Pavlik debd15f6da t/oxr_android: Clean up gradle 2023-12-04 22:27:09 +00:00
Ryan Pavlik 4cb14719a9 d/sample: Implement missing APIs 2023-12-04 22:27:09 +00:00
Rylie Pavlik 617a704b29 xrt: Fix comment typo 2023-12-04 11:54:01 -06:00
Rylie Pavlik 9c7851f076 xrt: Fix typos, clarify docs 2023-12-04 11:53:32 -06:00
Jakob Bornecrantz 79a2f3f3d6 d/remote: Tidy [NFC] 2023-12-01 18:51:01 +00:00
utzcoz 7485975bfb d/remote: Use socket_close for destroy
Signed-off-by: utzcoz <utzcoz@outlook.com>
2023-12-02 02:12:43 +08:00
Charlton Rodda 1b93431173 d/remote: Fix socket closing on Windows 2023-12-01 15:31:18 +00:00
Christoph Haag e2a6f0501e st/oxr: Fix swapchain format list assert 2023-12-01 14:34:31 +00:00
Jakob Bornecrantz d380414731 t/libmonado: Support recentering of local spaces 2023-11-28 12:43:37 +00:00
Jakob Bornecrantz d43334120c t/ctl: Support recentering of local spaces 2023-11-28 12:43:37 +00:00
Jakob Bornecrantz dfbe48a188 ipc: Add support for recentering local spaces 2023-11-28 12:43:37 +00:00
Jakob Bornecrantz a3a9782272 u/space_overseer: Implement recentering for supported setups 2023-11-28 12:43:37 +00:00
Jakob Bornecrantz b77d460d59 u/space_overseer: Improve comment [NFC] 2023-11-28 12:43:37 +00:00
Jakob Bornecrantz 74b6d263e9 u/pp: Add new error message to print 2023-11-28 12:43:37 +00:00
Jakob Bornecrantz 9b5cfadc64 xrt: Add function to request recentering of local spaces 2023-11-28 12:43:37 +00:00
Jakob Bornecrantz 8c1ee42fee a/tracking: Change destructor to be private 2023-11-27 19:49:24 +00:00
Jakob Bornecrantz e9d8e0db21 a/tracking: Tidy and document FrameMat [NFC] 2023-11-27 19:49:24 +00:00
Jakob Bornecrantz 9070894455 ipc: Verify length of received commands on Windows
Co-authored-by: Simon Zeni <simon.zeni@collabora.com>
2023-11-26 14:03:52 +00:00
Simon Zeni 81246de70a ipc: Read only the exact size of the ipc_command in client_loop on Linux 2023-11-26 13:45:21 +00:00
Simon Zeni 9b6eeb0bba ipc: Add ipc_command_size function to prototype generation 2023-11-26 13:45:21 +00:00
Christoph Haag e5060d166b st/oxr: Fix build with XR_FB_display_refresh_rate disabled 2023-11-24 16:03:09 +01:00
Christoph Haag c58f06f94c ipc: Fix type warning 2023-11-24 16:03:09 +01:00
Jakob Bornecrantz c197ba999f st/oxr: Add support for reference space usage 2023-11-21 21:37:06 +00:00
Jakob Bornecrantz a0a0f7cfa6 ipc: Add support for reference space usage 2023-11-21 21:37:06 +00:00
Jakob Bornecrantz 5a789ff623 u/space_overseer: Add support for reference space usage 2023-11-21 21:37:06 +00:00
Jakob Bornecrantz d80036fd0e xrt: Add reference space usage information 2023-11-20 22:05:34 +00:00
Jakob Bornecrantz 4fe85a0acc xrt: Add LOCAL_FLOOR and UNBOUNDED generic space poses 2023-11-20 22:05:34 +00:00
Jakob Bornecrantz fffdfa1c4b xrt: Refactor reference functions to be clearer 2023-11-20 22:02:06 +00:00
Jakob Bornecrantz 11ae300946 xrt: Tidy and improve docs in xrt_defines.h [NFC] 2023-11-20 22:02:06 +00:00
Jakob Bornecrantz a6d840b0b1 c/util: Fix leaks of image views in swapchain
This fixes a regression I introduced in !1417.
2023-11-20 21:55:11 +00:00
Jakob Bornecrantz add64c1531 c/util: Improve error paths in swapchain creation 2023-11-20 21:55:11 +00:00
Jakob Bornecrantz c6a4f62e6c c/util: Tidy comp_swapchain.c [NFC] 2023-11-20 21:55:11 +00:00
Jakob Bornecrantz 9ac135edce ipc: Share per client thread shutdown code [NFC]
The two paths was already identical, so just make it one.
2023-11-20 21:40:14 +00:00
Jakob Bornecrantz adc3fe879d c/main: Guard VkQueue access when calling vkQueuePresentKHR
The VkQueue in vkQueuePresentKHR is externally synchronized, so we need
to take the queue_mutex when we call that function.

Found this with the [latest validation layers][1] and the OpenXR CTS test
Swapchains. This has probably been a longstanding bug in Monado as that
particular code is fairly old.

[1]: https://github.com/KhronosGroup/Vulkan-ValidationLayers/pull/6631
2023-11-20 18:09:53 +00:00
Jakob Bornecrantz c3157335ef c/main: A few more uses of VK_CHK helpers [NFC] 2023-11-20 18:03:10 +00:00
Jakob Bornecrantz c7ec85cfd2 a/vk: Improve vk_print_result 2023-11-20 18:03:10 +00:00
Zhongwang Zhang ccb9f957bf st/oxr: Complete implementation of extension [XR_FB_display_refresh_rate] 2023-11-20 16:58:31 +00:00
Zhongwang Zhang 74df016dbf ipc: Implement display refresh rate functions 2023-11-20 16:58:31 +00:00
Zhongwang Zhang df07128590 c/multi: Implement display refresh rate functions 2023-11-20 16:58:31 +00:00
Zhongwang Zhang a9017c8501 c/main: Implement display refresh rates function stubs 2023-11-20 16:58:31 +00:00
Zhongwang Zhang 195efff9ba xrt: Add new API in xrt_compositor and xrt_multi_compositor_control interfaces 2023-11-20 16:58:31 +00:00
Zhongwang Zhang f84bef916f xrt: Add hz suffix, follow code style and add limit to refresh rate array 2023-11-20 16:58:23 +00:00
Simon Zeni 8f6603d019 st/oxr: Implement XR_KHR_vulkan_swapchain_format_list 2023-11-20 09:40:20 -05:00
Jakob Bornecrantz 24ecd455ea st/oxr: Track graphics extension used to create session 2023-11-20 09:40:20 -05:00
Simon Zeni fb023e001a a/vk: Use formats list from xrt_swapchain_create_info in create_image 2023-11-20 09:40:20 -05:00
Simon Zeni 2571ef8d57 xrt: Add formats list to xrt_swapchain_create_info 2023-11-18 12:30:58 +00:00
Simon Zeni b727aa9df7 xrt: Use uint32_t instead of int64_t for swapchain format 2023-11-18 12:30:58 +00:00
Simon Zeni afb12a4c5d xrt: Fix graphics includes in xrt_openxr_includes 2023-11-18 12:30:54 +00:00
Rylie Pavlik 8f380925b8 c/main: Handle return value 2023-11-17 11:19:37 -06:00
Rylie Pavlik 3ebac955a6 c/main: More propagate errors 2023-11-17 11:19:37 -06:00
Rylie Pavlik a23cefd968 c/main: Fix duplicate include [NFC] 2023-11-17 11:19:37 -06:00
Rylie Pavlik b3d4ee2186 c/util: Propagate some Vulkan errors 2023-11-17 11:19:37 -06:00
Rylie Pavlik 9e5c0d72e1 c/util: Make sure to zero array_size
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-11-17 11:19:37 -06:00
Jakob Bornecrantz 580ff4ceb8 c/util: Re-order functions in comp_swapchain.c [NFC] 2023-11-17 11:19:37 -06:00
Jakob Bornecrantz ab3c7e99ff c/util: Use vk_mini_helpers for image destruction 2023-11-17 11:19:37 -06:00
Rylie Pavlik bafdd8ddbc a/vk: Improve documentation for vulkan error handlers 2023-11-17 11:19:37 -06:00
Jakob Bornecrantz d28e647744 st/oxr: Make debug utils forcible
And don't always turn it on for XR_KHR_vulkan_enable, as it would
result in crashes on old Vulkan drivers (like those on Pixel 3).
2023-11-17 16:39:55 +00:00
Simon Zeni 0fe8737ec5 cmake: Fix build with SDL2 on Alpine Linux
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
Co-authored-by: Rylie Pavlik <rylie.pavlik@collabora.com>
2023-11-16 14:06:54 +00:00
Jakob Bornecrantz 7e8d35a1a8 st/oxr: Use function helper [NFC] 2023-11-16 00:17:39 +00:00
Jakob Bornecrantz 3060690cbe d/ohmd: Tidy includes [NFC] 2023-11-16 00:17:39 +00:00
Jakob Bornecrantz 37e46a9083 d/ohmd: Fix warnings [NFC] 2023-11-16 00:17:39 +00:00
Jakob Bornecrantz 28315ecdc4 d/vive: Follow common naming of update_inputs [NFC] 2023-11-16 00:17:39 +00:00
Jakob Bornecrantz b02645980b d/wmr: Follow common naming of update_inputs [NFC] 2023-11-16 00:17:39 +00:00
Jakob Bornecrantz c8bb2009f2 xrt: Tidy xrt_device [NFC] 2023-11-16 00:17:39 +00:00
Rylie Pavlik 9a4bc4d9c7 monado: Adding IWYU pragmas 2023-11-15 12:37:07 -06:00
Rylie Pavlik 0ac6fdae94 scripts: Add include-what-you-use (iwyu) related scripts and configs 2023-11-15 12:37:07 -06:00
Rylie Pavlik e4be3cbd96 c/util: Fix doxygen warning 2023-11-15 11:11:22 -06:00
Rylie Pavlik 99e2e005f8 c/render: Fix doxygen warning 2023-11-15 11:11:22 -06:00
Rylie Pavlik ac69a14782 build: Suppress warnings from external headers 2023-11-15 11:11:22 -06:00
Rylie Pavlik 4671d1adb2 a/vive: Fix doxygen warning 2023-11-15 11:11:22 -06:00
Rylie Pavlik 0fab8c23b4 c/client: Fix doxygen warnings 2023-11-15 11:11:22 -06:00
Rylie Pavlik 4ef986aab0 st/oxr: Fix doxygen warning 2023-11-15 11:11:22 -06:00
utzcoz 4c1fd41641 gradle: Migrate gradle's buildToolsVersion to property one
Signed-off-by: utzcoz <utzcoz@outlook.com>
2023-11-15 10:06:20 -06:00
utzcoz 33602482a2 xrt/android: Migrate deprecated flavorDimensions gradle API
Signed-off-by: utzcoz <utzcoz@outlook.com>
2023-11-15 10:06:20 -06:00
utzcoz 1e82e8e5f0 xrt/android: Move extractNativeLibs to build script for openxr_android
It's recommended by Android Studio when upgrading AGP.

Signed-off-by: utzcoz <utzcoz@outlook.com>
2023-11-15 10:06:20 -06:00
utzcoz 2561475fc4 xrt/android: Enable buildFeature aidl for ipc/android
It's recommended when upgrading AGP with Android Studio.

Signed-off-by: utzcoz <utzcoz@outlook.com>
2023-11-15 10:06:20 -06:00
utzcoz 30ebd2fe1b xrt/android: Apply Java code format by latest google-java-format
Signed-off-by: utzcoz <utzcoz@outlook.com>
2023-11-15 10:06:20 -06:00
utzcoz 7d61a6f892 xrt/android: Bump google-java-format to 1.18.1
Use the latest google-java-format to support JDK17 for AGP 8.x.

Signed-off-by: utzcoz <utzcoz@outlook.com>
2023-11-15 10:06:20 -06:00
Jakob Bornecrantz 33498dc6b2 st/oxr: Make misc extensions a build time option 2023-11-15 13:16:50 +00:00
Jakob Bornecrantz b7299ead15 st/oxr: Make interaction profiles a build time option 2023-11-15 13:16:50 +00:00
Jakob Bornecrantz 179c10c399 st/oxr: Properly guard misc extensions with ifdefs 2023-11-15 13:16:50 +00:00
Jakob Bornecrantz 60df8b60ba st/oxr: Properly guard interaction extensions access with ifdefs 2023-11-15 13:16:50 +00:00
Jakob Bornecrantz d71082b5e1 st/oxr: Properly check all extension interaction profiles 2023-11-15 13:16:50 +00:00
Simon Zeni 818e519f50 xrt: make get_visibility_mask return xrt_return_t 2023-11-15 12:51:04 +00:00
Christoph Haag 7cd151484e st/oxr: Add forgotten newline to quirks output [NFC] 2023-11-15 12:38:59 +00:00
Jakob Bornecrantz 6e8a40112b st/oxr: Handle view index for visibility mask 2023-11-15 12:03:06 +00:00
Jakob Bornecrantz 9a09d7956d xrt: Add view_index to visibility mask getter
And add helper caller function.
2023-11-15 12:02:08 +00:00
Jakob Bornecrantz 6123deaa75 u/mask: Scale output to FoV of the view 2023-11-15 12:02:08 +00:00
Jakob Bornecrantz 0064d16f47 u/mask: Tidy function 2023-11-15 12:02:08 +00:00
Jakob Bornecrantz 8bdc2f1edf ipc: Fix visibility mask leak 2023-11-15 12:02:08 +00:00
Zhongwang Zhang bb6e8eb9f8 st/oxr: Handle the XR_SESSION_NOT_FOCUSED case for XRInput 2023-11-15 11:47:32 +00:00
Jakob Bornecrantz 88cf637e95 ipc: Check return of ipc_call_space_create_semantic_ids 2023-11-14 20:27:15 +00:00
Jakob Bornecrantz 7c96a23325 ipc: Tidy ipc_generated_protocol.h generator function 2023-11-14 19:38:05 +00:00
Jakob Bornecrantz 195d45d960 ipc: Protect ipc_generated_protocol.h with cpp header guard 2023-11-14 19:24:13 +00:00
Simon Zeni 96be7675ed st/oxr: Implement XR_KHR_visibility_mask 2023-11-14 17:02:24 +00:00
Simon Zeni c1ce722d6d st/oxr: Add view index verify helper 2023-11-14 17:02:24 +00:00
Simon Zeni 5656f86c47 ipc: Add get_visibility_mask 2023-11-14 17:02:24 +00:00
Simon Zeni 1ec26ded40 u/mask: Introduce u_visibility_mask 2023-11-14 17:02:24 +00:00
Jakob Bornecrantz 69afb62742 xrt: Add visibility mask interface 2023-11-14 10:49:46 -05:00
Jakob Bornecrantz 2d79fb1a3f st/oxr: Enable XR_MSFT_unbounded_reference_space 2023-11-14 12:51:28 +00:00
Jakob Bornecrantz 72a68cf54b st/oxr: Enable XR_EXT_local_floor 2023-11-14 12:51:28 +00:00
Jakob Bornecrantz 0c2f1e83e0 st/oxr: Expose unbounded if extension enabled and space is supported 2023-11-14 12:51:28 +00:00
Jakob Bornecrantz c2c74b8b85 st/oxr: Expose local_floor if extension enabled and space is supported 2023-11-14 12:51:28 +00:00
Jakob Bornecrantz 2fbe588f66 st/oxr: Validate XrReferenceSpaceType in common code
Also deal with the different types of error code returns that the CTS expects.
2023-11-14 12:51:28 +00:00
Jakob Bornecrantz 6cb275803c st/oxr: Make reference space type support per system
Let's systems support different sets of references spaces.
2023-11-14 12:51:28 +00:00
Jakob Bornecrantz 1b80d7182e ipc: Add support for local_floor 2023-11-14 12:43:58 +00:00
Jakob Bornecrantz f11c1fa699 u/space: Add support for local_floor 2023-11-14 12:43:58 +00:00
Jakob Bornecrantz c5b800b324 d/remote: Add support for local_floor 2023-11-14 12:43:58 +00:00
Jakob Bornecrantz 050db98b7d xrt: Add local_floor to xrt_space_overseer
Used to implement XR_EXT_local_floor.
2023-11-14 12:43:58 +00:00
Jakob Bornecrantz 83b77285bd ipc: Use check helpers in other client code as well 2023-11-14 01:20:51 +00:00
Jakob Bornecrantz bfaf615d4f ipc: Replace IPC_CHK_CALL macro with other helper 2023-11-14 01:20:51 +00:00
Jakob Bornecrantz 8d61577081 ipc: Add xrt check return helpers 2023-11-14 01:20:51 +00:00
Jakob Bornecrantz 440b1f2660 ipc: Add ipc_print_result helper 2023-11-14 01:20:51 +00:00
Jakob Bornecrantz 3de7bab023 c/util: Fix synchronisation errors with scratch images on gfx path 2023-11-13 23:09:43 +00:00
Christoph Haag 7efd580a70 st/oxr: CTS fix: return XR_SUCCESS for no action sets synced 2023-11-13 17:11:57 +00:00
Weijie Wang 86c3e217cc c/main,a/android,external: Add argument to specify display mode id for surface creation 2023-11-13 16:09:11 +00:00
Jakob Bornecrantz 4a8400538c ipc: Use message channel's log_level in client 2023-11-13 12:47:12 +00:00
Jakob Bornecrantz 2d7041c797 ipc: Move ipc_message_channel functions to own files
What actually happened:

  copy src/xrt/ipc/shared/{ipc_utils.h => ipc_message_channel.h} (95%)
  rename src/xrt/ipc/shared/{ipc_utils_unix.c => ipc_message_channel_unix.c} (99%)
  rename src/xrt/ipc/shared/{ipc_utils_windows.cpp => ipc_message_channel_windows.cpp} (99%)
  rewrite src/xrt/ipc/shared/ipc_utils.h (94%)
2023-11-13 12:47:12 +00:00
Jakob Bornecrantz 850e57a002 ipc: Move non-channel functions to utils [NFC] 2023-11-13 12:47:12 +00:00
Jakob Bornecrantz 5dfdab9e80 ipc: Split UNIX and Windows utils implementations more 2023-11-13 12:47:12 +00:00
Jakob Bornecrantz 5e92df460d ipc: Tidy Windows utils file [NFC] 2023-11-13 12:47:12 +00:00
Jakob Bornecrantz f0c2167fb8 ipc: Tidy UNIX utils files [NFC] 2023-11-13 12:47:12 +00:00
Jakob Bornecrantz a339d7adf4 ipc: Remove unused function [NFC] 2023-11-13 12:47:12 +00:00
Michael Graham 255b62e892 d/wmr: Add Dell Visor support to WMR driver 2023-11-13 11:56:13 +00:00
Jakob Bornecrantz cec787ba0f ipc: Add variable number of views get function 2023-11-09 18:37:47 +00:00
Jakob Bornecrantz 7251417569 ipc: Add functions to lock/unlock the client connection 2023-11-09 17:56:27 +00:00
Jakob Bornecrantz e576424995 ipc: Add ability to do variable length calls 2023-11-09 17:56:27 +00:00
Jakob Bornecrantz 6d990ba480 ipc: Refactor proto generation a little bit 2023-11-09 17:49:35 +00:00
Zhongwang Zhang d6168fdbb4 st/oxr: Add KHR_vulkan_enable rdc capture support 2023-11-09 13:45:48 +00:00
Zhongwang Zhang e328c42121 st/oxr: RenderDoc support on Vulkan/GLES client sides and Android platform
Makes it so RenderDoc can be captured by the button in UI.
2023-11-09 13:45:48 +00:00
Zhongwang Zhang b1aedcf1d5 st/oxr: Enable VK_EXT_debug_utils extension for client side on the platform that support it 2023-11-09 13:45:48 +00:00
Zhongwang Zhang aadb9517f3 st/oxr: Enable RenderDoc compiling on Android 2023-11-09 13:45:48 +00:00
Zhongwang Zhang f93d08c7f5 c/client: Add renderdoc_enabled implementation for VK and EGL
Currently only used on Android platforms.
2023-11-09 13:45:48 +00:00
Zhongwang Zhang 23595274ee c/client: Allow passing down debug_utils_enabled flag 2023-11-09 13:45:48 +00:00
Zhongwang Zhang 3dde1f2d27 a/vk: Enable VK_EXT_debug_utils to be enabled in given 2023-11-09 13:45:48 +00:00
Zhongwang Zhang 51690cf20e a/vk: Add RenderDoc helpers
Adds helper for inserting frame delimiter.
2023-11-09 13:45:48 +00:00
Zhongwang Zhang 017e2b2f29 xrt: Enable passing down renderdoc status 2023-11-09 13:45:43 +00:00
Zhongwang Zhang 0f257e1bed xrt: Enable passing down VK_EXT_debug_utils enabled status 2023-11-09 13:45:23 +00:00
Jarvis Huang 9e913b5a31 c/main: Support creating surface with title on Android 2023-11-08 17:51:29 +00:00
Jarvis Huang 4f90666b75 external: Update android-jni-wrap 2023-11-08 17:51:24 +00:00
Jakob Bornecrantz 60bbded2e2 ipc: Remove left over static roles 2023-11-07 22:57:44 +00:00
Jakob Bornecrantz f1d275708d libmonado: Fix dynamic roles 2023-11-07 22:57:44 +00:00
Jakob Bornecrantz 14d94d8d9a t/common: Fix North Star builder
Closes #296
2023-11-07 22:51:27 +00:00
Ryan Pavlik 51fa07cfd6 xrt: Better documentation for revised system devices/roles interface 2023-11-07 22:36:58 +00:00
Weijie Wang fdfe2fc459 ipc: Increase the duration of the starting timeout 2023-11-06 15:40:23 +00:00
Jakob Bornecrantz 5da1086d26 a/vk: Name VkInstance once we have the needed VkDevice
Note this is currently disabled due to bugs in Vulkan Loader / Mesa.
2023-11-06 12:59:09 +00:00
Jakob Bornecrantz e84d47400e a/vk: Disable naming of VkDescriptorSet objects
Mesa RADV leaks the names on descriptor pools we use reset on.
2023-11-06 12:59:07 +00:00
Jakob Bornecrantz e7bb70909f a/vk: Disable naming of VkSurfaceKHR objects
Causes crashes and asserts on Ubuntu 22.04 Mesa.
2023-11-06 12:58:22 +00:00
Jakob Bornecrantz 3f0d95d71f a/vk: Disable naming of VkInstance objects
Mesa as of this patch doesn't currectly support setting debug names on
VkInstance. And the Vulkan loader had a bug before 1.3.261 that would cause
crashes if trying to set the name on VkInstance.

faeb94c2df
2023-11-06 12:56:55 +00:00
Jakob Bornecrantz 2aa00dbf8f a/vk: Add VK_NAME_OBJ_DISABLED helper 2023-11-04 17:03:02 +00:00
Jakob Bornecrantz bb87f54730 a/vk: Make VK_NAME_OBJECT type safe 2023-11-04 17:02:56 +00:00
Jakob Bornecrantz e84ad85fc2 a/vk: Add object type to string helper 2023-11-04 15:04:26 +00:00
Jakob Bornecrantz 5b9e70f3a8 c/render: Fix named objects 2023-11-03 21:23:35 +00:00
Jakob Bornecrantz 70548ee0e9 t/common: Refactor lighthouse builder to use vive_builder helper 2023-11-03 19:14:43 +00:00
Jakob Bornecrantz be1b4ba5a6 a/vive: Add builder helper 2023-11-03 19:14:43 +00:00
Jakob Bornecrantz 332b32b71f ipc: Refactor and tidy client connection
Also move git hash check as early as possible.
2023-11-03 18:18:31 +00:00
Jakob Bornecrantz bfffb0c5c4 ipc: Constify client connection argument 2023-11-03 18:18:31 +00:00
Simon Zeni e67f9d7e52 a/vk: Name Vulkan objects 2023-11-03 16:26:56 +00:00
Simon Zeni 7cba92e933 c/util: Name Vulkan objects 2023-11-03 16:26:56 +00:00
Simon Zeni 2a513c14fe c/render: Name Vulkan objects 2023-11-03 16:26:56 +00:00
Simon Zeni 38be815f6d c/client: Name Vulkan objects 2023-11-03 16:26:56 +00:00
Simon Zeni c75db60478 c/main: Name Vulkan objects 2023-11-03 16:26:56 +00:00
Jakob Bornecrantz b90c397997 c/main: Tidy window surface creation code 2023-11-03 16:04:36 +00:00
Simon Zeni 4a1ff65856 a/vk: Remove VK_EXT_debug_marker 2023-11-03 16:04:36 +00:00
Simon Zeni c7dc483b9a a/vk: Use VK_EXT_debug_utils to name objects 2023-11-03 16:04:36 +00:00
Jakob Bornecrantz 91d4e399c8 a/vk: Add VK_EXT_debug_utils 2023-11-03 16:04:36 +00:00
Mateo de Mayo 347ae3ce22 t/slam: Use locks for CSV writers
Fixes a race condition that produced weirdly written csv files.
2023-11-02 21:34:05 +00:00
Mateo de Mayo 28b097338b t/slam: Add CSVWriter class 2023-11-02 21:34:05 +00:00
Jakob Bornecrantz 05d04b3ea0 ipc: Fix compile on musl 2023-11-02 15:06:02 +00:00
Hui Xu 7c6b0d1e98 ipc: Add macro TEMP_FAILURE_RETRY
- to ignore the signal -4 (ENTR)
2023-11-02 14:25:21 +00:00
Jarvis Huang 2e41280ae9 st/oxr: Route log output to Android logcat 2023-10-31 19:31:26 +00:00
Simon Zeni 9b288a6a1a c/[util/shader]: Implement cylinder layer for compute renderer 2023-10-28 19:50:58 +01:00
Simon Zeni 31cde143a1 c/[util/shaders]: Implement equirect2 layer for compute render 2023-10-28 19:47:51 +01:00
Simon Zeni ec26005952 c/shaders: Use fma in compute shader 2023-10-28 19:47:51 +01:00
Simon Zeni c4251cb907 c/util: Replace is_view_index_visible helper by is_layer_view_visible 2023-10-28 19:47:51 +01:00
BabbleBones 3aa2386950 d/steamvr_lh: handle unknown role hints 2023-10-25 23:27:30 -04:00
BabbleBones d5eeb65af9 d/steamvr_lh: clean up logs and clean up unused tracker inputs 2023-10-25 23:27:30 -04:00
BabbleBones 940a0290ea d/steamvr_lh: fix vive wand early hand enumeration 2023-10-25 23:27:30 -04:00
Jakob Bornecrantz 2f586030be t/common: Fix Rift-S builder 2023-10-25 14:34:55 +01:00
Jakob Bornecrantz cbf26357d1 c/client: Add helpers to unwrap native swapchains and compositors 2023-10-24 14:07:43 +00:00
Jakob Bornecrantz d0617c04d5 c/render: Remove old layer render shaders 2023-10-24 12:33:05 +00:00
Jakob Bornecrantz 2245811d1e c/main: Remove layer renderer 2023-10-24 12:33:05 +00:00
Jakob Bornecrantz 3293def0cb c/main: Remove layer renderer integration in renderer 2023-10-24 12:33:05 +00:00
Jakob Bornecrantz 958d62fcab c/main: Remove old graphics dispatch helpers 2023-10-24 12:33:05 +00:00
Jakob Bornecrantz 3dcd555a6f c/main: Use new comp_render helpers to render frame 2023-10-24 12:33:05 +00:00
Jakob Bornecrantz c5f4f0ab7a xrt: Remove old roles
Also remove all fallbacks helpers now.
2023-10-24 09:24:49 +00:00
Jakob Bornecrantz 1d476d4e32 st/oxr: Update role debug printing 2023-10-24 09:24:49 +00:00
Nico Marniok 5e48d22ecd st/oxr: Add input device hot-switch support
Co-authored-by: Korcan Hussein <korcan.hussein@collabora.com>
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-10-24 09:24:49 +00:00
Korcan Hussein f60ffe5af7 st/oxr: Clone profiles to session on action sets attachment.
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-10-24 09:24:49 +00:00
Korcan Hussein d033955678 st/steamvr_drv: Add support for new dynamic device roles 2023-10-24 09:24:49 +00:00
Korcan Hussein 60ae73f571 ipc: Add support for dynamic device roles 2023-10-24 09:24:49 +00:00
Jakob Bornecrantz 5a38cbc4f0 st/prober: Add support for new dynamic device roles 2023-10-24 09:24:49 +00:00
Jakob Bornecrantz f6b1cc140d t/cli: Add support for new dynamic device roles 2023-10-24 09:24:49 +00:00
Jakob Bornecrantz 9331c8bb0a t/common: Add support for new dynamic device roles 2023-10-24 09:24:49 +00:00
Jakob Bornecrantz 2c49c0f9a7 t/sdl_test: Add support for new dynamic device roles 2023-10-24 09:24:49 +00:00
Jakob Bornecrantz dcdf270d13 d/remote: Add support for new dynamic device roles
Currently static.
2023-10-24 09:24:49 +00:00
Jakob Bornecrantz ccf6a4c8e3 u/system_helpers: Add static system device helper
As compared to one that can handle dynamic devices.
2023-10-24 09:24:49 +00:00
Nico Marniok 2718f0506e xrt: Add dynamic roles to xrt_system_devices
Doesn't fully remove the old way yet.

Co-authored-by: Korcan Hussein <korcan.hussein@collabora.com>
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-10-24 09:24:49 +00:00
Jakob Bornecrantz d266b8d65a c/util: Add cylinder and equirect2 in graphics layer squasher
Co-authored-by: Simon Zeni <simon.zeni@collabora.com>
Co-authored-by: Charlton Rodda <charlton.rodda@collabora.com>
2023-10-23 22:20:41 +01:00
Jakob Bornecrantz 669e37220c c/util: Add to_tangent for view state 2023-10-23 22:20:41 +01:00
Simon Zeni 0d0addca82 c/util: Add calc_mv_inv_full function
Co-authored-by: Charlton Rodda <charlton.rodda@collabora.com>
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-10-23 22:20:41 +01:00
Simon Zeni 38f1b35ac0 c/util: Compute eye and world inverse view matrix
Co-authored-by: Charlton Rodda <charlton.rodda@collabora.com>
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-10-23 22:20:41 +01:00
Jakob Bornecrantz 2c2cacc8f1 c/util: Add mathinclude 2023-10-23 22:20:41 +01:00
Jakob Bornecrantz 3b174b0dab c/render: Add cylinder and equirect2 shaders
Co-authored-by: Simon Zeni <simon.zeni@collabora.com>
Co-authored-by: Charlton Rodda <charlton.rodda@collabora.com>
2023-10-23 22:20:41 +01:00
Jakob Bornecrantz 505a54bf8f c/render: Make UBO one shared layout available to fragment shader as well 2023-10-23 21:56:58 +01:00
Charlton Rodda f4980d35ea c/render: Fix typos [NFC] 2023-10-23 21:56:58 +01:00
Gabriele Boccone ce90c0a1c7 t/common: Fix creation on no driver available
Only say we can create a system if we have a driver in legacy builder.
2023-10-23 19:52:19 +01:00
Gabriele Boccone b500272c0b st/prober: Quit without crashing if no driver is available 2023-10-23 19:51:44 +01:00
Zhongwang Zhang 85fcbfaefe c/client: Make vulkan log configurable 2023-10-20 14:18:30 +01:00
Christoph Haag ef47498137 ipc: Fix session deactivation negative array index access
It is possible for s->global_state.active_client_index to be -1 when
update_server_state_locked is called:

ipc_server_activate_session is only called from
ipc_handle_compositor_predict_frame, which is only called from
ipc_compositor_wait_frame.

So it is possible to deactivate a session that was never activated.
2023-10-19 15:37:01 +02:00
Jakob Bornecrantz eee17ee2ff u/builders: Refactor space overseer creation helper 2023-10-19 11:28:22 +01:00
Jakob Bornecrantz e805209fcd d/opengloves: Refactor creation 2023-10-19 11:28:22 +01:00
Jakob Bornecrantz 8b30819b35 t/common: Refactor WinMR builder [NFC] 2023-10-19 11:28:22 +01:00
Jakob Bornecrantz 0a8fa312d6 t/common: Refactor SimulaVR builder [NFC] 2023-10-19 11:28:22 +01:00
Jakob Bornecrantz 201ea799ac t/common: Refactor Simulated builder [NFC] 2023-10-19 11:28:22 +01:00
Jakob Bornecrantz fb8c941257 t/common: Refactor Rift-S builder [NFC] 2023-10-19 11:28:22 +01:00
Jakob Bornecrantz 09c75b6aaf t/common: Refactor RGB builder [NFC] 2023-10-19 11:28:22 +01:00
Jakob Bornecrantz 841fc7c644 t/common: Refactor QWERTY builder [NFC] 2023-10-19 11:28:22 +01:00
Jakob Bornecrantz d9329d1c7c t/common: Refactor Nreal Air builder [NFC] 2023-10-19 11:28:22 +01:00
Jakob Bornecrantz 9a27a32b9c t/common: Refactor North Star builder [NFC] 2023-10-19 11:28:22 +01:00
Jakob Bornecrantz 1d8bfc7532 t/common: Refactor Lighthouse builder [NFC] 2023-10-19 11:28:22 +01:00
Jakob Bornecrantz d2ceb81070 t/common: Refactor Legacy builder [NFC] 2023-10-19 11:28:22 +01:00
Jakob Bornecrantz e58926662f t/common: Don't destroy frame context on failure
This is handled later in the builder.
2023-10-19 11:28:22 +01:00
Jakob Bornecrantz 0b9a8ea860 t/common: Return error message proper failure in legacy builder 2023-10-19 11:28:22 +01:00
Jakob Bornecrantz 08ec4e0259 u/system_helpers: Refactor hand-tracker helper getters 2023-10-19 11:28:22 +01:00
Jakob Bornecrantz 464a95abed u/system_helpers: Tidy functions [NFC] 2023-10-19 11:28:22 +01:00
Jakob Bornecrantz 3184941c09 d/rs: Fix warnings [NFC] 2023-10-18 17:30:00 +01:00
Jakob Bornecrantz f5021dcf5a d/nreal_air: Silence warning [NFC] 2023-10-18 17:30:00 +01:00
Jakob Bornecrantz 8110fceb39 d/nreal_air: Tidy [NFC] 2023-10-18 17:28:24 +01:00
Jiali Zhang 8f70291cad c/client: Expose size limit for swapchains 2023-10-18 15:20:26 +01:00
Jiali Zhang 900c43a6e2 st/oxr: Verify max swapchain size 2023-10-18 15:14:21 +01:00
Jiali Zhang bbb1de1b0f xrt: Add size limit for swapchain 2023-10-18 15:14:21 +01:00
Jakob Bornecrantz 93f1c0e288 st/oxr: Refactor device role getters 2023-10-13 17:12:23 +01:00
Korcan Hussein 44a2562acd st/oxr: Increase use of action ref in binding code
Make `oxr_action_attachment_bind` only use `oxr_action_ref` params.
2023-10-13 17:12:23 +01:00
Jakob Bornecrantz 1a720c4814 c/util: Add graphics render helpers 2023-10-13 01:15:20 +01:00
Jakob Bornecrantz 8427a33196 c/util: Rename render compute file 2023-10-13 00:45:20 +01:00
Jakob Bornecrantz 0bbbd1b507 c/util: Refactor out render helpers to header 2023-10-13 00:45:20 +01:00
Jakob Bornecrantz b97ca79b5e c/util: Prefix compute helpers with cs 2023-10-13 00:45:20 +01:00
Jakob Bornecrantz 8f7c58e70a c/render: Add graphics layer rendering code 2023-10-13 00:45:20 +01:00
Jakob Bornecrantz 73639f7b37 c/render: Add graphics layer shaders 2023-10-13 00:45:20 +01:00
Jakob Bornecrantz bcccfc2f21 c/render: Make it possible to set clear colour when starting render pass 2023-10-13 00:45:20 +01:00
Jakob Bornecrantz a9cdba2ce5 c/main: Enable timewarp for gfx fast path 2023-10-10 15:33:57 +01:00
Jakob Bornecrantz 4a8a36f620 c/render: Enable timewarp to be used on mesh shader 2023-10-10 15:33:57 +01:00
Jakob Bornecrantz 899f02e17c c/render: Add timewarp to mesh shader
Currently disabled.
2023-10-10 15:33:57 +01:00
Jakob Bornecrantz 52b93a5a29 c/render: Make ubo upload and descriptor setting shareable 2023-10-10 14:33:07 +00:00
Jakob Bornecrantz 8ce3971fe9 c/render: Make descriptor layout creation function shareable 2023-10-10 14:33:07 +00:00
Jakob Bornecrantz 5bc9ff8f13 c/render: Make gfx descriptor pool shareable 2023-10-10 14:33:07 +00:00
Jakob Bornecrantz 89c99de598 c/render: Remove unused render_gfx_view and other fields on render_gfx 2023-10-10 14:33:07 +00:00
Jakob Bornecrantz ff51653ffd c/render: Refactor gfx mesh shader allocation and dispatch 2023-10-10 14:33:07 +00:00
Jakob Bornecrantz 93272b684c a/math: Add projection matrix making function 2023-10-10 14:30:48 +00:00
Jakob Bornecrantz 11fba8d79f a/math: Add missing files to CMakeLists.txt [NFC] 2023-10-10 14:30:48 +00:00
Jakob Bornecrantz ae31778032 a/math: Add missing C declaration specifier [NFC] 2023-10-10 14:30:48 +00:00
Jakob Bornecrantz 50b5e6445e a/math: Organize base and api file [NFC] 2023-10-10 14:30:48 +00:00
BabbleBones 238647d7e1 d/steamvr_lh: Add tundra as generic tracker 2023-10-09 22:03:17 -04:00
Jakob Bornecrantz d1ce6c15ac c/render: Use sub-allocation for mesh shader UBOs 2023-10-06 15:21:12 +01:00
Jakob Bornecrantz 06ddfe32df c/render: Add scaffolding for sub-allocating UBOs 2023-10-06 15:21:12 +01:00
Jakob Bornecrantz 00891b3452 c/render: Add simple sub-allocation code 2023-10-06 15:21:12 +01:00
Jakob Bornecrantz 0b7deed16f u/system_helpers: Make system devices easier to embed 2023-10-06 14:51:48 +01:00
Jakob Bornecrantz 77efa57e0a c/render: Make library usable on it's own in cmake 2023-10-05 12:47:51 +01:00
Jakob Bornecrantz ace0ca62c6 c/render: Expose uv to tangent lengths function
Also document it better.
2023-10-05 12:47:51 +01:00
Jakob Bornecrantz 975ca891c3 c/render: Refactor gfx distortion dispatch 2023-10-05 12:47:51 +01:00
Jakob Bornecrantz 996195f544 c/main: Refactor gfx dispatch 2023-10-05 12:47:51 +01:00
Jakob Bornecrantz b7dbdae304 c/main: Refactor vertex rot getting in renderer 2023-10-05 12:47:51 +01:00
Jakob Bornecrantz c81356e0c8 c/main: Refactor view poses getting in renderer 2023-10-05 12:47:51 +01:00
Jakob Bornecrantz 0362834904 c/main: Tidy layer headers 2023-10-05 12:47:51 +01:00
Jakob Bornecrantz 05a9617874 c/util: Fix timewarp logic being inverted for fast path 2023-10-04 16:28:38 +01:00
Jakob Bornecrantz 87b3b2ea5a c/render: Constify arguments [NFC] 2023-10-04 01:04:03 +01:00
Jakob Bornecrantz b5a9300479 c/render: Tidy header includes in shaders [NFC] 2023-10-04 01:04:03 +01:00
Jakob Bornecrantz ae3cf44263 c/render: Refactor shader loading define [NFC] 2023-10-04 01:04:03 +01:00
Jakob Bornecrantz 6e7a0a621c c/render: Use define helpers in gfx code 2023-10-04 01:04:03 +01:00
Jakob Bornecrantz b8a226bf7b c/render: Use define helpers in buffer code 2023-10-04 01:04:03 +01:00
Jakob Bornecrantz 78a638a6cd c/render: Use define helpers in shaders code 2023-10-04 01:04:03 +01:00
Jakob Bornecrantz f468e124c2 c/render: Use define helpers in compute code 2023-10-03 21:51:03 +00:00
Jakob Bornecrantz c93f0d75d8 c/render: Use define helpers in resources code 2023-10-03 21:51:03 +00:00
Jakob Bornecrantz 19da398713 c/render: Use define helpers in distortion code 2023-10-03 21:51:03 +00:00
Jakob Bornecrantz d72627ceb7 a/vk: Fix leak in extension checking code 2023-10-03 20:57:11 +00:00
Jakob Bornecrantz cf1f03b175 a/vk: Remove unused vk_has_error 2023-10-03 01:11:14 +01:00
Jakob Bornecrantz 6d43e3e4b7 a/vk: Remove unused vk_check_error define 2023-10-03 01:11:14 +01:00
Jakob Bornecrantz f4455271c9 a/vk: Remove unused vk_check_error_with_free define 2023-10-03 01:11:14 +01:00
Jakob Bornecrantz e10c0e5d40 c/main: Use VK_CHK_WITH_RET instead of vk_check_error 2023-10-03 01:11:14 +01:00
Jakob Bornecrantz f75eabea29 a/vk: Use VK_CHK_WITH_RET instead of vk_check_error 2023-10-03 01:11:14 +01:00
Jakob Bornecrantz 8c512f9890 a/vk: Introduce VK_CHK_* helpers 2023-10-03 01:11:14 +01:00
Jakob Bornecrantz 42080b068c a/vk: Add mini defines helpers 2023-10-03 01:11:14 +01:00
Jakob Bornecrantz 0fb3e9a943 a/vk: Use vk_print_result instead of vk_has_error 2023-10-03 01:11:14 +01:00
Jakob Bornecrantz 6316bf39a9 a/vk: Add vk_print_result helper 2023-10-03 01:11:14 +01:00
Jakob Bornecrantz 0fa30c0fbe c/main: Print error on bad fast path state 2023-10-02 21:48:50 +01:00