Commit graph

4315 commits

Author SHA1 Message Date
Jarvis Huang 52c790d1a9 t/android: Store jvm/context in service-lib 2022-09-02 16:25:12 +00:00
Jarvis Huang 25e96a508c aux/android: Using DexClassLoader to load class 2022-09-02 16:25:12 +00:00
Mateo de Mayo dfd37bba78 c/render: Fix forloop bounds innocuous typo 2022-08-31 09:50:17 -03:00
Jakob Bornecrantz 1d4c4cc4a0 c/render: Add scratch image 2022-08-25 16:58:03 +01:00
Christoph Haag 10e5e75a1d c/render: Default mock image to VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL
Since it's only used as a default/fallback read image it's
best to put it in that layout and keep it there.
2022-08-25 16:58:03 +01:00
Jakob Bornecrantz 4505bf09ff c/render: Rename scratch to mock
Can't use default as it's a keyword in C.
2022-08-25 16:58:03 +01:00
Christoph Haag eec55c5102 c/render: Put clear and distortion shaders in own sub structs 2022-08-25 16:58:03 +01:00
Jakob Bornecrantz 8b654c76cc c/render: Spelling 2022-08-25 16:58:03 +01:00
Jakob Bornecrantz 7a52814c26 c/render: Code style 2022-08-25 16:58:03 +01:00
Jakob Bornecrantz e02f47ef72 c/null: Request VK_KHR_maintenance[1|2] 2022-08-25 16:58:03 +01:00
Jakob Bornecrantz acd5655a79 c/main: Request VK_KHR_maintenance[1|2] 2022-08-25 16:58:03 +01:00
Jakob Bornecrantz 767637abb8 a/vk: Add image view with usage creation helper 2022-08-25 16:57:56 +01:00
Jakob Bornecrantz fa02407726 a/vk: Add mutable R8G8B8A8_[UNORM|SRGB] image creation helper 2022-08-25 16:57:54 +01:00
Jakob Bornecrantz a5efaceba5 a/vk: Add small chain helper 2022-08-25 16:57:36 +01:00
Jakob Bornecrantz e79b23275b a/vk: Remove unused vk_get_access_flags function 2022-08-25 15:06:09 +01:00
Jakob Bornecrantz 90f3adcdd1 a/vk: Group code 2022-08-25 15:06:09 +01:00
Jakob Bornecrantz e7c217cea5 a/vk: Track various limits 2022-08-25 15:06:09 +01:00
Jakob Bornecrantz b0f51acf77 a/vk: Track maintenance extensions 2022-08-25 15:05:44 +01:00
Jakob Bornecrantz fc55d623c0 xrt: Deal with vulkan underscore compat issues 2022-08-25 15:05:14 +01:00
Christoph Haag 3c9ef82060 a/math: Add math_matrix_4x4_transform_vec3 2022-08-25 12:41:07 +01:00
Jakob Bornecrantz 06ee685e9a c/util: Enable swapchain to be sub-classed 2022-08-24 19:56:42 +00:00
Jakob Bornecrantz d578203a8e c/util: Refactor comp_swapchain interface a bit 2022-08-24 19:56:42 +00:00
Jakob Bornecrantz ff4ce5f7e2 d/remote: Reset timout argument to select
Select can modify the argument, so need to reset it.
2022-08-24 14:36:56 +01:00
Ryan Pavlik 570f27d486 st/oxr: Wire up Win32 OpenGL 2022-08-22 19:53:50 +00:00
Jakob Bornecrantz a681252ac1 st/oxr: Tidy includes 2022-08-22 19:53:50 +00:00
Ryan Pavlik bdcc5be476 c/client: Win32 OpenGL client compositor
Co-authored-by: Milan Jaros <milan.jaros@vsb.cz>
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2022-08-22 19:53:50 +00:00
Milan Jaros afe84a2c35 c/client: Swapchain for Win32 GL
Co-authored-by: Ryan Pavlik <ryan.pavlik@collabora.com>
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2022-08-22 19:53:50 +00:00
Ryan Pavlik dc470ca6fe c/client: Adjust minimum GL version for clients to 3.0.0. 2022-08-22 19:53:50 +00:00
Ryan Pavlik fc0f390a87 aux/ogl: Add WGL wrapper to the build. 2022-08-22 19:53:50 +00:00
Ryan Pavlik 483b0ecbc9 xrt: Header for Win32 OpenGL. 2022-08-22 19:53:50 +00:00
Ryan Pavlik f2967e834c xrt: Include wingdi.h for WGL 2022-08-22 19:53:50 +00:00
Moses Turner 4de631285b u/hand: Fix finger ordering 2022-08-22 13:19:48 +01:00
Ryan Pavlik 1b02783113 d/sample: Clean up, specify a blend mode 2022-08-18 16:45:45 -05:00
Jakob Bornecrantz 074121e371 st/oxr: Use correct device to check for hand tracking support 2022-08-15 15:57:42 +00:00
Jakob Bornecrantz 97874a524a st/oxr: Remove old unused device role index system 2022-08-15 15:57:42 +00:00
Jakob Bornecrantz 4fa509034d st/oxr: Print out all roles 2022-08-15 15:57:42 +00:00
Jakob Bornecrantz 2632c2239d c/multi: Start and stop the native session
This depends on the number of active app sessions.
2022-08-15 14:46:26 +00:00
zhibinw 601143bfb7 st/oxr: Support FOCUSED to SYNCHRONIZED transfer in oxr_session_poll 2022-08-15 14:38:18 +01:00
Jakob Bornecrantz 8e70290ec1 d/opengloves: Pass in identity pose to hand simulation 2022-08-14 16:16:27 +01:00
Jakob Bornecrantz 936733d4b7 d/vive: Pass in identity pose to hand simulation 2022-08-14 16:16:27 +01:00
Jakob Bornecrantz d978a863c1 d/vive: Tidy 2022-08-14 16:16:27 +01:00
Jakob Bornecrantz 7e24b1dfe7 u/hand: Move common init into init helper function 2022-08-14 16:16:27 +01:00
Jakob Bornecrantz e6efcd7a02 u/hand: Take xrt_hand enum instead of bool 2022-08-14 16:16:27 +01:00
Jakob Bornecrantz 2b05bfc709 u/hand: Constify arguments 2022-08-14 16:16:27 +01:00
Jakob Bornecrantz dc28c1f04a d/remote: Fix hand tracking 2022-08-14 16:16:27 +01:00
Jakob Bornecrantz f535135c13 d/survive: Fix warning and org code (NFC) 2022-08-14 13:19:00 +01:00
Moses Turner 386117c5ee NFC: a/math: Make math_quat_from_swing prettier 2022-08-13 19:31:58 +00:00
Simon Zeni 778900cd3c c/main: add hmd peek window 2022-08-12 14:19:13 -04:00
Jakob Bornecrantz b6cab2fe07 c/main: Treat cube as the other optional layers 2022-08-11 13:42:17 +01:00
Simon Zeni 90f708d91c xrt: Enable XR_KHR_composition_layer_cube
Co-authored-by: Bjorn Swenson <bjorn@collabora.com>
2022-08-11 13:42:09 +01:00
Jarvis Huang 5063e76d16 ipc: Update active client id while activate session changed 2022-08-11 11:57:07 +08:00
Jan Schmidt f8a486884b u/u_json: Implement u_json_get_int_array() 2022-08-10 18:30:08 +01:00
Jan Schmidt ce13de9484 aux/math: Add math_matrix_3x3_from_quat()
Add a function to get a 3x3 rotation matrix
from a quaternion.
2022-08-10 18:30:08 +01:00
Moses Turner e5466553a2 d/euroc: Allow zero timestamps
Negative timestamps are still not allowed, but artificially generated datasets might start at exactly zero
2022-08-10 15:09:53 +00:00
Jakob Bornecrantz d6df203d03 d/opengloves: Fix warning (NFC) 2022-08-10 16:03:33 +01:00
Mateo de Mayo dabf592d59 t/euroc: Add lock for IMU recording queue 2022-08-10 14:28:59 +00:00
Jakob Bornecrantz 39f80f2ef5 d/vive: Remove unsued variable 2022-08-10 14:18:45 +00:00
Jakob Bornecrantz 54b43f1f31 t/common: Fix warnings in lighthouse builder 2022-08-10 14:18:45 +00:00
Jakob Bornecrantz 45e268dd16 st/oxr: Don't use mysterious time variable for error printing 2022-08-10 14:18:45 +00:00
Jakob Bornecrantz 42f5cf4c9d d/opengloves: Use correct argument when casting 2022-08-10 14:18:45 +00:00
Aidan Thornton 3485babd71 comp: rotate the compute compositor's distortion texture
Some devices like Android smartphones have displays which are
rotated, meaning the compositor needs to rotate its output.

