Jakob Bornecrantz
5fc30a4e22
c/multi: Make sure to retire delivered frames once the session goes invisible or non-active
...
Launching two instances of hello_xr will cause an assert in the app pacer.
2022-10-01 13:10:42 +01:00
Jakob Bornecrantz
88ce42dbf9
c/multi: Paranioa
2022-10-01 13:10:42 +01:00
Christoph Haag
f6821402fd
c/main: Hook up layer squasher in main compositor
...
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
Co-authored-by: Fernando Velazquez Innella <finnella@magicleap.com>
2022-10-01 13:10:42 +01:00
Christoph Haag
95fb034b92
c/render: Implement layer squashing for compute shader
...
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
Co-authored-by: Fernando Velazquez Innella <finnella@magicleap.com>
2022-09-30 22:43:58 +01:00
Christoph Haag
fa71462d86
c/render: Move COMP_MAX_LAYERS to render_interfaces.h
2022-09-30 22:38:54 +01:00
Jakob Bornecrantz
13124f019e
d/opengloves: Fix left/right typos
2022-09-29 21:12:44 +00:00
Jakob Bornecrantz
2673787429
d/opengloves: Fix leak of config JSON
2022-09-29 21:12:44 +00:00
Jakob Bornecrantz
1e639fc2f3
d/opengloves: Fix leaks of udev objects
2022-09-29 21:12:44 +00:00
Moses Turner
034099211f
d/dai: Initialize mutex and thread helper
2022-09-28 18:37:49 -05:00
Jakob Bornecrantz
127a467efc
h/mercury: Add missing break statement
2022-09-28 22:56:01 +00:00
Jakob Bornecrantz
da571275c2
st/oxr: Fix enum comparison warning
2022-09-28 22:56:01 +00:00
Jakob Bornecrantz
676e071aca
c/main: Pass GPU info to pacer
2022-09-28 21:46:56 +00:00
Jakob Bornecrantz
08f6440aa4
u/pacing: Trace GPU info
2022-09-28 21:46:56 +00:00
Jakob Bornecrantz
f63c786ac9
u/pacing: Add gpu_info to u_pacing_compositor
2022-09-28 21:46:56 +00:00
Jakob Bornecrantz
da542e3f5e
u/pacing: Introduce latched and retired calls on app pacer
2022-09-28 21:46:56 +00:00
Jakob Bornecrantz
7eacf6bd7a
u/pacing: Refactor out tracing writing to own function
2022-09-28 21:46:56 +00:00
Jakob Bornecrantz
4ec3512641
u/pacing: Track session_id on app pacer
2022-09-28 21:46:56 +00:00
Jakob Bornecrantz
b6b9004fb2
u/pacing: Tidy
2022-09-28 21:46:56 +00:00
Jakob Bornecrantz
d1d845e430
u/pacing: Make sure to set predicted_display_time_ns
2022-09-28 21:46:56 +00:00
Ryan Pavlik
109e373e0c
c/main: Move ownership of present/render semaphores to comp_target
...
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2022-09-28 21:34:06 +00:00
Jan Schmidt
3b7f95b39e
d/rift_s: Rework hw2mono clock tracking
...
Use the common hw2mono/a2b clock code from vive_source
2022-09-26 00:32:28 +10:00
Jan Schmidt
942df72c26
d/rift_s: Reduce camera frame delay to 2
2022-09-26 00:32:28 +10:00
Jan Schmidt
32cc6e05da
d/rift_s: Move builder to targets/common
...
Move the builder into the common area.
2022-09-26 00:32:28 +10:00
Jan Schmidt
5c573152a8
d/rift_s: Set camera orientation in calibration
...
Put the right rotation of the front cameras
into the camera calibration struct
2022-09-26 00:32:28 +10:00
Jan Schmidt
495eecb65f
d/rift_s: Add 6DOF SLAM tracking and hand tracking
...
Find and capture input from cameras, and split according to
frame type. Send long exposure tracking frames through
the AEG module, and SLAM and hand tracking trackers.
Add controller emulated hand devices.
The native "fisheye62" camera distortion model is
dynamically converted to OpenCV Kannala-Brandt
parameters using a TinyCeres solver.
2022-09-26 00:32:28 +10:00
Jan Schmidt
9fbe81e494
d/rift_s: Port OpenHMD Oculus Rift S driver
...
Port across the Oculus Rift S driver from OpenHMD as a native
Monado driver.
This is mostly the same as the OpenHMD 3DOF driver, with
slightly better HMD distortion correction, various small
fixes, some capsense touch detection support.
Controller poses are rotated 40° to match grip pose.
2022-09-25 02:17:44 +10:00
Jakob Bornecrantz
b5b832f612
u/trace_marker: Silence deprecation from percetto defines
2022-09-22 22:00:32 +01:00
Moses Turner
47714ed650
h/mercury: Add 2D model input and output visualizers
2022-09-22 13:22:55 -05:00
Moses Turner
812cc01104
h/mercury: Fix for blackbar in 180 degree orientation
2022-09-22 14:02:21 +01:00
Jakob Bornecrantz
098bd5e773
st/gui: Add discrete steps in video preview scale
2022-09-22 14:02:21 +01:00
Moses Turner
9a9878a850
st/gui: Improve record window scaling and add 180 degree flipping
2022-09-22 12:09:25 +00:00
Moses Turner
d5dd9a264e
a/util: Remove C++ guards and pragma once from C source file
2022-09-22 01:11:33 -05:00
Moses Turner
6ec9b73e1e
d/wmr: Provide camera orientation to hand tracking
2022-09-21 23:11:58 -05:00
Jakob Bornecrantz
5c958d096d
d/vive: Make sure to free the source
2022-09-22 00:41:10 +01:00
Moses Turner
45e52dee8f
d/ns: Switch NS driver to builders
2022-09-21 07:57:03 -05:00
Moses Turner
6fdd790da0
d/dai: Update DepthAI driver
...
* Removed depthai_tracked_device - now you create a "SLAM" device, plug any frameserver into it and you're done
* Consolidated the grayscale frameservers into just one that gives you SLAM sinks
* Allows for different framerates and half-size for ov9282s
* Added debug frame sinks
* Added the ability to wait at startup for a number of frames for the streams to stabilize before submitting them to SLAM
2022-09-21 07:57:03 -05:00
Moses Turner
201708dee5
d/ht: Remove DepthAI hand tracking device
...
This was super crufty. Instead now you use a builder to create SLAM sinks with the DepthAI builder and plug them into a regular HT device
2022-09-21 07:57:03 -05:00
Moses Turner
074e18cac9
d/twrap: Add tracking wrapper driver
2022-09-21 07:57:03 -05:00
Moses Turner
ef767af2ad
cmake: Always build ht_ctrl_emu driver
2022-09-21 07:57:03 -05:00
Moses Turner
16dffc8d3b
cmake: Link drv_ht and drv_cemu in t/common instead of vive/survive
2022-09-21 07:57:03 -05:00
Moses Turner
5c18f83e8d
d/ulv2: Convert Ultraleap driver create function to helper
2022-09-21 01:54:40 +01:00
Moses Turner
833787c492
u/tracked: Add u_tracked_imu_3dof
2022-09-21 01:52:15 +01:00
Moses Turner
d48792d9a9
u/sink: Ensure that image frames have monotonic timestamps
2022-09-21 01:52:15 +01:00
Moses Turner
17e0c39df2
u/sink: Add u_imu_sink_force_monotonic and u_imu_sink_split
2022-09-21 01:52:15 +01:00
Moses Turner
48e8894b74
u/json: Add u_json_get_pose_permissive
...
To parse poses from non-Monado configs with non-standard member names.
2022-09-21 01:52:15 +01:00
Moses Turner
b31eb76718
u/json: Add u_json_get_pose
2022-09-21 01:52:15 +01:00
Moses Turner
d91975299d
u/config: Use cJSON_Delete instead of cJSON_Free for gui scene parsing
2022-09-21 01:52:15 +01:00
Moses Turner
714925e1b8
t/common: Use cJSON_Delete instead of cJSON_Free in SimulaVR
2022-09-21 01:52:15 +01:00
Moses Turner
e1fbb5b619
cmake: Improve seperation between categories (NFC)
2022-09-21 01:52:15 +01:00
Moses Turner
a23bf9ab36
d/ns: Use math/m_mathinclude.h to fix Windows build
2022-09-21 01:45:24 +01:00
Moses Turner
956ee5ae9d
d/ns: Allow for freeing the 3D optical system
2022-09-21 01:45:24 +01:00
Jakob Bornecrantz
e06608533f
c/multi: Pass in option to do warm start-ups
2022-09-19 22:31:35 +00:00
Jakob Bornecrantz
6faea9224e
c/multi: Add warm start and invalid states
2022-09-19 22:31:35 +00:00
Jakob Bornecrantz
4b3f97c65d
c/multi: State paranioa
2022-09-19 22:31:35 +00:00
Daniel Willmott
c83c21ef90
d/opengloves: Clarify encoding constants
2022-09-19 22:08:28 +00:00
Daniel Willmott
f953ed7846
d/opengloves: Clarify input enums
2022-09-19 22:08:28 +00:00
Daniel Willmott
ddda9ec727
d/opengloves: Add force feedback extension support
2022-09-19 22:08:28 +00:00
Daniel Willmott
74f14f2414
d/opengloves: Communication api change
2022-09-19 22:08:28 +00:00
Daniel Willmott
0bed585018
st/oxr: Add force feedback extension implementation
2022-09-19 22:08:28 +00:00
Daniel Willmott
b710127fad
xrt/device: Add force feedback role
2022-09-19 22:08:28 +00:00
Daniel Willmott
903aced023
xrt/include: Update xrt defines for force feedback output
2022-09-19 22:08:28 +00:00
Daniel Willmott
3c8e738e77
st/oxr: Update openxr extension support
2022-09-19 22:08:28 +00:00
Daniel Willmott
331f41d22e
ext/openxr: Update specification to xr_mndx_force_feedback_curl
2022-09-19 22:08:28 +00:00
Moses Turner
d2e2c3a988
cmake: Run cmake-format.sh
2022-09-19 21:57:37 +01:00
Christoph Haag
196bf24276
d/wmr: Add HP VR1000 support
2022-09-19 18:16:21 +00:00
Mateo de Mayo
3d366b9243
gui: Fix layout file not being created for the first time on Windows
...
By ensuring imgui.ini exists.
Also enabled u_config_json_open_or_create_file for Windows as this OS has an
implementation of u_file_get_path_in_config_dir available now.
2022-09-19 17:19:12 +00:00
Moses Turner
bd265c611d
d/ns: update Moses's distortion method
2022-09-19 11:20:04 -05:00
Moses Turner
1836182e24
t/common: Remove superfluous PID/VIDs from SimulaVR builder
...
And remove outdated comments
2022-09-19 11:17:34 -05:00
Moses Turner
33226dd892
d/rs: Add PID/VIDs for T265
2022-09-19 11:17:34 -05:00
Moses Turner
34d158b299
d/dai: Use setXLinkChunkSize(0) to reduce latency
2022-09-19 11:17:34 -05:00
Moses Turner
81764273ca
h/mercury: Use much faster quaternion change of basis
2022-09-19 11:17:34 -05:00
Moses Turner
e8225b273c
t/common: Switch SimulaVR builder to u_file_read_content_from_path
2022-09-19 11:17:34 -05:00
Moses Turner
d04139bedd
u/file: Add u_file_read_content_from_path
...
Useful for Simula builder and North Star builder which both read straight from a path
2022-09-19 11:17:34 -05:00
Moses Turner
a285294d7f
h/mercury: Fix crop calculation for 180 degree rotations
2022-09-19 11:01:04 -05:00
Moses Turner
0ddf3e0e19
t/c/builder_lighthouse: Set camera orientation correctly
2022-09-16 23:41:18 +01:00
Moses Turner
b735d99569
t/c/builder_lighthouse: Move state out of static storage
...
Also reword/rework some stuff to make it more obvious
which parts are specific for Valve Index cameras
2022-09-16 23:41:09 +01:00
Moses Turner
e95d21586f
h/mercury: Use camera orientation for keypoint model input
2022-09-15 21:36:37 -05:00
Jakob Bornecrantz
0fedf6fe7d
sdl_test: Add SDL test framework
2022-09-15 14:06:20 +01:00
Moses Turner
bea3569016
d/dai: Enable IR floodlight code and allow the floodlight to be controlled with an env var
...
IR floodlight support has been merged into DepthAI core
2022-09-13 19:56:27 -05:00
Moses Turner
0f40a4be8f
t/c/builder_lighthouse: Fail more clearly when cameras aren't available
2022-09-13 22:10:58 +00:00
Moses Turner
4c55364d95
d/vive: Always give a vive config
2022-09-13 22:10:58 +00:00
bjorn
8d9244af53
c/render: Avoid potentially-unsupported memory type;
2022-09-13 19:21:13 +00:00
Jakob Bornecrantz
43526f48b7
c/multi: Do not draw apps that are not visible
...
Closes #197
2022-09-13 14:31:24 +00:00
Jakob Bornecrantz
c6aa252796
c/multi: Do not keep track of current and sent state
2022-09-13 14:31:24 +00:00
Jakob Bornecrantz
b95481ebaa
t/ctl: Ensure connection is initialized properly
2022-09-13 14:31:24 +00:00
zhibinw
0cec22e907
ipc/android:allow none activity context for overlay app
2022-09-13 14:21:21 +00:00
Moses Turner
e8054cd682
t/common: Use correct condition for building SimulaVR builder
2022-09-13 02:45:19 -05:00
Ryan Pavlik
a7d553d93e
xrt,comp,ipc...: Clarifying docs about "system compositor" and "multi compositor"
2022-09-12 10:59:41 -05:00
Moses Turner
9d6ca80af3
xrt: Add SimulaVR driver
2022-09-12 12:20:51 +00:00
Moses Turner
cc62600972
d/rs: Allow Realsense device to be created outside of normal target list
2022-09-12 12:20:51 +00:00
Moses Turner
17acb376f9
xrt: Fix some typos that codespell caught
2022-09-11 23:32:28 -05:00
Jakob Bornecrantz
93ab662682
c/main: Destroy peek semaphores
2022-09-09 10:47:31 +01:00
Jakob Bornecrantz
c0a3d53c0a
c/main: Only create not begin peek command buffer
2022-09-09 10:47:30 +01:00
Jakob Bornecrantz
cfa99000a9
c/main: Add image usage to make silence image view creation warnings
2022-09-09 10:46:43 +01:00
Jakob Bornecrantz
d152c1f9db
c/main: The source image starts in SHADER_READ_ONLY_OPTIMAL
2022-09-09 10:46:43 +01:00
Jakob Bornecrantz
dedfd022b8
c/main: Tidy peek code
2022-09-09 10:46:43 +01:00
Jakob Bornecrantz
11a4f776e5
a/vk: Add vk_cmd_buffer_create helper
2022-09-09 10:46:21 +01:00
Jakob Bornecrantz
500d5b9954
a/vk: Rename command buffer helpers
2022-09-09 10:43:49 +01:00
Jakob Bornecrantz
eeaaaf398b
a/vk: Add helper to get buffer handle types
...
The image version of it was used for buffers as well.
2022-09-07 20:42:27 +01:00
Jakob Bornecrantz
115bf93487
st/oxr: Use precise sleeper for extra wait frame sleeps
2022-09-07 15:06:57 +00:00
Jakob Bornecrantz
828246a5cd
c/util: Use wait helper to implement wait frame
2022-09-07 15:06:57 +00:00
Jakob Bornecrantz
0b2c7e207d
c/multi: Use precise sleeper for scheduled frame waiting
2022-09-07 15:06:57 +00:00
Jakob Bornecrantz
e21b74059c
c/multi: Use wait helper to do wait frame on main loop
2022-09-07 15:06:57 +00:00
Jakob Bornecrantz
221aea883a
c/multi: Use wait helper to implement wait frame
2022-09-07 15:06:57 +00:00
Jakob Bornecrantz
1772baa90e
ipc: Use wait helper to implement wait frame
2022-09-07 15:06:57 +00:00
Jakob Bornecrantz
a0d63d2f9c
u/wait: Add wait helper
2022-09-07 15:06:57 +00:00
Jakob Bornecrantz
b09aa79f4a
c/multi: Improve frame timing printing a little bit
2022-09-06 18:08:10 +00:00
Jakob Bornecrantz
f2b8855e51
st/oxr: Correct error message
2022-09-06 18:08:10 +00:00
Jan Schmidt
1811951dd6
t/ht: Add support for camera orientation
...
Add a way to pass in extra information about camera views, this new
struct is merged with the old image boundary information struct.
Co-authored-by: Moses Turner <moses@collabora.com>
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2022-09-06 18:36:53 +01:00
Simon Zeni
a6c30b4083
c/main: stop allocating vkCommandBuffer each blit
2022-09-05 17:58:38 +00:00
Jakob Bornecrantz
e931e0fed9
ext/openxr: Update headers to 1.0.25
2022-09-04 23:19:00 +01:00
Mateo de Mayo
d47d0ce2d9
u/logging: Log to stderr in Windows
2022-09-02 22:43:24 +00:00
Jarvis Huang
7be4163b91
d/android: Fix errors while getting display metrics
2022-09-02 16:25:12 +00:00
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