Commit graph

689 commits

Author SHA1 Message Date
Mateo de Mayo de3bfc193d u/var: Add button and u64 var kinds
Also: fix on_ff_vec3_var
2021-08-27 13:02:18 +00:00
Mateo de Mayo 167fe78af0 st/gui: Handle NULL pdev in video listing scene. 2021-08-27 13:02:18 +00:00
Christoph Haag 7c285be9e8 st/oxr: Support XR_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT_KHR
Trivial, because XR_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT_MND and
XR_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT_KHR enum values are aliased.
2021-08-27 02:38:05 +02:00
Christoph Haag 5e0891404e scripts: Add XR_KHR_swapchain_usage_input_attachment_bit extension 2021-08-27 02:21:58 +02:00
Jakob Bornecrantz 8225539178 st/gui: Make sure to unreference any frames pending for upload 2021-08-20 17:35:32 +01:00
Jakob Bornecrantz 36a8f949d5 st/gui: Make sure to add ogl texture sink to context 2021-08-20 17:18:42 +01:00
Jakob Bornecrantz ea2aa56af8 st/oxr: Add debug variable for adding extra sleep in wait frame 2021-08-17 12:04:49 +01:00
Christoph Haag 162915f022 p/prober: disable all drivers when qwerty is enabled
qwerty is auto probed, making HMDs that are not auto probed always take precedence.
When setting QWERTY_ENABLE=1 the intent is usually to exclusively use qwerty.
Therefore we default to disabling all other drivers when this variable is set.

To make the old behavior of adding qwerty devices with lower priority than actual
devices, the variable QWERTY_COMBINE=1 is introduced.
2021-07-16 15:15:28 +00:00
Christoph Haag bc8ac9ca3c st/oxr: Use OXR_MAX_BINDINGS_PER_ACTION instead of hardcoded 32
The hardcoded value 32 was actually wrong and caused a warning

../src/xrt/state_trackers/oxr/oxr_input.c:668:9: warning: 'oxr_binding_find_bindings_from_key' accessing 256 bytes in a region of size 128 [-Wstringop-overflow=]
  668 |         oxr_binding_find_bindings_from_key(log, profile, act->act_key, binding_points, &num);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2021-07-15 01:08:20 +02:00
Christoph Haag e2e13b7ac3 st/gui: Don't access first vec3 member as float array
It produces a warning

../src/xrt/state_trackers/gui/gui_scene_debug.c:141:9: warning: ‘igInputFloat3’ accessing 12 bytes in a region of size 4 [-Wstringop-overflow=]
  141 |         igInputFloat3(name, (float *) &value.x, "%+f", ImGuiInputTextFlags_ReadOnly);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2021-07-15 00:59:09 +02:00
Jakob Bornecrantz f725924723 st/gui: Make it possible to select the DepthAI camera in Video select UI 2021-07-13 15:01:00 +00:00
Jakob Bornecrantz 6beb57bf98 st/gui: Add support to record from ELP 3D camera 2021-07-13 15:01:00 +00:00
Jakob Bornecrantz 33563ccb7e st/gui: Correct order of arguments to xrt_fs_stream_start 2021-07-13 15:01:00 +00:00
Jakob Bornecrantz ae3a2179b9 st/gui: Check that we actually opened the video device 2021-07-13 15:01:00 +00:00
Jakob Bornecrantz 9e5df0f504 st/oxr: Calculate normalized sub-image offsets and sizes 2021-07-10 17:59:17 +01:00
Jakob Bornecrantz 390b06b22a st/oxr: Put all sub-image handling in one place (NFC) 2021-07-10 17:59:17 +01:00
Jakob Bornecrantz 570e7a5702 st/oxr: Tidy oxr_session_frame_end.c (NFC) 2021-07-10 17:59:17 +01:00
Jakob Bornecrantz 189aea97aa st/oxr: Refactor out end frame function into own file 2021-07-10 17:59:17 +01:00
Jakob Bornecrantz b8d88113c2 st/oxr: Add gfx to session gfx files 2021-07-10 17:59:17 +01:00
Christoph Haag 250ef94d71 st/oxr: Don't go to READY after EXITING
The STOPPING state has two possible follow up paths:

STOPPING -> IDLE -> READY
STOPPING -> IDLE -> EXITING

After EXITING, the application must call xrDestroySession; there is no meaningful
session state after EXITING.

To go to the READY state again, the application should first create a new session.