Add support for this to the compute compositor by rotating the
contents of the textures it uses for distortion lookups. This
requires postponing the calculation of that texture and adding
code to recreate it if the rotation changes (which is allowed,
but unlikely to happen in practice.)
2022-08-10 12:39:44 +00:00
Aidan Thornton 4840def448 a/math: add math_matrix_2x2_transform_vec2 2022-08-10 12:39:44 +00:00
Jan Schmidt 96fb9ce34a wmr: Clean up camera debug last.
Make sure to stop the USB thread before destroying the debug sink
as cancelling the transfers is not sufficient to guarantee
there will be no final callback (or one in progress)
2022-08-08 17:31:53 +00:00
Ryan Pavlik 11525976fa c/client: Fix doc warning 2022-08-08 16:44:24 +00:00
Ryan Pavlik 831c2aefaf a/math: Fix doc warning 2022-08-08 16:44:24 +00:00
Ryan Pavlik e6da9b8090 a/d3d: Fix doc warning 2022-08-08 16:44:24 +00:00
Ryan Pavlik 094498dbf3 a/vk: Fix up and factor out external image support check 2022-08-08 16:44:24 +00:00
bjorn 987bc48edc Fix XrNegotiateRuntimeRequest::structVersion check; 2022-08-08 16:21:40 +00:00
Christoph Haag c24e482e5e st/oxr: Make OpenXR timestamps relative to service startup
This solves a problem where OpenXR timestamps could become invalid
(negative) in certain circumstances:

