Commit graph

3136 commits

Author SHA1 Message Date
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
Jakob Bornecrantz 7bd1dba1d8 xrt: Add normalized sub-image offset and size in layer data
This makes the compositor not have to care about texture size.
2021-07-10 17:58:54 +01:00
Moses Turner ff7033e8b8 doc: Document !858
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
Co-authored-by: Moses Turner <moses@collabora.com>
2021-07-09 20:24:38 -05:00
Moses Turner e312422e61 t/gui: Add tracing support 2021-07-09 20:24:38 -05:00
Jakob Bornecrantz 94d029ed15 d/dai: Add tracing support 2021-07-09 20:23:49 -05:00
Jakob Bornecrantz 09513d73af d/v4l2: Add tracing support 2021-07-09 21:43:21 +01:00
Jakob Bornecrantz c278618ec1 t/hsv: Add tracing support 2021-07-09 21:38:02 +01:00
Jakob Bornecrantz cdf30b00e1 u/sink: Add tracing support 2021-07-09 21:36:57 +01:00
Jakob Bornecrantz e04decbe64 u/trace_marker: Add sink category 2021-07-09 19:19:50 +01:00
Christoph Haag 9ba24e3b15 t/ctl: Fix error message when toggling io fails 2021-07-07 00:50:07 +02:00
Christoph Haag e21f4a2458 t/ctl: Add usage information 2021-07-07 00:49:28 +02: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
Moses Turner 184d155bd1 doc/tracing: add 'Value doesn't exist' gotcha 2021-07-02 00:41:14 -05:00
Jakob Bornecrantz 5838d737b3 u/sink: Tidy and add some comments to queue sink (NFC) 2021-06-27 00:59:24 +00:00
Jan Schmidt 8192e74f76 d/wmr: Compute visible region for render rectangle.
Use the distortion function to calculate the visible limits of the
display and then configure the rendered FoV angles accordingly.
2021-06-26 03:52:32 +10:00
Jan Schmidt dfe932ffd7 d/wmr: Add an extensible headset map.
Add a mechanism for recognising known headsets and handling specific
init/deinit sequences for those that need it.
2021-06-26 03:52:29 +10:00
Dan Weatherford 6bb3577b1b d/wmr: Implement Lenovo explorer support.
Recognise the Lenovo explorer device
2021-06-26 03:52:29 +10:00
Jan Schmidt bad625965a d/wmr: Extract JSON configuration from the firmware.
Pull in the WMR config obfuscation key and extract the JSON
calibration data.

Based on a patch from Dan Weatherford <sabretooth@gmail.com>
2021-06-26 03:52:26 +10:00
Dan Weatherford 3ca80e9607 d/wmr: Add functions to read raw config data
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2021-06-26 03:52:26 +10:00
Jan Schmidt 0cf7b4a9b3 d/wmr: Add render distortion configuration
Take the parameters from the headset configuration and the existing
render FoV, and use them to instantiate a distortion mesh.

TODO: Reverse the distortion in order to calculate good FoV range
that covers the full view for each headset.
2021-06-26 03:52:23 +10:00
Jan Schmidt f663727b07 d/wmr: Add some groundwork for config parsing.
Sketch out some groundwork for parsing WMR config blocks,
using some hard-coded values from my headset for now. Later,
this will be parsed from the headset JSON blob.
2021-06-26 03:52:16 +10:00
Dan Weatherford fabf01ff39 aux/math: Add math_quat_slerp() 2021-06-25 17:40:07 +01:00
Jan Schmidt 4581a7a9a6 aux/math: Implement math_matrix_3x3_inverse.
Add a function to invert 3x3 matrices, to reverse 2D
affine transforms.
2021-06-25 17:40:07 +01:00
Christoph Haag bcc50dbd4f st/oxr: Add checks for Vulkan graphics bindings 2021-06-25 01:10:25 +02:00
Moses Turner 7461c57043 cmake: make ulv2 build a little better 2021-06-23 23:40:43 +01:00
Moses Turner 960e68a976 cmake: option for forcing coloured compiler output 2021-06-23 23:39:16 +01:00
Moses Turner 140e4a04b5 .gitignore: tidy and ignore .cache/ 2021-06-23 23:39:15 +01:00
Jakob Bornecrantz 47470cc8e2 d/ns: Use fread when reading from config file 2021-06-21 12:29:31 -05:00
Moses Turner 4390b800f2 doc: Document !839 2021-06-21 12:29:31 -05:00
Moses Turner 3569e4f2ed d/ns: Fix 3D distortion FOV calc
co-authored-by: Nico Zobernig <nico.zobernig@gmail.com>
2021-06-21 12:29:31 -05:00
Moses Turner bcadbea3aa d/ns: Clean utility_northstar a bit 2021-06-21 12:29:31 -05:00
Moses Turner 7e385aa810 d/ns: Big refactor 2021-06-21 12:29:31 -05:00
Moses Turner 93ec678110 aux/util: Add North Star "VIPD" and "polynomial 2D" distortion methods 2021-06-21 12:29:31 -05:00
Moses Turner 017997fba3 aux/math: Add math_map_ranges function 2021-06-21 12:29:31 -05:00
Moses Turner 01bfed1694 aux/util: Make new u_extents_2d as alternative to u_device_simple_info 2021-06-21 14:49:35 +00:00
Jakob Bornecrantz e554f9ee02 ipc: Fix NULL check stopping main app visibility events from working 2021-06-18 20:13:46 +01:00
Ryan Pavlik d4c2feab05 doc: cleanup/clarification pointing out that some desired docs are already written.
They just had slightly jargon-y names that you already had to know the architecture.
2021-06-18 10:57:16 -05:00
Christoph Haag ccb9777a47 d/vive: Set hand tracking values to actives
fixes !716 which introduced the need for setting hand joint active status.
2021-06-16 23:17:07 +02:00
Ryan Pavlik ad44f42b24 aux/vk: Add fence import for windows 2021-06-15 17:37:14 -05:00
Ryan Pavlik 2d20a6436c comp: Wrap a unistd include for Windows. 2021-06-15 17:37:14 -05:00
Jakob Bornecrantz 9813ec07c6 doc: Document !841 2021-06-15 19:45:14 +00:00
Jakob Bornecrantz ebc2208a73 c/main: Also resize on VK_SUBOPTIMAL_KHR 2021-06-15 19:45:14 +00:00
Jakob Bornecrantz 9996d686e4 c/main: Tidy 2021-06-15 19:45:14 +00:00
Jakob Bornecrantz 1eebc12780 c/main: Refactor out viewport calculation into own function 2021-06-15 19:45:14 +00:00
Jakob Bornecrantz 6d011e25d4 c/main: Give the correct queue family argument to vkGetPhysicalDeviceSurfaceSupportKHR 2021-06-15 19:45:14 +00:00
Jakob Bornecrantz f38932cb64 c/main: Tidy comp_renderer fence creation a bit 2021-06-15 19:45:14 +00:00