Applications that are lazy and drain the entire event queue and only handle
the last encountered state would be affected by "skipping" the EXITING state.
2021-07-02 15:19:00 +00:00
Christoph Haag bcc50dbd4f st/oxr: Add checks for Vulkan graphics bindings 2021-06-25 01:10:25 +02:00
Moses Turner d555b255fe st/gui: Add support for depthAI camera in record scene
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2021-06-10 14:32:07 -05:00
quic_zhibinw 76cf6aeae4 st/oxr: Transform projection layer pose to global space. 2021-06-10 17:08:04 +08:00
Ryan Pavlik 2c87f57ad1 cmake: Make sure st_oxr exposes its optional vulkan/gl dependencies
Fixes builds of tests on Windows
2021-06-08 12:05:23 -05:00
Christoph Haag f6e831d8fb steamvr: Don't crash if we don't have bindings for device 2021-05-13 14:08:24 +02:00
Christoph Haag 28a29f8152 st/oxr: Fix xrGetSystemProperties crash in headless mode
fixes #125

v2: Handle sys->xsysc being NULL
2021-05-11 02:10:58 +02:00
Christoph Haag d384c90104 st/oxr: Check that VkPhysicalDevice in graphics binding matches suggested device
XR_KHR_vulkan_enable2:
physicalDevice VkPhysicalDevice must match the device specified by xrGetVulkanGraphicsDevice2KHR

XR_KHR_vulkan_enable:
physicalDevice VkPhysicalDevice must match the device specified by xrGetVulkanGraphicsDeviceKHR

XR_KHR_vulkan_enable:
Add a trivial check that xrGetVulkanGraphicsDeviceKHR is called before xrCreateSession.
(our cached suggested device will be XR_NULL_HANDLE if it has not been called).
The XR_KHR_vulkan_enable2 code path already contains this check.
2021-05-07 13:42:49 +02:00
Jakob Bornecrantz e0bf0a423f st/oxr: Make Vulkan optional 2021-04-30 21:53:21 +00:00
Jakob Bornecrantz 4e572af96a st/oxr: Rename oxr_session_views to oxr_session_locate_views (NFC) 2021-04-27 01:44:16 +01:00
Jakob Bornecrantz 4da87635d1 st/oxr: Tidy xrLocateViews function 2021-04-27 01:44:16 +01:00
Ryan Pavlik 3cfaa2ea9f st/oxr: Port to using new zero/identity defines 2021-04-26 22:38:42 +00:00
Ryan Pavlik 3df2708a5d st/gui: Add missing copyright header to file 2021-04-26 14:08:57 +00:00
Christoph Haag 08c91d4136 st/oxr: Fix printing of the format in error message 2021-04-26 14:54:30 +02:00
Christoph Haag 686d12d66f p/prober: Print info for applied tracking override 2021-04-19 12:53:47 +02:00
Christoph Haag cffd009fe9 st/gui: Add tracker pose input name selection 2021-04-19 12:53:46 +02:00
Jakob Bornecrantz cabaece344 st/oxr: Print value on bad layer type 2021-04-15 21:27:13 +00:00
Jakob Bornecrantz 74c9531d4f st/oxr: Use right enum for ret check 2021-04-15 17:38:06 +01:00
Jakob Bornecrantz f434de27bd st/gui: Fix warning (false positive) 2021-04-15 17:38:05 +01:00
Jakob Bornecrantz 7c77625da9 st/oxr: Set visibility and z_order if multi compositor controls are available 2021-04-13 16:56:17 +00:00
Ryan Pavlik 43e0206abc st/oxr: Implement loader init extension. 2021-04-13 11:33:50 -05:00
Ryan Pavlik 142a9b4cb5 st/oxr: Add XR_KHR_loader_init and ..._android extension 2021-04-13 11:33:50 -05:00
Moses Turner 1062ef35fc st/oxr: switch blend mode to array 2021-04-11 04:08:49 -05:00
Ryan Pavlik 0450e317e1 cmake: prober requires drv_multi now. 2021-04-09 18:16:39 -05:00
Ryan Pavlik b56441702c st/oxr: Clean up Android message. 2021-04-09 18:11:52 +01:00
Christoph Haag e7f82c297a st/oxr: Fix running when only one hand suports hand tracking 2021-04-08 20:32:55 +02:00
Jakob Bornecrantz efdba1602f xrt: Pass along display_time_ns to layer begin 2021-04-07 00:50:10 +01:00
Jakob Bornecrantz 5c15b60cf2 st/oxr: Add more trace markers 2021-04-07 00:50:10 +01:00
Jakob Bornecrantz 1b0d67a895 st/gui: Add recording interface 2021-04-03 03:07:21 +01:00
Jakob Bornecrantz fac93948b3 st/gui: Add STB image writing support 2021-04-03 03:07:21 +01:00
Christoph Haag 91a3d8b9cb st/steamvr: Add rift controllers 2021-04-02 15:48:10 +00:00