Commit graph

5516 commits

Author SHA1 Message Date
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