The timestamps that the OpenXR state tracker returned were offset such
that they appeared to start at OpenXR application startup time.

However monado-service is a long running service using system timestamps.
Because of this, if monado-service started work using a system timestamp
acquired before an OpenXR application started, then this system timestamp
could not be converted into an OpenXR without becoming invalid.

With this change, the OpenXR timestamps for OpenXR applications are offset
such that they appear to start at monado-service startup time instead.

As a side effect, all OpenXR applications connected to the same
monado-service instance will receive timestamps from the same domain.
2022-08-08 15:52:18 +00:00
Charlton Rodda 996aefe596 Improve validation in xrLocateViews 2022-08-04 19:21:39 +01:00
danwillm c4a290aa97 xrt/util: Fix typo with number of joints per finger 2022-08-01 17:33:40 +00:00
danwillm 76f96686d1 xrt/drivers: Convert hand tracking drivers to use hand simulation
Co-authored-by: Moses Turner <moses@collabora.com>
2022-08-01 17:33:40 +00:00
danwillm 1dee288459 aux/util: Share joint width hand tracking function 2022-08-01 17:33:40 +00:00
danwillm 9e7f814328 aux/util: Remove old hand tracking code 2022-08-01 17:33:40 +00:00
danwillm 9dc8632b0f aux/util: Add u_hand_simulation
Co-authored-by: Moses Turner <moses@collabora.com>
2022-08-01 17:33:40 +00:00
Supreeeme 501d2c4fd5 Fix crash when no hand tracking or controllers 2022-07-31 17:09:19 -04:00
danwillm 72ff5cab80 st/steamvr_drv: add skeletal input from openxr hand tracking
Co-authored-by: Moses Turner <moses@collabora.com>
2022-07-28 12:19:20 +01:00
danwillm 9c9f4bb5c5 st/steamvr_drv: comment out "action binding reloaded" log message 2022-07-28 12:19:20 +01:00
danwillm 75995fede0 external, st/steamvr_drv: update OpenVR to 1.16.8 2022-07-28 12:19:20 +01:00
Christoph Haag ee450e6f29 comp/main: Fix chosen vk display mode debug print 2022-07-27 15:04:31 +02:00
Moses Turner 2868348e8c t/common: Make controllers work again with the Lighthouse builder
!1418 briefly broke controller setup.
2022-07-27 10:49:29 +00:00
Moses Turner 0c4b45c6c2 a/util: Add DEBUG_GET_ONCE_TRISTATE_OPTION 2022-07-27 10:49:29 +00:00
Moses Turner c0eed827c5 xrt: Remove t_hand_tracking_output_space
LEFT_CAMERA is the only one that remained useful
2022-07-27 10:49:29 +00:00
Moses Turner a5c0f0b426 h/mercury: Fix debug log 2022-07-27 10:49:29 +00:00
Jakob Bornecrantz 65d88f00aa t/common: Fix warning 2022-07-26 18:15:04 +00:00
Jakob Bornecrantz 19302a5d21 c/util: Fix warning 2022-07-26 18:15:04 +00:00
Jakob Bornecrantz 086a702b79 c/main: Fix warning 2022-07-26 18:15:04 +00:00
Jakob Bornecrantz 86ae6a5bb1 d/wmr: Fix warning 2022-07-26 18:15:04 +00:00
Ryan Pavlik 3fb162ea3a c/client: Turn off depth formats for D3D11, they are breaking Vulkan right now 2022-07-26 14:45:29 +00:00
Ryan Pavlik 980ad86008 a/vk: Get and show some external buffer data on startup, too. 2022-07-26 14:45:29 +00:00
Ryan Pavlik 490559ee6c st/oxr: Wire in D3D12 support 2022-07-26 14:45:29 +00:00
Ryan Pavlik a4d2740b4b c/client: D3D12 client compositor 2022-07-26 14:45:29 +00:00
Ryan Pavlik a9facfe671 c/client: Extract some utilities usable by D3D11 and 12 2022-07-26 14:45:29 +00:00
Ryan Pavlik 576b158a83 a/d3d: Add some d3d12 features 2022-07-26 14:45:29 +00:00
Ryan Pavlik f718ff151f st/oxr: Add d3d12 support to the extension support header. 2022-07-26 14:45:29 +00:00
Ryan Pavlik 5c24b8e637 xrt: Define D3D12 interface 2022-07-26 14:45:29 +00:00
Ryan Pavlik 189be3300c st/oxr: Add helper to verify compatible usage flags. 2022-07-26 14:45:29 +00:00
Ryan Pavlik ee26b5f575 a/d3d: Split out some d3d11 stuff from generic 2022-07-26 14:45:29 +00:00
Ryan Pavlik 79f86ff0e3 c/client: Fix swapchain leak in D3D11. 2022-07-26 14:45:29 +00:00
Ryan Pavlik 842c160c49 a/util: Guard against bad defs of "max" 2022-07-26 14:45:29 +00:00