|
|
|
|
Changelog for monado-21.0.0+git.20210920T155400.ee68aebb-2.72.x86_64.rpm :
* Sat Feb 19 2022 Hans-Peter Jansen - add systemd %_userunitdir files * Sun Sep 26 2021 hpjAATTurpla.net- Update to version 21.0.0+git.20210920T155400.ee68aebb: * doc: Document !911 * t/calibration: Add support for findChessboardCornersSB * u/historybuf: Tidy code and work around clang-format CI troubles * a/math: Fix truncation warning due to double literal in float parameter. * d/euroc: Use new debug frame sinks * a/os: SetWaitableTimer wants durations in hundreds of ns. * comp: Don\'t disconnect from NULL wayland_display * st/oxr: Enumerate outputs too in xrEnumerateBoundSourcesForAction * u/var: Remove sink variable tracking * st/gui: Remove U_VAR_SINK support * st/gui: Add support for u_sink_debug * st/gui: Handle setting recording info from the first frame * st/gui: Expose bitrate as a combobox in recording window * st/gui: Refactor out recording code into own window * d/ht: Disable sink variable tracking * d/euroc: Disable sink variable tracking * t/debug: Update HelperDebugSink to use new u_debug_sink * t/hsv: Switch to u_sink_debug * d/v4l2: Use u_sink_debug for debugging * u/var: Add u_sink_debug * u/sink: Add u_sink_debug struct helper * c/main: Guard against XRT_HAVE_WAYLAND_DIRECT * c/main: Guard use of VK_EXT_acquire_drm_display identifier * xrt: Expose XRT_HAVE_WAYLAND and XRT_HAVE_WAYLAND_DIRECT * cmake: Link with WAYLAND_LIBRARIES or SDL gets sad * cmake: Use . instead of comma for version * t/slam: Print an error when SLAM_CONFIG is not set * build/cmake: Don\'t build slam if OpenCV is disabled * build/meson: Don\'t build slam if tracking is disabled * t/slam: Only warn for incompatible OpenCV * st/prober: Use euroc stream for SLAM tracking * d/euroc: Add euroc device * d/euroc: Improve euroc player * t/slam: Add SLAM tracking module * external: Add slam_tracker.hpp and SLAM build flow * meson: Look up for default opencv first * xrt: Add xrt_tracked_slam interface * xrt: Add stream_start alternative to xrt_fs for SLAM streaming * xrt: Add SLAM sinks * ci: bump arch image * c/main: Implement WINDOW_DIRECT_WAYLAND * aux/vk: Add VK_EXT_acquire_drm_display functions * d/vive: Use m_relation history for HMD * d/survive: Use m_relation_history for HMD and controllers * d/rs: Use m_relation_history for 6DOF * aux/math: Implement m_relation_history * d/ht; aux/util: Move ringbuffer implementation into aux/util * aux/math: Add tracing for m_predict * doc: Document !873 * c/render: Remove the hacks * c/render: Add ATW support for compute rendering * c/main: Add compute distortion rendering backend * doc: Add documentation for implementing extensions * d/ht: make blackbar work with non-square inputs * m/predict: Add C++ extern guards * u/[rt|ft]: Adjust margins * u/ft: Rename min_margin_ns to margin_ns * d/ht: Tidy includes * d/ht: Tidy view creation * c/main: Use ns_to_ms helper for nominal frame interval * st/oxr: Only advertise hand tracking funcs if compiled with ext * st/oxr: Add ifdef for XR_EXT_hand_tracking * st/oxr: Move XR_EXT_thermal_query #endif to the correct place * u/var: Add f64 kind * comp: Wait for release/acquire fence before destroying swapchain * d/survive: Count ahead of time how many configs to wait for * u/sink: Add conversion from L8 to R8G8B8 * d/vive: Use hand tracking if VIVE_USE_HANDTRACKING is set * d/survive: Use hand tracking if there aren\'t any controllers * d/ht: Change everything * targets: Don\'t probe handtracking driver * scripts: Add script to get hand tracking models * meson: Add ONNX Runtime as a dependency for the handtracking driver * cmake: Add ONNX Runtime as a dependency for the handtracking driver * aux/vive: Parse camera calibration * d/survive: Allow users to set wait time through config_v0.json * aux/util: Add u_frame_clone * d/vf: Add new format for stereo hand tracking * aux/vk: Add and document tegra specific dedicated allocation workaround * aux/vk: Add Tegra detection * aux/vk: debug print preferred/required dedicated allocation * aux/vk: Add VK_FORMAT_R16G16B16A16_UNORM to vk_color_format_string * comp: debug print the numeric format * scripts: add \"stoll\" to codespell ignore list * t/psmv: Fix misconception with disparity transform * d/vive: Tidy warning * d/vive: Silence warnings from when the camera is running * st/prober: Make euroc start by hooking it into the prober * d/euroc: Add EuRoC dataset reader driver. * xrt: Add xrt_imu_sink interface * xrt: Add xrt_imu_sample * u/var: Add button and u64 var kinds * st/gui: Handle NULL pdev in video listing scene. * ipc: Fix warning and paranoia check * doc: Add changelog for MR 886 * st/oxr: Support XR_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT_KHR * ext/openxr: Update headers to 1.0.19 * xrt: typedef EGLenm too for GLES * scripts: Add XR_KHR_swapchain_usage_input_attachment_bit extension * cmake: Add lib/x64 path for leap motion v2 * u/sink: Make sure to add deinterleaver sink to context * u/sink: Make sure to add split sink to context * t/framemat: Update confusing comments, sorry. * aux/vk: Only use dedicated allocation when it is required * c/multi: Fixes some uninitialized mutexes. * u/sink: Make sure to free frame when we fail to decode * st/gui: Make sure to unreference any frames pending for upload * st/gui: Make sure to add ogl texture sink to context * u/sink: Make sure to add quirk sink to context * d/vive: Use u_device_free to free distortion mesh data * d/vive: Tidy * d/vive: Make sure to properly destroy controller * u/vive: Pass in logging level to parse function * u/vive: Add vive_config_teardown function to free any pointers that needs freeing. * t/gui: Add sanitizers * t/ctl: Add sanitizers * t/cli: Add sanitizers * d/rs: clean up device list * ipc/server: Clean up the hack if we exit early * d/survive: Use u_device_free to free distortion mesh data * d/rs: Free JSON * d/ht: Don\'t leak when we can\'t create the hand-tracker tracker * aux/math: Add euro filtering * d/v4l2: more paranoid logging * st/oxr: Add debug variable for adding extra sleep in wait frame * d/dummy: Add option to rotate around up axis * c/main: Constify argument * m/vec2: Add a few more scalar functions * m/mat4: Add Matrix 4x4 f64 functions * xrt: Add a Matrix4x4 with f64 * doc: Document !870 * targets/service: Use address sanitizer on monado-service if desired * cmake: Add SPDX license identifiers to sanitizers * cmake: Add address sanitizers * d/vf: Remove debug message * d/vf: Add trace marker * aux/util: Add get_vec3_f64_array * aux/os: Add os_mutex_trylock * aux/math: Add m_vec3_project, m_vec3_orthonormalize, m_vec3_lerp, m_vec2_normalize, math_lerp * xrt: Add xrt_vec3_f64 struct * comp: Guard acquire/release with a fence * aux/vk: Add vkGetFenceStatus function * doc: Document !867 * xrt: Add docu * ipc/server: Paranoia * comp: Bind the correct GL texture for importing memory objects * comp: Only use dedicated allocation when supported/preferred * aux/vk: Print all used device extensions in XRT_LOG=trace * inc/xrt, aux/bindings: fix typo XRT_OUTPUT_NAME_XBOX_HAPTIC_RIGHTT -> XRT_OUTPUT_NAME_XBOX_HAPTIC_RIGHT * add \'Vive MV.\' model_number variant * c/multi: Make sure there are at least some predicted data * doc: Document !860 * d/vf: Add tracing support * d/vf: Refactor frame handling * d/vf: Tidy * p/prober: disable all drivers when qwerty is enabled * aux/vk: Print info for setting CAP_SYS_NICE * aux/vk: Add VK_ERROR_NOT_PERMITTED_EXT error code string * aux/vk: Print vkCreateDevice error num too * d/ulv2: fix maybe uninitialized warning * c/main: Add return value for when asserts are disabled * d/qwerty: Add reasonable alternative code paths for asserts * d/ns: Fix may be used uninitialized warnings * st/oxr: Use OXR_MAX_BINDINGS_PER_ACTION instead of hardcoded 32 * st/gui: Don\'t access first vec3 member as float array * doc: Document !859 * t/calibration: Add support for RGB images * t/calibration: Make it possible to select number distortion parameters * u/sink: Add special converter sink that passes through YUV, L8 and RGB * st/gui: Make it possible to select the DepthAI camera in Video select UI * st/gui: Add support to record from ELP 3D camera * st/gui: Correct order of arguments to xrt_fs_stream_start * st/gui: Check that we actually opened the video device * st/oxr: Calculate normalized sub-image offsets and sizes * st/oxr: Put all sub-image handling in one place (NFC) * st/oxr: Tidy oxr_session_frame_end.c (NFC) * st/oxr: Refactor out end frame function into own file * st/oxr: Add gfx to session gfx files * xrt: Add normalized sub-image offset and size in layer data * doc: Document !858 * t/gui: Add tracing support * d/dai: Add tracing support * d/v4l2: Add tracing support * t/hsv: Add tracing support * u/sink: Add tracing support * u/trace_marker: Add sink category * t/ctl: Fix error message when toggling io fails * t/ctl: Add usage information * st/oxr: Don\'t go to READY after EXITING * doc/tracing: add \'Value doesn\'t exist\' gotcha * u/sink: Tidy and add some comments to queue sink (NFC) * d/wmr: Compute visible region for render rectangle. * d/wmr: Add an extensible headset map. * d/wmr: Implement Lenovo explorer support. * d/wmr: Extract JSON configuration from the firmware. * d/wmr: Add functions to read raw config data * d/wmr: Add render distortion configuration * d/wmr: Add some groundwork for config parsing. * aux/math: Add math_quat_slerp() * aux/math: Implement math_matrix_3x3_inverse. * st/oxr: Add checks for Vulkan graphics bindings * cmake: make ulv2 build a little better * cmake: option for forcing coloured compiler output * .gitignore: tidy and ignore .cache/ * d/ns: Use fread when reading from config file * doc: Document !839 * d/ns: Fix 3D distortion FOV calc * d/ns: Clean utility_northstar a bit * d/ns: Big refactor * aux/util: Add North Star \"VIPD\" and \"polynomial 2D\" distortion methods * aux/math: Add math_map_ranges function * aux/util: Make new u_extents_2d as alternative to u_device_simple_info * ipc: Fix NULL check stopping main app visibility events from working * doc: cleanup/clarification pointing out that some desired docs are already written. * d/vive: Set hand tracking values to actives * aux/vk: Add fence import for windows * comp: Wrap a unistd include for Windows. * doc: Document !841 * c/main: Also resize on VK_SUBOPTIMAL_KHR * c/main: Tidy * c/main: Refactor out viewport calculation into own function * c/main: Give the correct queue family argument to vkGetPhysicalDeviceSurfaceSupportKHR * c/main: Tidy comp_renderer fence creation a bit * c/main: Allow to specifiy image usage for target images * c/main: Tidy and add a bit of debug to comp_target_swapchain * c/main: Tweak swapchain formats a bit * c/render: Add support for non-freeable descriptor pools * c/render: Add support for storage image descriptors * aux/vk: Add the option to handle optional device features * aux/vk: Add support for VK_EXT_robustness2 and tidy * aux/vk: Refactor out optional extension handling * aux/vk: Make it possible to get a compute only queue * aux/vk: Add vkCmdCopyBufferToImage and vkCmdCopyImageToBuffer * aux/vk: Add vkCmdDispatch, vkCreateComputePipelines and vkResetDescriptorPool functions * xrt: Add xrt_device_compute_distortion helper * c/main: Do not list VK_FORMAT_A2B10G10R10_UNORM_PACK32 as a supported format * doc: Document !811 & !840 * u/trace_marker: Refactor init to fix bug * u/trace_marker: Make sure to include headers outside of extern block * doc: Document !831, !836 and !837 * d/dai: Even more tidy * d/dai: Add code so we can open mono cameras with compile time option * d/dai: Refactor a bit so we can at compile time support OAK-D * doc: Document !740 * st/gui: Add support for depthAI camera in record scene * d/dai: Add simple DepthAI driver * xrt: clarify camera type (NFC) * st/oxr: Transform projection layer pose to global space. * cmake: Make sure st_oxr exposes its optional vulkan/gl dependencies * readme: Mention the vcpkg manifest * build: Add vcpkg manifest for easier Windows builds * c/client: Use the EGL compositor\'s display in swapchain * t/fm: Add simple FrameMat that wraps a cv::Mat * ipc: Add env var to ignore client/service version conflicts * ipc: Check that service and client are the same git revision * t/gui: Show git hash in Window title (NFC) * cmake: Tidy whitespace and remove last mention of XRT_HAVE_VF (NFC) * cmake: Print out if we have GStreamer (NFC) * d/rs: Tidy code (NFC) * aux/vk: Tidy code (NFC) * d/rs: cleanup and initialize u_config_json with zero * util: make sure u_config_json.file_loaded is false if we didn\'t load the file * aux/vk: Check that native handles are importable * build: Update gradle * doc: Document !817 and !820 * ipc/android: support create surface from runtime. * d/illixr: Update ILLIXR driver. * gradle: Update to 6.8.3 * gradle: Remove jcenter usage, it was shut down. * gradle: Apply suggestion from android studio * Revert \"gradle: Only forward EIGEN3_INCLUDE_DIR definition if we actually have it set.\" * d/rs: remove superfluous rs_update_offset; add config options * gitignore: ignore Sourcetrail things * steamvr: Don\'t crash if we don\'t have bindings for device * doc: Document #61 and !810 * c/main: Make temp_vk be a pointer * c/main: Do not copy vk_bundle * c/main: Follow style of using vk variable for vk_bundle interactions * c/client: Follow style of using vk variable for vk_bundle interactions * st/oxr: Fix xrGetSystemProperties crash in headless mode * aux/util: only do tracing things if XRT_FEATURE_TRACING is enabled * meson: add option for tracing * meson: use c++17 * st/oxr: Check that VkPhysicalDevice in graphics binding matches suggested device * c/client: Add EGL comment (NFC) * c/client: s/comp_egl_glue.c/comp_egl_client.c (NFC) * c/client: Tidy EGL code (NFC) * c/client: Do not blindly try to restore no EGLDisplay contexts * c/client: Tidy EGL code (NFC) * u/trace_marker: Use Percetto/Perfetto for tracing * d/illixr: Use u_device_get_view_pose helper * aux/tracking: Move general docs to a separate header. * d/wmr: fix doxygen warning * doc: Document !810 * aux/android: Move code into official namespaces * a/math: Move functionality into official namespaces. * a/util: Namespace documentation * a/tracking: Migrate C++ APIs to the official namespaces now that we have some. * doc: Start documenting code style/conventions/idioms * external/jnipp: Move away from explicit instantiation of function templates. * d/wmr: Fix typo * doc: Fix typo * doc: Add markdownlint config file for changelog fragments. * external: Update android-jni-wrap * external: Update jnipp * aux/android: Remove unused include * gradle: Bump kotlin version. * gradle: update Android gradle plugin * u/process: Fix a warning by marking a function as maybe unused. * aux/android: Update wrappers * aux/android: Expose native pointer from MonadoView * android: Annotation, docs, and formatting improvements for MonadoView * android: Revise MonadoView so it doesn\'t require an Activity. * a/util: Add a generic callbacks collection. * t/oxr_android: Update recyclerview, and do not use wildcard version * d/qwerty: Fix doxygen warnings. * doc: Add !754 and !807 to !723 * c/client: Fix swapchain leak * ipc: Remove debug print (NFC) * st/oxr: Make Vulkan optional * cmake: Allow C++17 mode on all platforms, all modules. * d/wmr: Fix accel axis conversion * d/ns: fix resolution from 2880x1440 to 2880x1600 * doc: Rename sample NorthStar config for file extension reasons, and add schema * a/util: Make JSON reading more robust. * a/util: Add schema directive to json before writing. * doc: Add JSON Schema * c/client: Tidy and lower the logging level * m/3dof: Add manual way to set the gyro bias * doc: Document !800 * ipc: Add session_destroy to handle session destruction * xrt: Add new error return for IPC * d/qwerty: Use u_device_get_view_pose helper * xrt: Fix an incomplete compositor method doc. * a/u_logging: Docs for logging. * doc: Extract static file members when set to extract all. * a/bindings: Clean up formatting of script * a/bindings: Simplify as suggested by IDE * a/bindings: Fix typos * build: Move finding Python earlier, so it builds in Android Studio on Linux. * d/remote: Assert if st/oxr calls the wrong thing (NFC) * d/survive: Add comment and assert to get_view_pose (NFC) * d/vive: Add comment and assert to get_view_pose (NFC) * doc: Document !794 * st/oxr: Rename oxr_session_views to oxr_session_locate_views (NFC) * st/oxr: Tidy xrLocateViews function * ipc: Assert if st/oxr calls the wrong thing * xrt: Make eye_relation argument to xrt_device_get_view_pose const (NFC) * u/ht: Const-correctness * u/ht: Port to new unit-vector defines * d/qwerty: Port to new unit-vector defines * t/ht: Port to using unit-vector defines. * xrt: Add unit vector defines for xrt_vec3 * st/oxr: Port to using new zero/identity defines * d/vive: Port to using new zero/identity defines * d/ht: Port to using new zero/identity defines * d/remote: Port to using new zero/identity defines * d/qwerty: Port to using new zero/identity defines * d/oh: Port to using new zero/identity defines * d/north_star: Port to using new zero/identity defines * comp: Port to using new zero/identity defines * aux/vive: Port to using new zero/identity defines * m/space: Port to using new zero/identity defines * u/ht: Port to using new zero/identity defines * a/math: Port to using the new zero/identity defines * xrt: Add definitions for zero/identity initializers for pose-related structs. * d/wmr: Port to u_device_get_view_pose * d/vive: Port to u_device_get_view_pose * d/survive: Port to u_device_get_view_pose * d/hdk: Port to u_device_get_view_pose * d/remote: Port to u_device_get_view_pose * d/psvr: Port to u_device_get_view_pose * d/oh: Port to u_device_get_view_pose * d/north_star: Port to u_device_get_view_pose * d/dummy: Port to u_device_get_view_pose * d/android_sensors: Port to u_device_get_view_pose * a/util: Add u_device_get_view_pose helper function. * c/main: Better Vulkan error printing * u/ft: Warn when missing frames * doc: Document !767 and !787 * c/main: Pass in preferred dimensions to create images * c/main: Assert that preferred dimensions are somewhat valid * c/main: Tidy code in comp_target_swapchain (NFC) * c/main: Clarify in code that it is preferred dimensions (NFC) * c/main: Remove trailing newline in error message (NFC) * c/main: Make instance extension list more readable (NFC) * c/main: Expose more formats * c/client: Vulkan formats are listed as numbers not hex * c/client: Add support for more formats in GL * gradle: Only forward EIGEN3_INCLUDE_DIR definition if we actually have it set. * ci: Add REUSE check to CI. * licenses: Include unlicense in LICENSES directory as one option for STB_write_image * reuse: Update dep5 file to cover all changelog directories * st/gui: Add missing copyright header to file * external/stb: Add license sidecar file for stb_image_write.h * t/steamvr_drv: Add license sidecar files * doc: Fix date on IPC docs and add copyright header * st/oxr: Fix printing of the format in error message * aux/vk: Extend the correct structure for VK_EXT_global_priority * d/wmr: Clarify struct layout (NFC) * d/wmr: Only take the lock once per received packet * d/wmr: Remove raw_accel and raw_gyro fields (NFC) * d/wmr: Do prediction when returning poses * d/wmr: Rename variables and tidy code (NFC) * d/wmr: log at least one space in trace log * doc: Document !768 * ipc: Return XRT_ERROR_IPC_SESSION_NOT_CREATED if so is the case * ipc: More trace_marker functions * ipc: Return error from ipc_call_session_create in create_native_compositor * ipc: Print out all error messages, and values * xrt: Add new IPC session not created error * xrt: Correct error number * c/main: Refactor so we can do an early acquire * wmr: Don\'t start reading thread until setup is complete. * doc: Add license sidecar file for config_v0.json.northstar_lonestar example config. * d/ultraleap_v2: Add missing copyright/license header, reflow, and fix markdownlint warnings. * ipc: Print socket filename and errno in error message * d/oh: Fix number of inputs for generic controller * d/wmr: Initial 3DoF WinMR driver * util: Depend on bindings * ci: Remove build directories * comp: Fix warning after Vulkan 1.2.174 VK_NULL_HANDLE change * doc: Add MR 741 changelog * p/prober: Print info for applied tracking override * d/multi: Use supplied pose input name enum * doc: Add xrt_input_name to northstar example config * u_config_json: Load tracking override pose input name * u_config_json: Store tracking override pose input name * build/cmake: link generated bindings to aux_util * st/gui: Add tracker pose input name selection * aux/bindings: Generate char * <-> enum for all used inputs * c/main: None functional refactor of renderer. * d/ohmd: Only set output name if there is an output * c/main: Do not create images when initing swapchain. * c/main: Re-arrange comp_renderer to allow late init. * c/main: Add comp_target::has_images, and implement in comp_target_swapchain. * c/main: Add comp_target::check_ready, and implement in comp_target_swapchain. * c/main: Turn debug into spew * c/main: Normalize destroy pattern for comp_renderer. * c/main: Remove unimplemented comp_renderer function. * c/main: Normalize comp_layer_renderer_destroy convention. * c/main: Add comp_layer_renderer docs. * c/main: Add comp_renderer docs. * c/main: Add comp_target docs. * c/client: Fix comment. * ci: Build against libbsd-dev on Debian-based systems, for pidfile support. * doc: Add MR 565 changelog * ipc: Use xdg runtime directory for socket * xrt: Add u_process, backed by libbsd\'s pidfile * xrt: Add u_file_get_runtime_dir() and u_file_get_path_in_runtime_dir() * d/qwerty: Add SDL include dirs * st/oxr: Print value on bad layer type * t/cli: Fix warnings * st/oxr: Use right enum for ret check * st/gui: Fix warning (false positive) * aux/vk: Fix use free of stack variable and use correct return * t/psvr: Fix warning * u/tf: Use new trace marker helpers * u/trace_marker: Add render timing support * u/trace_marker: Add json writing helpers * doc: Document !721 & !754 * ipc: Remove stale todo * ipc: Set correct reference count on swapchain * c/client: Set correct reference on swapchain * st/oxr: Set visibility and z_order if multi compositor controls are available * u/rt: Also print what kind of point we are marking when tracing * c/main: Fix xrt_compositor::wait_frame * c/multi: Implement xrt_compositor::wait_frame * comp: Improve docs on comp_target_swapchain * comp: Doc improvements. * os: Fix comment typo. * editorconfig: Update * doc: Exclude Android in-tree build artifacts from doxygen\'s scanning. * gradle: Bump dependency versions. * android: Add support for casting Context to Activity * st/oxr: Implement loader init extension. * st/oxr: Add XR_KHR_loader_init and ..._android extension * aux/vk: Add support for VK_EXT_global_priority * c/main: Set default logging level to INFO * c/multi: Overwrite stale scheduled frames * c/multi: Break potential long running tasks into functions for better trace_marker logging * c/render: Tidy mesh shader * t/psvr: Various fixes and changes * doc: Document !749 * drivers: switch blend mode to array * aux/util: switch blend mode to array * ipc: switch blend mode to array * st/oxr: switch blend mode to array * inc/xrt: switch blend mode to array * doc: Clean up render timing docs. * util: Fix doxygen warnings * xrt: Fix doxygen warnings. * cmake: prober requires drv_multi now. * cmake: Fix include dir scope for comp_multi * cmake: Make the git version detection more robust * .gitignore: Update. * aux/vk: Docs for Vulkan native import helpers. * comp: Fix typo. * util: Don\'t try to use $HOME or $XDG_CONFIG_HOME on Android. * st/oxr: Clean up Android message. * ipc/android: Dup the socket fd in native side, close the fd on java side. * st/oxr: Fix running when only one hand suports hand tracking * d/survive: Increase device detection timeout * doc: Document !721 * c/multi: Do not display frames before they are to be displayed * u/rt: Print frame period and tidy * u/rt: Tweak IIR alpha numbers * u/rt: Adjust app period depending on app time * u/rt: Adjust app time during runtime * u/rt: Refactor render timing * u/ft: Spelling * u/ft: Rename frame timing functions * u/tr: Refactor rendering timing code * u/ft: Tweak frame timing numbers * ipc: Adopt to new multi client interface * c/main: Explicitly wait for GPU work to finish * c/main: Switch to multi client layer * c/main: Implement new predict and mark frame functions * c/main: Port to using u_graphics_sync_unref * c/main: Implement fence functions * c/multi: Add new multi-client helper * xrt: Pass along display_time_ns to layer begin * xrt: Add multi session managment interface * xrt: Add alternative functions to wait_frame * xrt: Add new error code * xrt: Add compositor fence interface * aux/vk: Add fence import function * u/handles: Add graphics sync handle helpers. * u/time: Add helper comparising functions * st/oxr: Add more trace markers * targets/oxr/sdl2_hack: only do Qwerty things if we are building qwerty driver * meson: Add \'ulv2\' to driver list * c/main: Follow OpenXR spec with blackground colour, tweek no layer colour. * u_config_json: Create root node on save if no config file loaded * doc: Document !715 * st/gui: Add recording interface * st/gui: Add STB image writing support * external: Add STB header library * a/gst: Add GStreamer helper code * xrt: Add helper push frame function * d/vf: Add clock overlay to videotestsource * d/v4l2: Be more tolorant for long pipelines * comp: Update file header. * comp: Properly service Windows message queue. * aux/vk: Fix creation of Windows external memory backed image. * doc: Add mr 742 changelog * d/openhmd: Add support for rift CV1 controllers * st/steamvr: Add rift controllers * st/oxr: Support all known interaction profiles in selection * xrt: Add msft_hand_interaction path to cache and check func * d/vive: Setup the variable tracking for imu fusion * st/oxr: No longer need to work around depth Swapchain on Unreal * d/ulv2: Create the driver. * d/survive: for now always set xrt_hand_joint_set->is_active to true * st/oxr+xrt: add is_active to struct xrt_hand_joint_set to give drivers an easy way to deactivate hands * aux/math: implement math_pose_identity. * aux/math: Implement math_matrix_3x3_multiply. * d/multi: correctly override hand pose for \"attached\" tracking * d/multi: Add \"attached\" tracking override type * doc: Add changelog fragments. * comp: Fix conversion warnings * comp: Improve Windows errors. * comp: Enable VK_EXT_debug_report extension * xrt: Fix more narrowing conversion warnings. * comp: Fix some narrowing conversion warnings * comp: Use precise sleeper. * aux/vk: Fix doxygen warning * os/time: Small cleanup. * os: Add os_precise_sleeper. * os: Improve comment and prototype for os_nanosleep * os: Improve timestamp retrieval on Windows. * os: Add caveats to some timespec conversion functions. * os: Adjust how we compute the timeout for a semaphore. * cmake: Support multi-config generators * ipc/android: Be sure to init the mutexes. * xrt: Adjust how we define ssize_t on MSVC * aux/vk: Fix warning about narrowing conversion. * comp: clean up comment * comp/vk_client: Be sure to init/de-init the mutexes in the vulkan bundle * comp: Comment cleanup * comp/main: Use the new vk_bundle mutex functions. * aux/vk: Add functions to initialize and clean up mutexes in the vk_bundle * doc: Document !735 * m/mathinclude: Apperently _USE_MATH_DEFINES was not enough * t/psvr: Ensure that m_mathinclude.h is included * st/prober: Change log env variable and set default level to info * u/logging: Fix first global log message not getting correct level, add comments * d/qwerty: Implement controller pose reset * d/qwerty: Implement controller parenting to HMD * d/qwerty: Improve selection of default controller * d/qwerty: Implement haptic output * d/qwerty: Implement select and menu click inputs * d/qwerty: Use u_logging.h with QWERTY_LOG env var * d/qwerty: Add variable tracking widget to UI * d/qwerty: Add qwerty_system for driver management * d/qwerty: Move left/right controllers with CTRL/ALT * d/qwerty: Add still qwerty controllers * d/qwerty: Add QWERTY_ENABLE environment variable * d/qwerty: Implement mouse input and sprinting * d/qwerty: Implement WASDQE and arrow keys HMD movement * d/qwerty: Connect the debug UI to the Qwerty driver * d/qwerty: Implement still HMD creation * d/qwerty: Add Qwerty driver initial boilerplate * d/multi: Fix contagious doxygen warning. * aux: Fix doxygen warnings * ipc: Fix doxygen warning * st/oxr: Fix doxygen warning * st/prober: Fix doxygen warnings * comp: Fix doxygen warnings * aux/vk: Wrap statement defines in do {} while (0) * ipc: De-duplicate member for simplicity and to avoid Doxygen warning * imgui_monado: Fix a few warnings * aux: fix or silence warnings * comp/main: Fix warnings * st/prober: Fix warnings * st/steamvr: Fix warnings * comp/main: Deal with MSVC not liking static array sizes being non-constant. * comp/main: Implement consumption of sync handle on Windows * a/util: Non-linux implementation of u_file * cmake: aux/vk depends on aux/os * a/util: Stub out trace marker on non-Linux for now. * aux/util: Silence warnings on MSVC * ci: Adjust quotes based on formatter * u_vive: Fix debug level of printing acc_bias * d/vive: remove duplicate range record error message * d/vive: change imu range report error->info * st/p: Change tracking override target/tracker not found error->warning * u_config_json: Change node not found error->info * d/vive: change config start report error->info * ipc: Change server exiting error->info * d/survive: Change event for unknown object error->info * d/ht: Change hand tracking not set up error->debug * st/p: change PSVR/PSMV not set up error->info * u_config_json: Remove bogus \"No tracking node\" messages * u_config_json: Make missing tracking node messages friendlier * u_config_json: Remove duplicated is_json_ok code * u_config_json: clarify json not parsed error message * u_config_json: change no config file warning->info * xrt: Make xrt_swapchain be reference counted * build/meson: Allow disabling tracking * u_config_json: Fix saving when no config file exists * st/gui: Fix warning * d/remote: Fix warning * aux/util: Fix comment for u_device_setup_tracking_origins * ci: Fix focal container * ci: Add doxygen and graphviz to packaging images * ci: Fix Ubuntu Groovy image. * d/illixr: Add driver name * ci: Add ubuntu groovy. * scripts: Print out clang-format version * build: Depend XRT_FEATURE_SERVICE on XRT_FEATURE_OPENXR * build: XRT_FEATURE_SERVICE requires XRT_FEATURE_OPENXR * m/3dof: Add assert for timestamp paranoia * d/psvr: Ensure that timestamps are always after each other * doc: Document !705 * c/main: Detect when config is needed but missing * st/oxr: Handle XRT_ERROR_EGL_CONFIG_MISSING * xrt: Add XRT_ERROR_EGL_CONFIG_MISSING error * xrt: Return xrt_result_t from xrt_gfx_provider_create_gl_egl * external: Update EGL with another extension * c/main: Be even more paranoid about display timing code * u/timing: Deal slightly better when timing info appears to time travel * u/timing: Add when_predict_ns on first frame * doc: Add changelog for MR 712 * ipc: Print information to delete socket file * build/meson: Print more build options on meson run * build/cmake: Print if systemd is found * build/meson: Install systemd service file with meson * build/meson: Add systemd feature option for monado-service * xrt: Fix typo in u_file * c/main: Remove unused fields * c/main: Use correct predicted display time for rendering * xrt: Increase number of autoprobers to 16 * d/hdk: Use a mutex for get_tracked_pose * d/vive_controller: Use a mutex for get_tracked_pose and update_inputs * d/vive: Use a mutex for get_tracked_pose * d/survive: Use thread for processing events * st/prober: fix off by one in reallocating list of disabled drivers * doc: Document !697 * doc: Add frame timing documentation * t/service: Enable tracing * t/oxr: Enable tracing * ipc: Trace markers * st/oxr: Trace markers * c/main: Trace markers * c/main: Hookup up new frame timing code * aux/vk: Load VK_GOOGLE_display_timing functions * t/cli: Add trace piping support * u/timing: Add frame timing code * u/tracing: Add trace marker code * doc: Fix missing entities from modules documentation * doc: Add changelog for MR !704 * doc: add northstar example config * doc: Add changelog for MR 695 * d/ns: Remove tracker logic in favor of tracking overrides * aux/util: Save tracking override config * aux/util: Store calibration config non-destructively * gui: Add gui for tracking overrides * aux/util: Move json config parsing to aux/util * aux/util: Move read_content to u_file * xrt: implement multi device wrappers for tracking overrides * d/rs: Add prober and create xrt_device for rs * d/rs: exit early if no realsense device is connected * d/rs: Initialize offset to identity * st/prober: Disable vive driver when we have survive * st/prober: Add ability to skip drivers * d/survive: Use autoprober interface * cli: Print built in drivers from driver names * st/prober: Allow querying entries and autoprobers * xrt: Add a static driver_name to probers * d/ns: Add autoprober name * d/vive: Give consistent name to HMD * d/survive: Give consistent name to HMD * build/meson: Make it possible to disable daydream&arduino * d/psvr: Don\'t report created device if creation failed * st/prober: Print name of misbehaving autoprober * doc: Update mr.676.md to mention another MR. * ipc/android: Start client listener thread when get new fd from client. * doc: Remove md prefix from all Markdown pages * xrt: Add doccomment and fix doxygen error * doc: Tidy mainpage.md * st/prober: Allow autoprobe function to create more than one device. * t/service-lib: Remove unused header. * ipc/android: Switch to using client push mutex to avoid cond var wait in server. * ipc/android: Fix potential lost signal to client * ipc/android: Remove old workaround * ipc/server, t/server_lib: Implement mainloop code for Android, using a pipe. * doc: Add Android details to the IPC doc * t/cli: Tidy * c/main: Refactor out wait idle to own function * c/main: Tidy comp_target_swapchain * u/ht: Sort build files * u/timing: Rename files * u/timing: Improve render code, predict when frame should be delivered * u/time: Make defines more readable and add more defines * u/time: Use double for time conversion * ipc: Refactor out broadcasting of timings * cmake: Output XRT_FEATURE_COLOR_LOG status * ci: Revise conditions for packaging to avoid breaking on main branch of forks * ci: Update images, improve packaging script * doc: Document !692 * targets: Show implot demo * imgui: Add implot demo * ipc/server: Factor out the mainloop code that may vary between platforms * doc: Add IPC design/details doc, with only the existing Android details * doc: Fix doxygen warning * d/ht: Fix typo in docs * aux/vk: Add docs to helpers * doc: Document !964 * ipc: don\'t drop the blend mode on the floor * doc: Add changelog for MR 691 * d/vive: Add controller rotation pose prediction * d/vive: Add HMD rotation pose prediction * doc: Document !960 * st/oxr: Fix crash * doc: Document !689 * doc: Document !688 * st/oxr: Quirk UnrealEngine * st/oxr: Detect UnrealEngine * st/oxr: Log application info * ipc/server: Print application info * st/oxr: It\'s not a error to pass in XrSystemHandTrackingPropertiesEXT * build/meson: Explicitly depend on generated binding header * d/remote: define _BSD_SOURCE for SOL_TCP on musl * doc: Document !686 * st/prober: Improve xrt_prober_destroy * st/prober: Add copydocs * st/prober: Clarify xrt_prober_get_string_descriptor * st/prober: Tidy and add doc-comment * st/prober: Use U_LOG_RAW for dump function * d/psmv: Use bluetooth mac as serial * prober: return XRT_PROBER_STRING_SERIAL_NUMBER for bluetooth devices * os/hid: Add get_physical_address() * st/steamvr: Use serial number for controller id * d/vive: Improve naming scheme * d/survive: Improve device naming scheme * xrt: Add xrt_device::serial for uniquely identifying devices if possible * d/rs: Use XRT_INPUT_GENERIC_TRACKER_POSE instead of XRT_INPUT_GENERIC_HEAD_POSE * d/survive: Create devices for trackers * xrt: Add XRT_INPUT_GENERIC_TRACKER_POSE * d/survive: Update to new API and clean up * d/vive: Remove vive_controller_device::variant and use variant from config * d/vive: Remove vive_device::variant and use variant from config * aux/vive: Parse hmd variant and add various model strings * readme: Clarify clang-format usage/version * reuse: Update dep5 file * ext/openxr: Update headers to 1.0.14 * external/flexkalman: Add some missing copyright/license headers * doc: Cleanup howto-release * d/ht: Fix mistaken 2029 copyright date. * comp: Fix VkDisplayKHR direct mode build without libx11-xcb * ipc/android: Specify full qualified service name * ipc/android: Clean up MonadoService * gradle: Update to android-gradle-plugin 4.1.2 * t/oxr_android: Fix gradle build for release 21. * math: Fix doc warnings * ipc: Fix typo in comment * ipc: Fix doc warning * u/hand_tracking: Hand Joint flags can only be as valid as hand flags * aux/android:add blank line between functions * aux/android: Make MonadoView focusable optional * aux/android: Make MonadoView not focusable/touchable * doc: Add mr 677 changelog * comp: Don\'t allocate ubos with VK_MEMORY_PROPERTY_HOST_CACHED_BIT * aux/vk: Add trace info when memory type is unsupported * build/cmake: Don\'t use PythonInterp on old cmake * d/vf: Declare dependency to avoid build issues * d/vf: Refactor code to add videotestsrc capability and break out gstreamer detection * d/vive: Refactor out vive config code into auxiliary library * doc: Add changelog for MR 674 * d/survive: Port to vive_config parsing * build/cmake: Add vive_config include dir to survive * build/meson: Add vive_config include dir to survive * build/cmake: make vive_config lib and link to vive, libsurvive * build/meson: make vive_config lib and link to vive, libsurvive * d/vive: Factor out controller config into separate struct * d/vive: Factor out config into separate struct * monado: Update version * doc: Remove old changelog fragments * doc: Update CHANGELOG.md * doc: Add HOWTO release document * d/ns: Fix informational message about example configs * d/ns: Pretty print json example config with jq * cmake: Tidy * u/sink: Add Bayer format converter * xrt: Add XRT_FORMAT_BAYER_GR8 format * d/v4l2: More buffers * d/v4l2: Expose more information * xrt: Expose more information on frame servers * c/main: Lower priority on sRGB format * u/timing: Fix typo * c/main: Also print format when debugging swapchain creation * st/oxr: Check swapchain format support in st * comp: Return proper errors for Vulkan xrCreateSwapchain * comp: Return proper errors for OpenGL xrCreateSwapchain * st/oxr: cache VkInstance in xrGetVulkanGraphicsDeviceKHR * doc: Document !666 and !667 * u/distortion: Tidy Vive & Index distortion code * u/distortion: Fix DPOLY3_SCALED 4th coefficient application * u/distortion: A stab in the dark to try and improve Index chromatic aberration * u/distortion: Filp order of array access in distortion for Vive & Index * u/distortion: Make Vive & Index distortion center per channel * u/distortion: Fix math error in u_compute_distortion_vive * d/vive: Fix distortion center config parsing * st/oxr: Tidy code * st/oxr: Check XrHandJointLocationsEXT::jointLocations for NULL * st/oxr: Correctly validate quats to be within 1% of unit length * math: Add quat valdiate that only checks within 1% of unit length * u/rt: Tidy and documment render timing code * bindings: Fix double slash error * bindings: Update copyrights * aux/bindings: Add \"features\" to inputs in bindings.json * build: Move bindings build to bindings/subdir * aux: generate b_generated_bindings.{c,h} instead of xrt_generated_bindings.{c,h} * doc: add changelog for MR 638 * steamvr: Implement support for and default to generated input profile * build/cmake: generate steamvr input profiles * build/meson: Generate SteamVR input profiles * aux/bindings: Add script to generate steamvr input profiles * xrt: Move oxr_binding_data.h to json profile generator * st/oxr: Rename sub_path variables to subaction_path * xrt: Add various device and input enum values * steamvr: Use simple vibration as fallback * xrt: cast XRT_GET_INPUT_TYPE result * build/meson: Copy steamvr assets at build time, not configure time * steamvr: Add comment about pose time offset * ipc: Tidy logging * xrt: Remove prepare function from xrt_compositor * xrt: Introduce xrt_system_compositor * ipc: Tidy code and clang-format * st/gui: Tidy code and clang-format * st/oxr: Tidy code and clang-format * comp: add VkDisplayKHR window backend * t/oxr_android: Add empty service for runtime advertisement * gradle: Update comment * gradle: Remove redundant, unused task * comp: Render with pose for next display time, not last * scripts: Add support for clang-format 10 and 11 * d/ns: Work-around clang-format stuff * math: Work-around clang-format stuff * xrt: Reflow after column change * xrt: Change number of columns to 120 * d/survive: Wait max 5 seconds for HMD and device configs * aux/vk: Add formats used in CTS to format string function. * aux/vk: Lock vkCmdPipelineBarrier with pool mutex. * cmake: Turn on XRT_FEATURE_OPENXR_LAYER_EQUIRECT1 by default. * c/main: Remove unused field * comp: Extend nvidia VK_ERROR_INITIALIZATION_FAILED message * comp: Fix depth-stencil image validation warning * comp/vk: Guard VkCommandBuffer usage with command pool mutex. * doc: Document MR 645. * comp/vk: Lock command pool calls with a mutex. * comp/vk_client: Improve error messages. * comp/vk: Put queue mutex around vkDeviceWaitIdle calls. * comp/vk: Lock our only VkQueue with a mutex. * drv/android: Fill in xrt_device str. * d/rs: predict pose * d/rs: apply offset to t265 pose, d/ns: fix up some minor things, load realsense offset from json file * d/ns: fix polynomial distortion math again, document nonsensical parts of polynomial math, update config files * d/ns: possibly fix mesh calculation * d/ns: Hopefully make v2 driver read ipd from baseline in v2 config files * d/ns: apply right eye fov correctly * d/survive: Predict poses for requested time * aux/math: special case delta_s == 0 in m_predic * aux/math: Add prediction module * st/oxr: Remove dynamic prediction code * st/oxr: Convert the given at_time when asking for relations from devices * d/rs: Save a lot more data from the latest pose * steamvr: Request hmd pose at current time instead of 1 * u_time: Make time_s_to_ns take double, not floa * c/client: Ensure that EGL_ANDROID_native_fence_sync * build/meson: Build and run tests * comp: Add support for list of optional device extensions * doc: Add changelog for 633 * st/oxr: Implement XR_KHR_vulkan_enable2 * external: Update OpenXR includes to 1.0.13 * oxr: Add XR_KHR_vulkan_enable2 to ext generator script * doc: add changelog for mr 635 * u/hand_tracking: Curl fingers based on joint, increase total curl angle * d/ht: Set up tracking origin with no offset * xrt: Rename hand_origin to hand_pose * u/device: Add U_DEVICE_ALLOC_NO_FLAGS * d/ht: Don\'t create hand tracking driver without successful init * u/device: Assign left/right hand trackers if no controllers are available * doc: Add changelog for mr 636 * d/psmv: Scale rumble value on zcm1 * doc: Add changelog for mr 634 * st/oxr: Add env vars for global tracking origin offset * build/cmake: Enable survive driver when libsurvive is installed * illixr: Add initial integration. * c/client: Insert fence and give sync handle on layer_commit (EGL for now only) * c/main: Make sure to close sync handles on layer_commit * ipc: Support sending sync handles on layer_commit * ipc/shared: Support sending graphics sync handles * xrt: Add sync_handle argument to layer_commit * external: Update EGL bindings and more extensions * doc: Document MR 627. * t/ctl: Tidy printing * ipc: Port to u_logging. * c/client: Port printfs to static u_logging. * targets/openxr/sdl2_hack: Port to static u_logging. * st/gui+steamvr_drv: Port to u_logging. * st/oxr: Port to u_logging. * st/prober: Port to u_logging. * aux/math: Port to u_logging. * aux/vk: Port to u_logging. * aux/tracking: Port to u_logging. * aux/os/ble_dbus: Use printf padding. * aux/os/ble_dbus: Port to u_logging. * xrt: Port commented printfs to u_logging. * d/realsense: Port to static u_logging. * d/vive/conteroller: Porting to static u_logging. * d/ohmd: Port to u_logging. * d/ohmd: Make env variables consistent with driver name. * d/daydream: Port to u_logging. * d/hydra: Port to u_logging. * d/arduino: Port to u_logging. * d/ns: Port to u_logging. * d/survive: Port to u_logging. * d/v4l2: Port to u_logging. * d/vf: Port to u_logging. * d/hdk: Port to u_logging. * service: Use new u_logging ENV variable for compositor. * u/logging: Implement global log level. * u/logging: Implement optional color logging. * u/logging: Align log level prefixes. * d/survive: Ignore -Wignored-qualifiers in survive header. * meson: Fix building survive on auto. * comp: Fix Wayland backend * steamvr: Make serial unique by appending xrt_hand * d/ohmd: Add display left rotation for Oculus Rift DK2 * d/vf: Use static logging if no object is provided. * meson: Silence verbose OpenCV C11 extension warnings on clang. * st/steamvr_drv: Silence unfixable OpenVR cpp warnings. * c/comp: Fix switch fall through warning in gcc10. * d/ht: Remove unused variable. Fixes warning on gcc 10. * c/main: Silence warnings and make sure that layer configs are picked up * doc: Document MR 620. * c/layers: Don\'t build equirect code if not enabled. * c/layers: Implement equirect1 rendering. * c+ipc+st: Complete equirect1 boilerplate. * src: Consistently append 1 to equirect1 code. * src: Consistently append 2 to equirect2 code. * st/prober: Make video file input work with no camera connected * ipc: Make OXR_DEBUG_GUI=1 work with monado-service * d/psvr: Make get_tracked_pose thread safe * comp: Add XRT_COMPOSITOR_DEFAULT_FRAMERATE variable, default to 60 * comp: Hook up xcb fullscreen and display settings to variables * comp: Default xcb window to VK_PRESENT_MODE_IMMEDIATE_KHR * ipc/server: Rename ipc_server_client.c to ipc_server_handler.c * ipc/server: Remove (f)printf usage from code * ipc/server: Refactor out per_client_thread * xrt: Code style * t/hand: Remove per frame printing * cmake: Turn error into warning * cmake: Make sure we have XRANDR if we have XLIB * README: Add oddly named packages for Fedora * t/hand: warn when rectification matrix doesn\'t match image matrix * t/hand: Add comment that rectification is expensive * d/vf: Add video file playback driver * t/hand: Add hand tracking module * d/ht: Add hand tracking driver code skeleton * xrt: Split hand tracking input name into left/right * doc: Update changelog. * t/oxr: Export the right symbol on Windows. * comp: Guard more of the caps-detector with an ifdef. * comp: Remove unused macro * inc/xrt: Reference the Vulkan extension table from related data. * comp: Add comments near Vulkan extension lists about updating docs. * doc: Document the Vulkan extensions used, in a table in Doxygen. * util: Port logging to OutputDebugString on Windows * cmake: Handle SDL2 static builds * comp/main: Windows work - got a window to appear! * comp/main: Remove *nix-only include * readme: Mention security issue process. * readme: Link to the \"live\" web changelog * readme: emphasize that gitlab issues/MR\'s used for discussion * xrt: Remove unused XRT_DEVICE_ANDROID. * d/android: Use XRT_DEVICE_GENERIC_HMD device name. * android/service_taget: Store native window pointer as global. * android/service_target: Init ipc server in Android service. * ipc/server: Add Android main entry point which receives fd. * ipc/server_process: Don\'t init listen socket and epoll on Android. * ipc/server: Factor out start_server_thread function. * android/Client: Start IPC process in thread. * c/window_android: Use cached surface from IPC. * android/Client: Create Android surface for OoP. * android/MonadoView: Make native pointer optional. * aux/android_globals: Provide API to store a native window globally. * MonadoView: Don\'t be a Hilt view. Resolve exception. * android: IPC/service-related cleanups. * ipc/android: Be a foreground service * t/oxr_android: Bind ServiceNotificationImpl * t/android_common: Implement IServiceNotification * aux/android: Create an interface for handling foreground service notification * ipc/android: Improve Client * t/oxr_android: Split android UI that is not target-specific to a separate common target. * xrt/android: Actually start using dependency injection in Java/Kotlin code. * t/oxr_android: Add resources and build code to grab the CDDL license for display. * gradle: Handle kotlin in multiple parts of the build * ipc/android: Initial port of parts to Kotlin. * aux/android: More null checks * t/oxr_android: Mention out-of-proc in app name resource * st/oxr_android: Provide a shutdown runtime button in activity. * ipc/android: Clean ups and debug messages * ipc/android: Single point of truth for action name. * ipc/android: Clean up, adjust action name, adjust manifest. * gradle: Start using a plugin to use SVG files as vector drawables sources. * ipc/android: Bump minSdkVersion * gradle: Update Android plugin * st/oxr_android: Add icon to VR Listener service * st/oxr_android: Declare sensor usage in manifest * gradle: Break release build on a // STOPSHIP comment * gradle: Factor out the dependency versions to a build-wide variable * cmake: Fix Android linking error * android/ipc/Client.java: call connectSync.notify(). * ipc/client: Start using Android-specific code if needed. * ipc/android: Add Android-specific native code library. * ipc/android: Add a blocking connect Java method, and small clean-ups. * meson: Generate a mock Android config header. * doc: Document MR 611. * d/android: Use display metrics instead of hardcoded Pixel 3 values. * aux/android: Implement display metrics acquisition. * c/renderer: Fix right eye viewport when not pre-rotating. * u/sink_converter: Silence warning * u/sink_converter: Refactor allocation function a bit more * u/sink_converter: Remove u_sink_converter::frame * u/sink_converter: Clarify dst frame of format conversions * u/sink_converter: clarify ensure_data() * sdl2hack: Don\'t call SDL_Quit() * os/threading: Fix typo in comment * d/remote: Only define __USE_MISC if not defined * c/renderer: Pre-rotate display for transformed surfaces. * aux/math: Implement math_matrix_2x2_multiply. * st/oxr: Add view space case to hand tracking data * u/hand_tracking: Tweak hand model parameters * u/hand_tracking: Calculate joint velocities * u_hand_tracking: Fix typo in u_hand_tracking_model * st/oxr: Add verification of XrHandJointVelocitiesEXT * xrt: Add support for locating hand joints in action spaces * aux: Add m_space_graph_add_inverted_relation * aux: Add m_space_relation_invert * st/oxr: Fix exporting of negotiate function. * st/gui: Don\'t export symbols from cimgui * external: Don\'t export symbols from cjson * t/gui: Fix linking on Windows * comp/main: Fix finding M_PI * comp/main: Change annotation for struct packing for MSVC compatibility. * comp/main: near and far are keywords on Windows. * xrt: Have the vk_helper vk_create_device take in a list of device extensions, and fix usages. * comp/main: Clean up lists of extensions in main compositor * inc/xrt: Comments * comp/client: Clean up Vulkan extension list, and add Windows extensions. * build: meson: Add remote driver build * c/main: Make COMP_ERROR respect log level * c/render: Change some COMP_ERROR to VK_ERROR * doc: Add changelogs for MR 599 * c/main: Tidy comp_target_swapchain * c/main: Tidy comp_android_window * c/main: Remove vk field from comp_target_swapchain * c/main: Remove comp_window struct * c/main: Move c field from comp_window to comp_target * c/main: Refactor vk_swapchain into comp_target_swapchain * c/main: Introduce comp_target struct * c/main: Tidy vk_swapchain a bit * m/space: Make sure to not drop positions * st/gui: Add remote hand tracking controls * d/remote: Add hand tracking support * st/oxr: Make sure to restore old EGL display/context/drawables when creating a EGL compositor * doc: Add changelog for MR 600 * d/ohmd: Rotate rift s display right, not left * steamvr: support rotated displays and direct mode * d/ohmd: Update display rotation code * xrt: Remove lens center from xrt_view * xrt: Improve comment documenting xrt_view::viewport * xrt: Improve comment documenting xrt_view::display * xrt: Document that xrt_hmd_parts::screens dimensions are before rotation * doc: Document MR 601. * ipc/server: Port printf calls to static u_logging. * ipc: Port to u_logging. * t/service-lib: Simplify. * cmake: Do not build SteamVR plugin on Android. * gradle: Remove unused dependencies. * android: Update to AboutLibraries 8.5.0 * aux/android: Factor out a \"native counterpart\" class. * steamvr: Fix running without controllers * aux/vk: Minimal, untested implementations of these for Windows - fixes build * t/oxr_android: Fix Doxygen warning. * st/steamvr: Fix build on Windows. * st/oxr: Fix outdated reference in docs. * a/util: FIx ambiguity of directories for docs. * docs: Disable LaTeX output, to silence warnings. * cmake: Fix warning in SteamVR driver target * u_hand_tracking: Fix usage of M_PI * d/psvr: Fix typo in config/debug macro * build: Disable IPC on Windows. * aux/util: Adjust conditional log macros to handle msvc correctly * cmake: Disable remote driver on things other than Linux and Android for now. * doc: Add MR 597 changelogs * d/psvr: Rename some hid variables for better code * os/time: Add a Linux specific way to get the realtime clock (for RealSense) * os/time: Make timespec argument const * misc: Adjust clang-tidy options. * d/ns: Some clang-tidy cleanups * d/hdk: Appease clang-tidy a little more. * aux/os: More defines to calm clang-tidy. * a/util: Appease clang-tidy with a define for ns per second * u_debug: Remove duplicate declaration * d/ns: const correctness cleanup for math. * d/ns: Fix memory leak in math * doc: Add changelog for MR 583 * steamvr: Implement basic SteamVR driver * external: Add OpenVR driver header * xrt: Move tracking origin setup code to u_device * xrt: Move device assignment code to u_device * build/cmake: Fix udev related warning * Fix trailing space in xrGetVulkanDeviceExtensionsKHR * d/survive: Fix bindings declaration after rebase of MR 587 * doc: Add changelogs for MR 591 * st/oxr: Add OXR_FRAME_TIMING_SPEW var to print basic frame timing information * comp: Add basic frame timing information to trace log * aux: Use time since time_state creation for time_state timestamps * st/oxr: submit layers with os monotonic timestamp, not XrTime * t/oxr_android: Work on aboutLibraries usage. * gradle: Update gradle to 6.7 * t/oxr_android: Generate license resource at build time. * ipc/android: Add additional service options * gradle: Allow python location to be explicitly specified in local.properties * t/oxr_android: Rename activity and add version field * st/oxr: Use new xdev providing binding * ipc: Add support for device provided bindings * d/vive: Add device bindings * d/survive: Add device bindings * d/psmv: Add device bindings * d/daydream: Add device bindings * d/arduino: Add device bindings * xrt: Add device driver provided bindings * monado: Update version * doc: Remove old changelog fragments * doc: Update CHANGELOG.md * oxr: Add one missing mutex to active_wait_frames * d/psvr: Tidy code * doc: Add changelog for MR 589 * oxr: Implement additional xrWaitFrame/xrBeginFrame call order checks * xrt: Move synchronized state test into oxr session * ipc: log ipc calls and dispatch with IPC_PRINT_SPEW * ipc: hook up IPC_PRINT_SPEW and IPC_PRINT_DEBUG variables * c/main: Revert \"Transition to visible/focused after xrEndFrame, not xrWaitFrame\" * monado: Update version * doc: Remove old changelog fragments * doc: Update CHANGELOG.md * external: SPDX/REUSE compliance * xrt: Add misc missing copyright/license notices * ci: Add SPDX/REUSE data. * clang-format configs: Fix SPDX tags * doc: Add spdx tags. * cmake: Add SDPX tags * cmake: Make sure we are looking for Python 3.8 and 3.9 * comp: Transition to visible/focused after xrEndFrame, not xrWaitFrame * doc: Document merge request changes. * t/oxr_android: Include library attribution/notices in \"about\" activity. * d/android: Use not-deprecated API when possible. * d/android: Enable cardboard distortion. * d/android: Add Android sensors driver. * t/oxr_android: Move some distribution-related strings to build system * t/oxr_android: Set package version from Git * t/oxr_android: Match theme to temporary logo * t/oxr_android: Improve VR Mode status messages * gradle: Provide a default eigenIncludeDir that works on Linux * t/oxr_android: Add fragment to the main activity * t/oxr_android: Add VrModeStatus fragment. * a/android: Store a native pointer in the MonadoView. * a/android: Migrate to using the MonadoView generated wrapper. * a/android: Add some partially-generated wrappers for our own Java code. * external/android-jni-wrap: Upgrade base header for new features * a/android: Use android_custom_surface constructor/destructor * a/android: Monitor whether MonadoView is still being used by native code. * t/oxr_android: Clean up main activity. * ipc: Add ipc_android doc group * ipc: Add ipc_shared doc group * ipc: Refactor folders * t/[gui|oxr]: Directly reference SDL2 in CMake * d/remote: Fix warning when building with clang * a/android: Move class name to a constant. * a/android: C++ headers use .hpp as the extension * a/android: Fix some file comments. * t/oxr_android: Add version annotation to the VR listener * st/oxr_android: Adjust name string * st/oxr_android: Clean up manifest * a/android: Make MonadoView fullscreen. * t/oxr_android: Clean up manifest * t/oxr_android: Rename the VrListener class/service. * c/eglimage_swapchain: Actually return created swapchain. * c/gl_client: Check if swapchain is not NULL. * c/gl_client: Port to u_logging. * st/oxr: Add GLES Android session boilerplate. * aux/android/ahardwarebuffer_allocator: Use Vulkan enums in format switch. * aux/vk+comp/sc: Initialize extra structs for hardware buffer extension. * aux+comp: Add Android hardware buffer device extension. * aux/vk: Add vkGetAndroidHardwareBufferPropertiesANDROID. * aux/android/ahardwarebuffer_allocator: Add function to allocate a single buffer. * a/android: Improve monadoview, including fixing deleted ref problem. * comp: Basic Android compositor window. * aux/android: Enhance custom surface * aux/android/custom_surface: Make JNI happy. * aux/android/load_class: Use pkgClassLoader.loadClass to load MonadoView class. * android/MonadoView: Register surface callback and fix imports. * comp/main: Define Android extensions. * comp/main: Don\'t check for VK_KHR_display on Android. * android/manifest: Extract libs. * aux/vk: Fix a place where we were missing an android ifdef * aux/android: Add custom surface code. * aux/android: Add code to load Java from a package * t/oxr_android: Add Android-specific subdirectory * ipc_android: Add Android-specific Java/AIDL code * aux/android: Add Java code * gitignore: Ignore the rest of the gradle wrapper * build: Add the gradle wrapper properties file. * inc/xrt: Add Android config header to store package name. * gitignore: Ignore all .idea files * a/android: Fix typo in comment * build: Actually search for Python 3 interpreter before using it. * targets: Add service-lib stub for Android * cmake: Fix FindOpenGLES * aux/util: Port logging for Android. * external: Add android-jni-wrap. * external: Import jnipp * u/distortion: Set blend mode incase it is zero * m/space: Normalize orientation when returning result * c/main: Fix projection layer flags not getting set * doc: Add a bunch of change logs * m/headers: Fix doxygen warnings * u/hand_tracking: Tidy header * d/psvr: Switch to logging API * d/dummy: Add logging to variable tracking * d/dummy: Switch to logging API * d/dummy: Tidy file * c/main: Fix leaks of samplers and tidy code * u/distortion: Add simple cardboard distortion code * u/mesh: Tidy header * st/prober: Depend on remote driver as we reference it directly * st/oxr: Improve verification of XrGraphicsBindingEGLMNDX * st/oxr: Minor fixes for oxr_session_egl * st/oxr: Fix missing semicolons * st/oxr: Timeout minimum duration pulses after 0.1 seconds * cmake: Enable equirect2 * meson: Add equirect2 to build. * st/oxr: Add equirect2 verify and submit functions. * c/main: Implement XR_KHR_composition_layer_equirect2. * c/shaders: Add equirect shader. * c/comp: Init repeat sampler for swapchain images. * aux/math: Implement math_matrix_4x4_inverse_view_projection. * xrt: Add printing list of built in drivers to monado_cli probe * d/oh: Add startup delay for Rift S and rotate left * st/oxr: Fix state changes errors * xrt: Add git tag/description * st/prober: Add remote loading * st/prober: Add the concept of active config to config file * st/prober: Refactor out adding functions. * st/gui: Add remote device control ui * d/remote: Add remote driver * st/oxr: Add simple controller bindings * xrt: Add simple controller input profile * st/oxr: Add option to disable printing to stderr * st/oxr: Improve pose sub-path handling * c/render: Refactor out distortion rendering * c/main: Tidy names * c/main: Remove viewport_id in mesh shader * c/main: Round viewport to cover the same as scissors * c/main: Refactor shader loading to own file * aux/vk: Add vkFreeDescriptorSets * d/survive: Implement haptic feedback * d/vive: Actually Use defined values for default haptic frequency and min haptic duration * d/vive: Use defines for minimum haptic frequency and unspecified haptic frequency * xrt: Add defines for minimum haptic frequency and unspecified haptic frequency * d/vive: curl thumb when touching a button * d/survive: curl thumb when touching a button * doc: Add MR 555 changelog * d/survive: Add fingertracking and refactor * d/vive_controller: Add finger tracking * aux: Add hand_tracking util * ipc: Add missing position_tracking_supported passthrough * xrt: Implement & hook up hand joint tracking infrastructure * d/ns: Don\'t create rs tracker twice on v1 * readme: Add minimal dependency info for Windows * t/cli: Fix build on Windows. * u_handles: Add Win32 handle utilities * st/oxr: Replace __typeof__ usage with portable syntax. * inc/xrt: have the vulkan includes include windows.h neatly. * build: Link aux_util against threads explicitly * xrt: Add Win32 Vulkan platform define when needed * inc/xrt: Windows uses Win32 HANDLEs for things. * inc/xrt: Add a header for minimally including Windows.h * u_json: Properly silence secure CRT warnings. * u_bitwise: Switch from static const int to defines. * c/main: Remove none shaders * c/main: Add more logging levels * ipc: Use new none distortion code * d/ohmd: Use new none distortion code * d/hdk: Use new none distortion code * d/dummy: Use new none distortion code * u/mesh: Add back none distortion generation * c/main: Use log levels * c/main: Use u_logging. * build/meson: Build daydream and arduino driver when dbus is enabled * build/meson: Add XRT_HAVE_DBUS when dbus is found * build/meson: Fix formatting for survive driver enablement * xrt: Define XRT_FEATURE_COMPOSITOR_MAIN and XRT_FEATURE_OPENXR * st/oxr: Add extension support for XR_KHR_composition_layer_equirect2 * external: Update OpenXR headers to 1.0.12 * t/cli: Add lighthouse command * os/ble: Use logging * os/ble: Large refactor of code * os/ble: Add os_ble_broadcast_write_value function * os/ble: Correct documentation on os_ble_notify_open function * xrt: Add XRT_HAVE_DBUS * build/ctl: Explicitly depend on generated ipc client header * st/oxr: Destroy client compositor when session is destroyed * st/oxr: Use xrt_comp_native_destroy helper * ipc: Free client side compositor * c/client: The client compositors doesn\'t own the native compositor * d/dummy: Make view rotate slightly with time * d/dummy: Make the view move slightly with time * xrt: Rename xrt_uv_triplet * doc: Add changelog for MR 538 * d/openhmd: Make struct oh_device private and refactor * xrt: Use struct vive_values for u_compute_distortion_vive * xrt: Remove all but mesh distortion values from xrt_hmd_parts::distortion * comp: Move mesh generation to comp_renderer init * comp: Rename distortion.vert to none.vert * comp: More replacing of binding indices with variables * comp: Support only mesh and no istortion, remove pano and vive shaders * comp: Replace hardcoded binding indices with variables * d/openhmd: Fix distortion_k value ordering * doc: Add MR 536 changelog * xrt: Replace mesh generator with xdev->compute_distortion() * st/oxr: Do not destroy native compositor in sub-classed session creation functions * st/oxr: Don\'t create a new native compositor in android session * d/ns: remove useless assignments * comp: remove useless pano ubo from mesh distortion * d/dummy: reduce dummy HMD resolution to 720p * d/ohmd: Add (OpenHMD) suffix to openhmd driver string * st/prober: Fix build with v4l2 disabled * st/oxr: Fix warning * u/file: Stub out Linux path manip code. * .gitignore: Update * build: Make Vive driver Linux-only for now. * build: Be able to build against pthreads4w * build: Adjust/fix missing dependencies * st/p: Fix include of libusb * st/p: Tighten preprocessor conditionals for non-Linux * u/threading: Cast result of realloc. * u/debug: Silence warnings on MSVC * u/time: Fix overflow. * u/json: Silence warnings on MSVC * os/threading: Fix includes on Windows * os/time: Provide time functions for Windows * os/time: Implement os_nanosleep for Windows * xrt: Be sure to include config headers * xrt: Remove un-needed includes of unistd * inc/xrt: Some MSVC and Windows support * inc/xrt: Add Windows implementations of atomic intrinsics. * doc: Document !532 * st/oxr: Fix return length from oxr_action_get_input_source_localized_name * st/oxr: Return identifier name for bindings * st/oxr: Return controller name for bindings * st/oxr: Correctly return sub path for input source * st/gui: Get the number of samples in a fifo for graph * m/ff: Improve interface * Fix compilation on Musl * m/3dof: Add filter fifos to variable tracking code * st/gui: Plot vec3_f32 filter fifos * st/gui: Include ImPlot and Monado-ImGui in gui_imgui header * imgui: Add igToggleButton function * imgui: Add ImPlot * imgui: Update to 1.78 * u/var: Refactor how variables info is passed * u/var: Add tracking for filter fifos * d/ns: Set XRT_SPACE_RELATION_ORIENTATION_TRACKED_BIT * d/dummy: Set XRT_SPACE_RELATION_ORIENTATION_TRACKED_BIT * st/oxr: Use space graph in global-to-local space transform * d/survive: Don\'t fix up invalid pose * d/survive: Update to recent libsurvive git * d/survive: remove unused structs * d/survive: set relation flags properly * st/oxr: Use space graph resolve result relation flags instead of pure pose relation * st/oxr: Pass actual ViewStateFlags to application with xrLocateViews * st/oxr: Destroy compositor on instance destroy * ipc: print send and receive errors with ERROR, not DEBUG * aux: Support waiting more than 0.999... seconds in os_nanosleep * d/survive: Remove out_relation_timestamp_ns * st/oxr: Check xrLocateViews quaternion only if orientation valid * aux/space: Propagate orientation valid bit through space graph resolve * aux/space: fix typo: propagate tracked orientation bit properly * xrt: Remove out_timestamp argument to xrt_device::get_tracked_pose * xrt: Remove acceleration components from xrt_space_relation * m/base: Remove old space relation functions * c/main: Use new xrt_space_graph * st/oxr: Use new xrt_space_graph * d/psmv: Rotate angular velocity to be in base space * d/psmv: Use space graphs for poses * m/space: Space graph functions * m/quat: Add math_quat_rotate_derivative * xrt: Add xrt_space_graph * d/ns: Add version 2 config support * d/dummy: Minor comments * t/ctl: Fix typo * doc/wand: Add a tiny blurb about prober * u/render_timing: Improve debug printing * xrt: Fix vive input defines * d/psmv: Use last package timestamp for input changes * m/base: Add math_quat_invert * m/3dof: Rename to timestamp * m/fifo: Add f64 filter fifo * m/3dof: Tweak values * m/3dof: Add vars tracking helper function * m/vec3: Add C++ operators * m/vec2: Add C++ operators * d/v4l2: Set correct name on variable tracker * d/v4l2: Use different tweaks depending on capture type * xrt: Add stream capture type * d/psvr: Set positional tracking bit when tracker is present * build: Remove libv4l2 dependency from meson * t/psmv: Use the same filtering as in PSVR tracker * t/psvr: Add a functional PSVR tracker * d/psvr: Only power on front LEDs * math: Add a permutation library * external: Add Hungarian graph algorithm * external: Sort libraries in CMakeLists.txt and meson.build * u/logging: Fix return of debug_get_log_option_SUFFIX * u/render_timing: Paranoia * xrt: Fix typo in comment * t/ctl: Print devices as well * t/ctl: Refactor connection opening * t/ctl: Implement device IO toggling * t/ctl: Refactor code to make more tidy * ipc: Make it possible to toggle inputs on and off * st/oxr: Special case the any path for pose actions * d/psmv: Introduce proper grip and aim poses * scripts: Add exception to codespell. * st/oxr: Add layer type conditionals around depth-image manipulation * st/oxr: Verify that the compositor created can actually do the layer types claimed. * build: Only set the layer type config variables if they aren\'t already set. * u/misc: Improve docs of calloc macros. * comp: Use the correct calloc macro * external: Update GLAD again for more extensions * ipc: Fix build on Android. * vk: Add an Android function to the vk_bundle * build: Don\'t look for packages with pkg-config on Android. * cmake: Reduce requirement to allow Android build * gitignore: Update. * c/main: Test if a format is supported before adding to list * aux/vk: Print a little bit more when failing on usage * doc: Add 501 changelogs * st/oxr: Get maximum layers from the compositor info * c/main: Support 16 layers * xrt: Add max layers supported by a compositor * xrt: Constify compositor interface * xrt: Tidy some comments * Revert \"xrt: Disable cylinder layers for now as the causes GPU hangs (NFC)\" * comp: Handle skipping rendering of infinite cylinder properly * comp: Fix typo in switch statement * xrt: Disable cylinder layers for now as the causes GPU hangs (NFC) * xrt: Correct assert for ipc data type * st/oxr: Use the right depth projection function * c/client: Add support for depth projection * c/main: Add support for depth projection * ipc: Add support for depth projection * xrt: Add missing xrt_comp_layer_stereo_projection_depth * st/oxr: Verify that projection layer has 0 or view count depth layers * doc: Add changelog for 498 * build: Enable depth layer in meson build * build: Enable depth layer in CMake build * st/oxr: Pass through depth layer to compositor * st/oxr: Verify depth layer * aux/vk: Report appropriate errors on unsupported image usage flags * comp: Support Vk and GL depth and depth stencil formats * st/oxr: projection layer swapchain NULL check * ipc: Tidy * c/client: Fix warning and tidy * build: Enable cylinder layer in Meson build * build: Enable cylinder layer in CMake build * st/oxr: Include m_mathinclude.h and tidy includes * doc: Add changelog for 495. * comp: Add cylinder layer implementation * m: Generalize math_matrix_4x4_quad_model, making scaling a vec3 * st/oxr: handle subimage rect in submit_cylinder_layer * comp: Use define for number of plane vertices * vk: Add update_buffer helper function * comp: Use CLAMP_TO_EDGE for swapchains * build: Add build support for cube, cylinder and equirect layers to meson * xrt: Move the android globals functionality to the new android aux lib. * ipc: Some comment improvements. * ipc/client: Use Android allocator on client side. * aux/android: New aux library, add image allocator for Android * xrt: Make xrt_image_native::size optional. * comp/client: Clean up commented-out code. * comp/client: Improve EGLimage-based swapchain * comp/client: Use new texture target utility for OpenGL * aux/ogl: Add helper header for OpenGL. * doc: Add mistakenly-omitted changelog fragment. * ipc: Fix loop conditions in loopback allocator * comp: Add a URL for sample Android EGL code. * external/glad: Update to add more extensions * st/oxr: Handle the android extension * aux/util: Add u_android for global state. * doc: Add changelogs for 489 and 494 * d/ns,rs: Add external slam tracking type * ipc: It\'s okay to send zero handles * ipc: Tidy and better error messages * xrt: Add tracking system type for Hydra * xrt: Add tracking system type for Lighthouse * tests: Fix the number of transforms * st/oxr: Make sure that an identity transform is only inserted when needed * st/oxr: Better logging when creating transforms * st/oxr: Slightly better logging when we fail to transform * st/oxr: Reject bindings that we can\'t transform * st/oxr: Proper gles support for Android * d/vive,survive: Manually improve values for Valve Index display * d/northstar: Set positional tracking bit true when built with RS support * d/rs: Use a thread to get the poses * st/oxr: Print invalid quaternion values in xrLocateView * st/oxr: Use the XR_ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING code added in OpenXR 1.0.11. * external: Update OpenXR headers to 1.0.11 * st/oxr: Handle XRT_ERROR_IMAGE_CREATE_FLAG_UNSUPPORTED from compositor. * comp/main: Refuse to create a swapchain if protected content bit requested. * inc/xrt: Add a new xrt_result_t code, for when we don\'t support the specified image flags. * c/main: Stub in code for cube, cylinder and equirect layers * c/client: Add support for cube, cylinder and equirect layers * ipc: Add support for cube, cylinder and equirect layers * st/oxr: Implement cylinder layer * st/oxr: Implement the layer verification functions * comp: Use u_logging in some EGL code. * ipc: Fix conditionals about handle types. * comp: Port to using u_handles * aux/vk: Port to using u_handles * a/util: Add u_handles module. * comp: Save/restore the correct texture binding on Android * aux/vk: Fix compile time conditionals * comp: Fix compile-time conditionals * comp: Move GLAD loading and extension checking to places with more information. * inc/xrt: Tighten requirements for AHardwareBuffer usage. * xrt: Use our generic graphics buffer typedefs all over. * comp: Split OpenGL[ES] swapchain types * xrt: Rename \"fd\" references to \"handle\" * xrt: Some clang tidy fixes. * ipc: Const correctness * ipc: Add a disabled loopback allocator * ipc: Make it possible to give the client compositor a image allocator * xrt: Add new image native allocator interface * st/oxr: Add plumbing for layers * cmake: Add build flags for OpenXR layers * c/main: Fix warnings with asserts * xrt: Add a bunch of different layer types * doc: Add changelogs for MR 477 * comp: make nvidia display selectable with XRT_COMPOSITOR_FORCE_NVIDIA_DISPLAY * comp: Move nvidia whitelist warning so it is displayed again * st/oxr: Fix crash in oxr_session_poll in headless mode * d/psvr: Fix 3DOF tracking * xrt: Make xrt_swapchain_create_info argument const * aux/vk: Make xrt_swapchain_create_info const * xrt: suggest correct GPU in xrGetVulkanGraphicsDevice() * st/oxr: Get viewport information from the native compositor * c/main: Fill out all of the compositor info struct * c/main: Remove internal compositor global flip_y * ipc: Use xrt_compositor_info in proto * ipc: Remove flip_y arguments to compositor creation * xrt: Use new info struct for compositor formats * xrt: Add xrt_compositor_info * xrt: Remove flip_y argument to native compositor creation * cmake: Update scripts from shared module repo. * doc: Add schema to proclamation config, mark some sections as sort-by-prefix. * st/oxr: Add support for MND_swapchain_usage_input_attachment_bit * st/oxr: Add new XR_MND_swapchain_usage_input_attachment_bit extension to headers * vk: Refactor VkImageUsageFlags code into helper function * vk: Add support for XRT_SWAPCHAIN_USAGE_INPUT_ATTACHMENT * xrt: Add new input attachment swapchain usage * d/vive: Demote watchman timeout error message to trace * d/vive: Run watchman poll in separate thread * aux/vk: vk_create_semaphore_from_fd -> vk_create_semaphore_from_native * inc/xrt: Add a native handle type for graphics sync primitives * inc/xrt: Add defines for underlying handle type * build: More strict build flags * xrt: Update GLAD again, to a \"merged\" distribution. * comp: Free comp_render_layer on layer destruction * ipc: initialize msg_control buffer * d/vive: close the zlib inflate stream * d/vive: Destroy watchman hid device on shutdown * comp: Free layer renderer on renderer destroy * st/p: Downgrade an \"error\" message to a \"debug\" message. * doc/changes: Document some MRs * build: Install manifest in openxr subdir with meson * st/oxr: Don\'t crash when native compositor creation fails * st/oxr: Actually return invalid path error in sync actions * st/oxr: error when sync with subactionpath that no action has * st/oxr: Respect action set priority for exact matching inputs * st/oxr: Don\'t return early when not using \'any\' subpath * d/vive/lighthouse: Handle lighthouse v2 reports. * d/vive: Add and use vive_lighthouse from ouvrt. * a/math: Add math_vec3_normalize. * u/logging: Add U_LOG_IFL. * d/vive: Print report type names. * d/vive: Poll pulse reports. * d/vive: Open and enable watchman on Vive, Vive Pro and Index. * d/vive: Remove unnesseccary clang-format off. * xrt: Add all remaining swapchain creation flags * comp: Remove some vkDeviceWaitIdle calls and document other * st/oxr: Convert some more missed subaction path iterations to x-macro usage. * st/oxr: Fix multiplicity of bound_path per action. * st/oxr: Add design documentation for OpenXR input subsystem. * st/oxr: Fix typo * xrt: Make swapchain static image bit match OpenXR * st/oxr: Centralize the lists of subaction paths using x-macros. * ipc: Docs * cmake: Make FindHIDAPI add include dirs to imported targets * st/oxr: Fix haptic actions being disabled * st/oxr: Implement xrEnumerateBoundSourcesForAction * st/oxr: Add a very ugly stub implementation of xrGetInputSourceLocalizedName * st/oxr: Add better verification in xrGetInputSourceLocalizedName * st/oxr: Tidy header * st/oxr: Combine input values * doc: Document !448 * st/oxr: Send XrEventDataInteractionProfileChanged events on interaction profile changes * st/oxr: Implement needed checks for xrGetCurrentInteractionProfile * st/oxr: Better error message for unhandled case in xrGetCurrentInteractionProfile * st/oxr: Fix the any handiness controllers not getting assigned to right * st/oxr: A slightly better stub implementation of xrEnumerateBoundSourcesForAction * doc: Update roadmap * doc: Add changelog snippets for !444 * ipc: Implement xrt_compositor::import_swapchain * ipc: Add function to import a swapchain * ipc: Fix in_handles handling by syncing with the server * c/main: Implement xrt_compositor::swapchain_import * c/main: Use new Vulkan image allocator helper * xrt: Add function to create swapchain from native images * xrt: Make xrt_compositor::create_swapchain return xrt_result_t * vk: Add image allocator helper * vk: Use xrt_swapchain_create_info in vk_create_image_from_native * vk: Remove unused vk_image * xrt: Make some fields on xrt_gl_swapchain private * xrt: Make some fields on xrt_vk_swapchain private * st/oxr: Check if relating space to itself first * st/oxr: Support locating stage space in local space * st/oxr: use initial head pose as local space origin * build: Use OpenGLES CMake module to gate OpenGL|ES support * cmake: Add FindOpenGLES.cmake * xrt: Add separate build config for OpenGL ES * st/oxr: Clean up GL/GLES image enumeration a bit for easier maintenance * st/oxr: Handle Android better. * external: Update GLAD with more code * meson: Re-arrange config header code * inc/xrt: Sort defines in generated config header * external: Update GLAD and add missing header * comp: Improve OpenGL extension checking * d/psvr: Fix hidapi include * xrt: use _USE_MATH_DEFINES to make sure M_PI gets defined. * build: Add missing jpeg include dir * build: Increase strictness of warnings. * build: Enable the Android Vulkan platform when applicable. * inc/xrt: Switch declaration order in xrt_handles to quiet Doxygen * aux: Move responsibility for clearing image FD to the helper. * comp/gl: hack: glFlush() before committing a layer * st/oxr: Handle quad layer with reference space as base space again * st/oxr: Basic support for ActionSpace as base space in QuadLayer * ipc: Use generic shmem functions now. * ipc: Define shmem utilities for Linux and Android * inc/xrt: Add helpers for the handle types - null value, validity checker * doc/changes: Document MR 436. * comp/shaders: Remove has_sub option. * comp/renderer: Provide subrect properties for projection layers. * comp/shaders: Sample quad layers with texture(). * doc/changes: Document MR 433. * comp/layers: Remove layer type from constructor. * comp/shaders: Rename quad shaders to layer. * comp/renderer: Render subimage properties in layer shader. * doc: Improve doxyfile * doc: Update prose and diagrams for fd->native renames. * build: Add FindEigen3.cmake from upstream, to support pointing at the include dir. * readme: Add meson build and update a bit * build: Install tools with meson * ipc: Support client->server \"in_handles\" * build: Sort drivers in status message * build: Dump config vars * build: Fix dependent option for compositor * build: Move determination of Vulkan usage to build system. * xrt: Rename xrt_gfx_fd.h to xrt_gfx_native.h * comp: Create second pipeline for premultiplied alpha blending * .gitignore: Tidy * .gitignore: Ignore Python caches * doc: Document MR 426 * xrt: Rename references to compositor/swapchain/image_fd to ..._native. * doc: Document MR 413 * ci: Build against Android platform 26 * ipc: Work on Android using AHardwareBuffer instead of FDs for graphics * xrt: Auto-detect Android in header * build: Handle Android NDK better. * ipc: Normalize parameter names * ipc: Replace \"out_fds\" with more generic \"out_handles\" * ipc: Port server side to use new factored-out utils * ipc: Start providing handle marshalling util functions * inc/xrt: Add handle typedefs, to use instead of \"int\" for file descriptors * ipc: Use factored-out utils on client side. * ipc: Add factored-out basic message send/receive * ipc: Change return type of some server functions from int to xrt_result_t * ipc: Formatting cleanup * ipc: Have server utils return xrt_result_t * ipc: Replace ipc_connection_t usage with struct ipc_connection * ipc: Be more strict in type parsing * ipc: Move data structure out of generation script * c/client: Slightly improve barriers, taken from !360 * st/prober: Rework HMD logic a bit and put HMD always in first position * doc: document MR 421 * build: Enable service less build with meson too * xrt: Add support for assigned device roles * drivers: Add rotation/position tracking bool to xdev * build: respect meson install-active-runtime option * build: Fix installing active_runtime.json on meson without DESTDIR * ci: Update for new packaging parts. * build: Fix destdir repetition when installing systemd units. * monado: Update version * doc: Remove old changelog fragments * doc: Update CHANGELOG.md * doc: Document MR418. * u/json: Fix a -Wmaybe-uninitialized on GCC 10.1.0. * c/compositor: Set a window title. * d/vive: Use VIVE_ERROR when vive_device is available. * doc: Document MR417. * u_logging: Format logging output. * d/vive/protocol: Port to u_logging. * d/vive/controller: Port to u_logging. * d/vive: Create common header for controller and hmd. * d/vive/device: Use VIVE_WARN and VIVE_INFO. * d/vive/device: Replace old debug macros with new ones. * d/vive/prober: Prettify logging. rename methods. * d/vive: Port logging to u_logging. * xrt: Tidy xrt_instance_create argument order and add doc-comment * ipc: Add a json schema for the IPC description * gitignore: Extend * t/service: Make the socket RemoveOnStop. * u_logging: Fix comments/doxygen * comp: Print info about AllowHMD when direct mode fails on nvidia- Fix spec * Wed Jul 08 2020 hpjAATTurpla.net- Update to version v0.2.0+git.20200706T201135.c5b93090: * st/oxr: Fix conformance failure and tidy up action set attached logic * doc: Add changelog for !408 and !409 * doc: Docment MR 410 * st/oxr: Properly name MNDX_ball_on_a_stick_controller * st/oxr: Reorder extension in prefix order * st/oxr: Make script be up to date to what\'s generated * xrt: Introduce xrt_swapchain_create_info * xrt: Tidy xrt_compositor.h * st/gui: Add a special UI for setting log level vars * d/psmv: Use new log level var tracker- Switched to disabled service * Thu Aug 08 2019 David Lanzendoerfer - Initial build.
|
|
|