Commit graph

4315 commits

Author SHA1 Message Date
Jakob Bornecrantz 1ae8acc71c d/psmv: Read calibration data 2019-09-05 17:24:57 +01:00
Jakob Bornecrantz 29b1713be9 xrt: Add enum xrt_device_name so that state trackers can reason about device 2019-09-04 12:47:18 +01:00
Jakob Bornecrantz a0f2793457 xrt: It's a cross not a x 2019-09-03 15:26:10 +01:00
Jakob Bornecrantz 5de401ea58 comp: Tidy wait frame 2019-08-31 14:17:41 +01:00
Jakob Bornecrantz cfb1ca3052 comp: Ensure nominal_frame_interval_ns is a sane value 2019-08-31 14:17:41 +01:00
Jakob Bornecrantz cfa89b84c1 d/psmv: Tidy doc 2019-08-27 09:04:03 +01:00
Jakob Bornecrantz 005abd5429 t/cli: Tidy CMakeLists.txt file 2019-08-27 08:52:57 +01:00
Jakob Bornecrantz 358183115f aux/track: Micro optimize hsv filter 2019-08-27 08:34:40 +01:00
Jakob Bornecrantz f5a93699cb xrt: Add XRT_NO_INLINE define 2019-08-27 08:34:40 +01:00
Jakob Bornecrantz 1e93ba2461 xrt: Refactor frame interface 2019-08-27 08:17:21 +01:00
Jakob Bornecrantz b9c3ac797e xrt: Add colour structs 2019-08-27 08:17:21 +01:00
Jakob Bornecrantz 7f3651775b xrt: Add xrt_reference struct 2019-08-27 08:17:21 +01:00
Jakob Bornecrantz 6774a7e1b3 xrt: Add atomics and container_of helpers 2019-08-27 08:17:21 +01:00
Jakob Bornecrantz 98d7c3542c d/v4l2: Minor fixes 2019-08-27 08:17:21 +01:00
Jakob Bornecrantz 0f9b5786f3 st/oxr: Remove unnecessary NULL check 2019-08-22 16:46:42 +01:00
Ryan Pavlik a8ae7c432d aux/tracking: Fix class vs struct warnings in calibration and hsv debug code. 2019-08-21 14:29:37 -05:00
Ryan Pavlik 12de62fdbc d/psmv: Fix typo in bit mask.
Found by clang-tidy.
2019-08-21 14:28:54 -05:00
Ryan Pavlik dae90d4b42 st/oxr: Fix potential null-deref in events.
Found by clang-tidy
2019-08-21 14:28:32 -05:00
Ryan Pavlik 624fe8ab59 st/oxr: Change iteration of actions. 2019-08-21 14:28:07 -05:00
Jakob Bornecrantz 79402d0081 aux/track: Add stub calibration tracker 2019-08-20 13:07:42 +01:00
Jakob Bornecrantz a2ffb18852 aux/util: Add a special yuv or yuyv converter sink 2019-08-20 12:40:05 +01:00
Jakob Bornecrantz fc88d7d099 aux/util: Add more formats 2019-08-20 12:40:05 +01:00
Jakob Bornecrantz 36f24036eb xrt: Add more formats 2019-08-20 12:40:05 +01:00
Jakob Bornecrantz c8f16be641 xrt: Refactor out frame from frameserver 2019-08-20 12:35:55 +01:00
Christoph Haag d9736ba3b7 comp: wait for next frame in xrWaitFrame
fixes 6e396ed

It was unnecessary to move the wait to xrEndFrame.
It does not matter if the compositor renders the frame immediately because the
frame physically can not be displayed before the next HMD refresh.

On the other hand, leaving too short of a time for the compositor to render
may delay the frame past its predicted time.
2019-08-20 10:10:10 +00:00
Ryan Pavlik 2389c207f5 st/oxr: debug utils extension cleanup 2019-08-19 17:12:33 -05:00
Ryan Pavlik 077d0c39c5 st/oxr: Unify handling of extensions. 2019-08-19 17:12:33 -05:00
Benjamin Saunders c111f528b8 oxr: Optionally install as the default runtime 2019-08-19 12:09:49 -05:00
Jakob Bornecrantz a0fcaf9b6b aux/util: Disable use of conversion table for YUV to RGB for now 2019-08-17 10:34:40 +01:00
Jakob Bornecrantz 042d30c590 comp: Fix warnings 2019-08-17 10:34:12 +01:00
Jakob Bornecrantz 33dd9b65ea st/oxr: Don't pad systemName with a lot of padding
This was a thinko by me and just plain wrong.
2019-08-17 09:31:01 +01:00
Ryan Pavlik e824b83112 st/oxr: Install manifest to major version "1" subdir 2019-08-17 03:31:40 +00:00
Ryan Pavlik 6566e7d21d st/oxr: Return FUNCTION_UNSUPPORTED for some not-enabled extensions.
More to do, but this is something.
2019-08-16 18:04:53 -05:00
Ryan Pavlik ac22f30a2c st/oxr: xrGetInstanceProcAddr typo fix. 2019-08-16 18:04:53 -05:00
Ryan Pavlik ad6c26c231 st/oxr: xrGetInstanceProcAddr doesn't require an instance to enumerate layers 2019-08-16 18:04:53 -05:00
Ryan Pavlik d6df86a9ae st/oxr: Don't write debug message on functions we just don't know in GIPA. 2019-08-16 18:04:53 -05:00
Ryan Pavlik ae63bfc0ac st/oxr: Adjust two call helper to satisfy spec. 2019-08-16 23:01:04 +00:00
Ryan Pavlik ca47a216c3 d/psmv: Minor clang-tidy fixes 2019-08-16 17:25:29 -05:00
Ryan Pavlik eef6d87da4 d/v4l2: Minor clang-tidy fixes 2019-08-16 17:25:29 -05:00
Ryan Pavlik 0088c6cb6e st/oxr: Fix possible null dereference.
Found by clang-tidy.
2019-08-16 17:25:29 -05:00
Ryan Pavlik c8776a8b0d st/oxr: Minor clang-tidy fixes. 2019-08-16 17:25:29 -05:00
Ryan Pavlik c048bc0052 targets: Clang-tidy fixes (name consistency) 2019-08-16 17:25:29 -05:00
Ryan Pavlik dddb8069d0 st/prober: Minor clang-tidy fixes. 2019-08-16 17:25:29 -05:00
Ryan Pavlik 80cc620eca st/prober: Fix use of uninitialized condition.
Found by clang-tidy
2019-08-16 17:25:29 -05:00
Ryan Pavlik c874d25ee3 st/prober: Fix null dereference.
Found by clang-tidy.
2019-08-16 17:25:29 -05:00
Ryan Pavlik e21b495f90 comp: Comment a resource and memory leak 2019-08-16 17:25:19 -05:00
Ryan Pavlik 2aca9821fa comp: Clang-tidy 2019-08-16 17:20:01 -05:00
Ryan Pavlik 86d3d2b149 aux/util: clang-tidy 2019-08-16 17:12:53 -05:00
Ryan Pavlik 876bd5088f hid: Fix clang-tidy warnings. 2019-08-16 17:12:53 -05:00
Ryan Pavlik 11c5518aa0 aux/math: Simplify 2019-08-16 17:12:53 -05:00
Ryan Pavlik 1700be7022 aux/math: Fix typo 2019-08-16 17:12:53 -05:00
Ryan Pavlik dbf0bdd014 comp: Factor out some shared functionality.
Simplifies error handling as well.
2019-08-16 17:12:35 -05:00
Nova King 2d016b3385 xrt: Added support for XR Swapchain flags 2019-08-16 22:06:28 +00:00
Ryan Pavlik 557172f8ae st/oxr: Silence warning about results in binding code. 2019-08-16 10:54:53 -05:00
Ryan Pavlik 1eae45212e comp: Complete initializers for Vulkan structures 2019-08-16 10:54:49 -05:00
Ryan Pavlik 6088402605 d/psvr: Fix narrowing conversions 2019-08-16 10:45:26 -05:00
Ryan Pavlik ea0dec9898 a/util: Cast realloc results. 2019-08-16 10:45:26 -05:00
Benjamin Saunders dbbfe8e455 Handle CMAKE_INSTALL_LIBDIR being absolute
This seems to be common in distro packaging environments.
2019-08-16 14:52:45 +00:00
Ryan Pavlik 261b9125f6 d/hdk: Use string descriptor to guess at revision 2019-08-15 12:36:01 +00:00
Ryan Pavlik 93976bb276 prober: Add ability to get string descriptors.
Right now we can only use libusb to get this info.
2019-08-15 12:36:01 +00:00
Ryan Pavlik 853f8ab68e d/hdk: Port to internal HID wrapper.
Not entirely feature-complete due to lack of access to descriptor strings.
2019-08-15 12:36:01 +00:00
Ryan Pavlik 0226c11528 inc/xrt: Fix typos 2019-08-15 12:36:01 +00:00
Christoph Haag 6e396ed07e comp: Add hack waiting on xrEndFrame() until frame should be displayed.
xrWaitFrame() doesn't block at all, will only predict the time for the next frame.
Once the compositor is multithreaded, this wait should be moved to the compositor thread
and xrWaitFrame should be the function to block until the compositor finished rendering the frame.
2019-08-15 12:29:58 +00:00
Ryan Pavlik 3e34060777 st/oxr: Ignore view config type in monado headless mode. 2019-08-14 17:15:15 -05:00
Ryan Pavlik 225bac0cfb st/oxr: Enforce 0 session create flags 2019-08-14 17:14:59 -05:00
Ryan Pavlik 761c4d7ca8 Fix build. 2019-08-14 17:14:46 -05:00
Ryan Pavlik 749e6bbdc5 Bump OpenXR includes to 1.0.1 2019-08-14 12:33:34 -05:00
Ryan Pavlik 1fd9936f95 st/oxr: Fix enumerating swapchain formats on headless 2019-08-14 12:28:30 -05:00
Christoph Haag 8cda1b6f67 comp: fix cleanup of direct window, delete with correct type
Found by gcc address sanitizer.
2019-08-13 01:47:50 +02:00
Jakob Bornecrantz 5fa58efcbf st/oxr: Verify width and height on swapchain create 2019-08-01 07:39:50 +01:00
Jakob Bornecrantz 4ebc308a37 st/oxr: Update version for OpenXR 1.0 support 2019-08-01 07:34:33 +01:00
Jakob Bornecrantz 57c6078a69 st/oxr: Update to OpenXR 1.0 2019-07-29 16:43:39 +01:00
Jakob Bornecrantz 08a4b40f77 st/oxr: Fix API negotiation code 2019-07-29 16:34:48 +01:00
Jakob Bornecrantz 3a89e2f0d4 ext/oxr: Update OpenXR headers to 1.0 2019-07-29 16:34:48 +01:00
Ryan Pavlik bf45f2bc21 st/oxr: Hack the fixed bindings to add support for the Hydra 2019-07-29 04:08:06 +01:00
Ryan Pavlik 2cd28914c7 d/hydra: Initially-functional multi-device Razer Hydra driver.
Not pretty - no filtering on tracking, coordinate system
probably a little bit wrong still, no hemisphere tracking,
but enough to show movement and resizing in hello_xr.
2019-07-29 03:01:57 +00:00
Jakob Bornecrantz 9a4fee3896 st/oxr: Code style 2019-07-25 00:57:51 +01:00
Jakob Bornecrantz 5fbebd2bd5 aux/util: Code style 2019-07-25 00:57:40 +01:00
Jakob Bornecrantz d66cd05445 st/oxr: Fix warnings during release builds 2019-07-25 00:53:04 +01:00
Jakob Bornecrantz 5beaba9c0d aux/util: Fix warnings during release builds 2019-07-25 00:53:04 +01:00
Jakob Bornecrantz fb24bb979f d/hdk: Fix warnings during release builds 2019-07-25 00:53:04 +01:00
Jakob Bornecrantz 4237b97d37 d/v4l2: Add control functions and expand PS4 quirk 2019-07-24 19:49:48 +01:00
Jakob Bornecrantz 718a81608a d/v4l2: Add new frameserver 2019-07-23 17:41:34 +01:00
Jakob Bornecrantz a544b4b56f aux/util: Add sink format converters 2019-07-23 17:41:34 +01:00
Jakob Bornecrantz 6a79f5878e aux/util: Add format helper functions 2019-07-23 17:41:34 +01:00
Jakob Bornecrantz b0337f29da xrt: Add frameserver interface 2019-07-23 17:41:34 +01:00
Jakob Bornecrantz 833ca3f8f9 xrt: Add some formats 2019-07-23 13:40:08 +01:00
Jakob Bornecrantz e7a933a168 st/oxr: Verify poses in space create functions 2019-07-21 14:57:45 +00:00
Jakob Bornecrantz 505d5cf5d6 aux/math: C export paranoia 2019-07-21 14:57:45 +00:00
Jakob Bornecrantz 776c46713f aux/math: Refactor math_pose_validate into two functions 2019-07-21 14:57:45 +00:00
Jakob Bornecrantz 223206dc24 st/oxr: Refactor function returning to actually raise error this time 2019-07-21 14:15:17 +01:00
Jakob Bornecrantz 97939accda st/oxr: Slightly improve swapchain image status
The current code is not up spec at all anyways, but this at least
helps to avoid some bad situations in the current code.
2019-07-02 17:54:13 +01:00
Jakob Bornecrantz 79364eaf4c st/oxr: Validate that Swapchain has at least one released image 2019-07-02 17:54:13 +01:00
Jakob Bornecrantz 35093bee3c d/psmv: Use new prober function helpers 2019-06-30 14:35:27 +01:00
Jakob Bornecrantz e336590153 t/cli: Use new prober function helpers 2019-06-30 14:35:27 +01:00
Jakob Bornecrantz b7defdb0ae st/oxr: Use new prober function helpers 2019-06-30 14:35:27 +01:00
Jakob Bornecrantz 985536457f xrt: Add helper accessor functions to prober 2019-06-30 14:35:27 +01:00
Jakob Bornecrantz ccac11ac1d st/prober: Remove auto-wrapper 2019-06-30 14:35:27 +01:00
Jakob Bornecrantz cc83b93733 d/psmv: Add helper function to convert value to u8 2019-06-28 18:32:30 +01:00
Jakob Bornecrantz af7238ec21 t/common: Link with Libusb1 2019-06-28 17:49:24 +01:00
Jakob Bornecrantz 1e8d683a49 t/common: Add PSVR to list of defines in targets_enabled 2019-06-28 16:53:53 +01:00
Jakob Bornecrantz 58da7263f1 t/common: Fix typo in PSMV define 2019-06-28 16:53:32 +01:00
Jakob Bornecrantz ef36766aca t/cli: Stub for calibration 2019-06-28 14:03:50 +01:00
Jakob Bornecrantz 249b9a03ca t/cli: Turn prober command into a cli interface for Monado 2019-06-28 14:03:50 +01:00
Jakob Bornecrantz 699bb8d5ad st/prober: Implement camera listing function 2019-06-28 14:03:50 +01:00
Jakob Bornecrantz 16f8b013ec st/prober: Save usb path and product name 2019-06-28 14:03:50 +01:00
Jakob Bornecrantz 24d3dc45c8 xrt: Add interface to list cameras 2019-06-28 14:03:50 +01:00
Jakob Bornecrantz f926f42a0d xrt: Remove unused field on xrt_prober_device 2019-06-28 11:37:18 +01:00
Ryan Pavlik 0d75b465bd build: Move enabled-driver defines to a header, instead of compiler options for every target. 2019-06-26 10:52:27 -05:00
Jakob Bornecrantz ec69936890 build: Revert "Only show the XRT_BUILD_ defines where they're needed."
This reverts commit 334d62dfcd.
2019-06-26 16:17:06 +01:00
Jakob Bornecrantz de4dc03ab7 st/oxr: Save people from shooting themselves in the foot 2019-06-25 18:36:14 +01:00
Ryan Pavlik 1f84814721 st/prober: Allow "found" functions called by prober to make more than one device. 2019-06-22 11:34:51 +01:00
Ryan Pavlik a673a4d469 st/oxr: Make the binding finder return bool so we can chain it. 2019-06-22 11:34:51 +01:00
Ryan Pavlik ccf26dcd4e os/hid: Add support for get/set feature reports. 2019-06-22 11:34:51 +01:00
Ryan Pavlik 2b006d5df7 aux/math: Add quaternion normalization 2019-06-22 11:34:51 +01:00
Jakob Bornecrantz 46fa9cbd25 t/prober: Refactor closing down a bit 2019-06-21 21:56:06 +01:00
Jakob Bornecrantz 0fa7af1dd2 d/psvr: Set name of PSVR headset 2019-06-21 21:55:43 +01:00
Ryan Pavlik 257cf6b5a8 prober: Fix typo 2019-06-21 13:17:55 -05:00
Ryan Pavlik cfb443843f targets/common: Add comment to target_entry_list 2019-06-21 13:17:55 -05:00
Ryan Pavlik 3cc7ee872a d/psmv: Fix typo 2019-06-21 13:17:55 -05:00
Ryan Pavlik 334d62dfcd build: Only show the XRT_BUILD_ defines where they're needed. 2019-06-21 13:17:55 -05:00
Jakob Bornecrantz 80cf616355 st/prober: Improve printing order of dumping 2019-06-21 17:10:57 +01:00
Jakob Bornecrantz cf8dfe6357 st/prober: Prefer deb_path for finding usb bus and addr 2019-06-21 17:04:27 +01:00
Jakob Bornecrantz a3ae5ae453 st/prober: Probe for V4L devices 2019-06-21 17:04:27 +01:00
Jakob Bornecrantz cb44c822d2 st/prober: Refactor hidraw enumeration code in udev file 2019-06-21 17:04:27 +01:00
Jakob Bornecrantz dfdc794272 st/prober: Refactor libuvc code to own file 2019-06-21 17:04:27 +01:00
Jakob Bornecrantz d9b820c834 st/prober: Refactor libusb code to own file 2019-06-21 17:04:25 +01:00
Jakob Bornecrantz 7f07cee387 st/prober: Guard libudev usage 2019-06-21 17:03:20 +01:00
Jakob Bornecrantz 542208bd42 d/ohmd: Fix warning by including right header 2019-06-19 16:45:10 +01:00
Ryan Pavlik c5fea837f3 oxr: Allow relative vs absolute manifest path to be selected at configure time. 2019-06-19 08:15:08 -07:00
Ryan Pavlik 88efae1078 oxr: Generate the dev manifest using the same template as installed. 2019-06-19 08:15:08 -07:00
Ryan Pavlik fc98db1439 oxr: Use an absolute path in the installed runtime manifest. 2019-06-19 08:15:08 -07:00
Ryan Pavlik 66086c1b0b oxr: Reduce proportion of install that's platform-guarded 2019-06-19 08:15:08 -07:00
Benjamin Saunders 40d8446ba8 oxr: Use absolute path of runtime library in manifest
Improves robustness when there might be multiple libraries by the same
name visible to the loader.
2019-06-19 08:15:08 -07:00
Jakob Bornecrantz 43f2a0f054 t/common: Code style 2019-06-19 12:10:12 +01:00
Caleb Szalacinski 6664588eba Added a delay quirk to allow the Oculus Rift CV1 to initialize properly. 2019-06-18 20:36:43 -05:00
Jakob Bornecrantz d30cd0b639 st/oxr: Fix segfault due to bad U_ZERO of sub_paths 2019-06-18 21:32:08 +01:00
Ryan Pavlik e70a28b912 st/oxr: Fix enumerating swapchain formats on headless
Operating on the assumption that it's OK to pass a null countOutput sometimes.
2019-06-18 15:17:53 -05:00
Ryan Pavlik 93c5ae105f st/oxr: Fix typo. 2019-06-18 14:46:51 -05:00
Ryan Pavlik c327d5e48c st/oxr: Banish remaining bare calloc calls. 2019-06-18 14:14:01 -05:00
Ryan Pavlik 901254b9ac aux/util: Improve docs for calloc wrappers 2019-06-18 14:14:01 -05:00
Ryan Pavlik edfa0323a3 comp: Use U_ZERO 2019-06-18 14:14:01 -05:00
Ryan Pavlik 3de9b08ebc d/psmv: Use U_ZERO 2019-06-18 14:14:01 -05:00
Ryan Pavlik 2175a4226b d/psvr: Use U_ZERO 2019-06-18 14:14:01 -05:00
Ryan Pavlik 661fa79057 st/prober: Use U_ZERO 2019-06-18 14:14:01 -05:00
Ryan Pavlik bc4b36ed61 st/oxr: Use U_ZERO 2019-06-18 14:14:01 -05:00
Ryan Pavlik 15b61b5c4f util: Add U_ZERO and U_ZERO_ARRAY wrappers for memset.
Ensures the type is always correct.
2019-06-18 14:14:01 -05:00
Ryan Pavlik 02be89bf35 targets: De-duplicate conditional inclusion of driver objects/libraries. 2019-06-18 18:44:17 +00:00
Ryan Pavlik 9d57e158f9 aux/util: fix truncation warning 2019-06-18 18:43:20 +00:00
Ryan Pavlik 287bd1cb06 d/ohmd: Cast bitmask enum 2019-06-18 18:43:20 +00:00
Ryan Pavlik 839d08616e drv/psvr: Fix some enum casting build errors 2019-06-18 18:43:20 +00:00
Ryan Pavlik b004f95503 comp: Adjust initialization order to match declaration. 2019-06-18 18:43:20 +00:00
Ryan Pavlik 941a18e06a util/u_device: Use typed calloc wrapper 2019-06-18 18:41:57 +00:00
Ryan Pavlik fbfee92601 d/oh: Have prober include interface header
Without this, the implementation definition might drift from the declaration,
and it doesn't get its extern "C"-ness.
2019-06-18 13:32:07 -05:00
Ryan Pavlik 0472bef1fa d/hdk: Have prober include interface header
Without this, the implementation definition might drift from the declaration,
and it doesn't get its extern "C"-ness.
2019-06-18 13:31:32 -05:00
Ryan Pavlik 0f2635a6eb a/os: Add extern "C" to hid header 2019-06-18 13:31:32 -05:00
Jakob Bornecrantz 739b6b7895 st/oxr: Code style fix 2019-06-18 13:09:59 -05:00
Ryan Pavlik 58f5d56d48 st/oxr: Code style fix 2019-06-18 13:09:59 -05:00
Ryan Pavlik 9635952165 aux/math: Codespell fix 2019-06-18 13:09:59 -05:00
Ryan Pavlik 21e324ed57 comp: Codespell fix 2019-06-18 13:09:59 -05:00
Ryan Pavlik de0506fb0c d/oh: Codespell fix 2019-06-18 13:09:59 -05:00
Ryan Pavlik aeff374fcb d/psvr: Codespell fix 2019-06-18 13:09:59 -05:00
Ryan Pavlik 2228a00b08 st/oxr: Codespell fix 2019-06-18 13:09:59 -05:00
Jakob Bornecrantz e745a28374 st/oxr: Basic foundation for input and output
This commits lays the foundation for actions in Monado (input and output).
There are lots of things missing and non-conformant in there. But once in
more people then just me can test it out and work on it.
2019-06-18 17:56:10 +01:00
Jakob Bornecrantz b71e143eaa d/psmv: Add PS Move driver 2019-06-18 17:56:10 +01:00
Benjamin Saunders 41ad2b872c st/oxr: Accept nonnull subactionPaths when countSubactionPaths is 0
It's not clear that this is forbidden, and it can make the caller's
life a little easier.
2019-06-14 12:06:00 -07:00
Ryan Pavlik 06cb5d680b st/oxr: Check requested OpenXR API version.
Conformance.
2019-06-12 15:40:19 -05:00
Ryan Pavlik 0bdb4e4aeb st/oxr: Unify checking of system ID, and do so in createSession 2019-06-12 15:40:19 -05:00
Ryan Pavlik 052728d515 st/oxr: Don't break on function unsupported errors. 2019-06-12 15:39:26 -05:00
Jakob Bornecrantz 4c6de83ea9 comp: Fix uninitialised errors from Valgrind
```txt
Conditional jump or move depends on uninitialised value(s)
   at 0x6A5A7A0: vk_select_physical_device (comp_vk.c:847)
   by 0x6A5AAF9: vk_create_device (comp_vk.c:916)
   by 0x6A5CD82: compositor_check_vulkan_caps (comp_compositor.c:401)
   by 0x6A5D659: comp_compositor_create (comp_compositor.c:656)
   by 0x6A5F99B: xrt_gfx_vk_provider_create (comp_glue_vk.c:57)
   by 0x6A78197: oxr_session_populate_vk (oxr_session_vk.c:32)
   by 0x6A77E59: oxr_session_create_impl (oxr_session.c:536)
   by 0x6A77F53: oxr_session_create (oxr_session.c:567)
   by 0x6A6EA74: oxr_xrCreateSession (oxr_api_session.c:44)
   by 0x2632A8: xrCreateSession (in hello_xr)
   by 0x239F0D: (anonymous namespace)::OpenXrProgram::InitializeSession() (in hello_xr)
   by 0x22ED25: main (in hello_xr)
 Uninitialised value was created by a stack allocation
   at 0x6A5CB05: compositor_check_vulkan_caps (comp_compositor.c:349)
```
2019-06-11 15:27:31 +01:00
Jakob Bornecrantz 8aec512de3 xrt: Update prober interface 2019-06-10 14:47:19 +01:00
Jakob Bornecrantz 89d8315b3b xrt: Add output interfaces 2019-06-10 14:47:19 +01:00
Jakob Bornecrantz 1f64f714f6 xrt: Add input, hmd_parts and tracking interface
This patch has been spun of the rather massive amount of work for adding input
devices into Monado. The interfaces feels somewhat stable now so could do
with another pair of eyes on them, before too much work is done on st/oxr.
2019-06-10 14:47:19 +01:00
Jakob Bornecrantz 889c89590c st/oxr: Implement action stubs in oxr_input.c 2019-06-10 14:47:05 +01:00
Jakob Bornecrantz de6bf55116 aux/util: Add hashmap 2019-06-10 14:47:05 +01:00
Jakob Bornecrantz 2d6cb08c48 aux/util: Fix uninitialized errors 2019-06-10 14:15:53 +01:00
Ryan Pavlik acec80da2f st/oxr: Fix graphics binding error codes/messages 2019-06-03 22:52:28 +00:00
Ryan Pavlik dab52d319d st/oxr: Support arbitrary next chains in session creation. 2019-06-03 22:52:28 +00:00
Ryan Pavlik 0a523bef05 st/oxr: Fix verifying XrSessionCreateInfo and graphics bindings structs.
Don't enforce next == NULL, and look through entire chain for structure
type enum, using oxr_chain.h
2019-06-03 22:52:28 +00:00
Ryan Pavlik fa8047fed3 st/oxr: Add oxr_chain.h header
This should replace all manual poking of the next chain.
Prefer the macros over the functions since they'll do your casting for you.
2019-06-03 22:52:28 +00:00
Ryan Pavlik e944bcb96f st/oxr: Parenthesize macro args.
Found by upcoming modifications.
2019-06-03 22:52:28 +00:00
Ryan Pavlik 74065d49dd st/oxr: Remove incorrect check in OXR_VERIFY_TYPE_AND_NULL
We are to ignore any unexpected types in a next chain.
2019-06-03 22:52:28 +00:00
Ryan Pavlik 9c979099e3 st/oxr: Fix some error message formatting in oxr_verify 2019-06-03 17:48:59 -05:00
Ryan Pavlik 0696203858 st/oxr: Document message style for oxr_error 2019-06-03 17:48:39 -05:00
Jakob Bornecrantz c0008199ae aux/util: Remove meta prober 2019-05-16 20:41:35 +01:00
Jakob Bornecrantz 43dfb400a6 prober: Add small helper program to debug st/prober 2019-05-16 20:41:35 +01:00
Jakob Bornecrantz 702eba0f53 openxr: Use prober target 2019-05-16 20:41:35 +01:00
Jakob Bornecrantz d97df04c11 xrt: Add new prober interface and code 2019-05-16 20:41:35 +01:00
Jakob Bornecrantz e2bd986bc5 os: Add a minimal hidraw wrapper 2019-05-13 18:26:02 +01:00
Jakob Bornecrantz d9cdd04b7a openxr: Don't unconditionally link with OpenHMD driver 2019-05-13 18:09:40 +01:00
Christoph Haag 09e9771a2d st/oxr: fix path length verification
We can't assume the string is null terminated.
2019-05-09 17:49:03 +00:00
Jakob Bornecrantz d5f5d9f354 st/oxr: Set session on action spaces 2019-05-09 12:42:28 +01:00
Jakob Bornecrantz defc4f9eef build: Tidy auxiliary 2019-05-09 12:42:26 +01:00
Jakob Bornecrantz 83159a02c1 d/psvr: Add to meta prober and OpenXR target
Still hidden behind a env variable.
2019-05-06 16:46:10 +00:00
Jakob Bornecrantz 42cddb2580 d/psvr: Add a experimental PSVR driver
Hidden behind a env variable.
2019-05-06 16:46:10 +00:00
Benjamin Saunders 74165d7e0e comp: Support sRGB swapchain under OpenGL 2019-05-04 13:25:24 -07:00
Jakob Bornecrantz e0adc25124 aux/util: Add a device helper function to setup the fields for a common HMD setup 2019-05-03 18:56:14 +01:00
Jakob Bornecrantz a70fdba30e st/oxr: Move CMakeLists.txt into base directory 2019-05-03 18:53:24 +01:00
Jakob Bornecrantz dc9ab44a5a xrt: Rename xrt_prober to xrt_auto_prober 2019-05-03 18:53:07 +01:00
Jakob Bornecrantz fd74f48529 xrt: Code style 2019-05-02 14:07:52 +01:00
Jakob Bornecrantz 690a354bd1 comp: Code style 2019-05-02 14:07:41 +01:00
Benjamin Saunders 13cef1b8b9 comp: Support rendering individual array layers 2019-05-01 17:45:43 -07:00
Benjamin Saunders b6f2013bc5 st/oxr: Frame end uses the most recently released image 2019-05-01 17:45:43 -07:00
Benjamin Saunders f6b8cb25b8 comp: Respect swapchain array size 2019-05-01 17:45:43 -07:00
Jakob Bornecrantz c8cdf3ee38 d/ohmd: Tidy code style 2019-04-30 14:02:00 +01:00
Jakob Bornecrantz 9c05e853cc build: Refactor flags and definitions (and fix fallout)
Defines:
* XRT_HAVE_[name] is a external dep indicator.
* XRT_DRIVER_[name] if a internal driver is built.

CMake variables:
* BUILD_WITH_[name] is a external dep indicator.
* BUILD_DRIVER_[name] tells if we should build a specific driver.
2019-04-29 17:18:09 +01:00
Jakob Bornecrantz 831b52f71e d/ohmd: Refactor quirking some more 2019-04-27 09:21:12 +01:00
Jakob Bornecrantz 8675142e32 d/ohmd: Refactor quirking code 2019-04-27 09:06:33 +01:00
Jakob Bornecrantz 79d7555449 d/ohmd: Make rotate in be more correct 2019-04-27 08:32:44 +01:00
Jakob Bornecrantz 2caa08f8a8 comp: Debug print more info 2019-04-25 06:46:20 +01:00
Jakob Bornecrantz 95f24f4735 comp: Debug print Vulkan device and version 2019-04-25 06:34:34 +01:00
Ryan Pavlik 3a4e020920 st/oxr: Fix conformance issue in begin session. 2019-04-24 02:41:34 +00:00
Benjamin Saunders 570ba1ae88 st/oxr: Initialize action act_set pointer
Fixes a segfault in OXR_VERIFY_ACTION_AND_INIT_LOG
2019-04-22 09:19:59 -07:00
Jakob Bornecrantz bc77052493 st/oxr: Tidy code style 2019-04-20 02:54:23 +01:00
Jakob Bornecrantz e39260eb67 d/ohmd: Add quirk for PSVR
The OpenHMD driver does not have any sensible panotools values
2019-04-19 14:56:47 +01:00
Jakob Bornecrantz 2d6b3c2113 openxr: Use meta prober 2019-04-15 09:52:44 +01:00
Jakob Bornecrantz aa4a0eb9f7 aux/util: Add meta proper helper 2019-04-15 09:52:44 +01:00
Benjamin Saunders 1da5cd9914 st/oxr: Initialize action set session pointer
Fixes a segfault in OXR_VERIFY_ACTION_AND_INIT_LOG
2019-04-15 09:52:40 +01:00
Benjamin Saunders 9b774cbd72 st/oxr: Verify action names 2019-04-15 09:52:37 +01:00
Benjamin Saunders f32cab368f st/oxr: Fix error code for empty path segments 2019-04-15 09:52:34 +01:00
Benjamin Saunders a776b94147 st/oxr: Fix localized name validation 2019-04-15 09:52:30 +01:00
Jakob Bornecrantz ab6defc610 d/*: Add a bit of documentation organization 2019-04-12 14:08:46 +01:00
Jakob Bornecrantz a6ea2816cb st/oxr: Tidy off by one error 2019-04-12 11:48:25 +01:00
Jakob Bornecrantz 98c91ccb25 st/oxr: Tidy code style 2019-04-12 11:46:59 +01:00
Jakob Bornecrantz fcdfd9d97d st/oxr: Pipe some path functions down into the path store 2019-04-12 11:30:01 +01:00
Jakob Bornecrantz 77b3b7b840 st/oxr: Add a path store 2019-04-12 11:30:01 +01:00
Jakob Bornecrantz 9173e1d31c st/oxr: Add code to verify full paths 2019-04-12 11:30:01 +01:00
Jakob Bornecrantz 51b5d55e61 st/oxr: Use correct error returns in single level path
Spotted by Ryan.
2019-04-12 11:30:01 +01:00
Jakob Bornecrantz e4a779f19b aux/util: Add a size calloc helper 2019-04-12 10:47:13 +01:00
Jakob Bornecrantz a36565c5b7 aux/util: Add string hashset 2019-04-12 10:47:13 +01:00
Jakob Bornecrantz b8e4a5f8d1 aux/math: Add simple string hashing function 2019-04-12 10:47:13 +01:00
Jakob Bornecrantz d353149679 xrt: Tidy whitespace 2019-04-10 12:45:48 +01:00
Ryan Pavlik 917366a730 build: Fix typo.
Left over from an abandoned alternate approach.
2019-04-08 15:19:18 -05:00
Ryan Pavlik cd97d12fc9 include: Trigger compiler error if debugbreak isn't known. 2019-04-08 19:49:38 +00:00
Ryan Pavlik 611febab5a st/oxr: Switch logger to using XRT_DEBUGBREAK 2019-04-08 19:49:38 +00:00
Ryan Pavlik b7b27cc5a0 include: Add XRT_DEBUGBREAK to xrt_cmmpiler.h 2019-04-08 19:49:38 +00:00
Ryan Pavlik 891eb7f1c4 st/oxr: Add a debug option to break/trap on error.
Might be useful for debugging, since once the consuming call has returned,
you've lost most of the context of what led to the error.
2019-04-08 19:49:38 +00:00
Ryan Pavlik d4b47a0edb build: Don't say CMAKE_INSTALL_PREFIX in an install destination
This can make it harder for packagers, or at least isn't
"best practices" without a good reason.
2019-04-08 19:11:04 +00:00
Ryan Pavlik 5cfa0907b6 build: Use and obey config options for driver selection.
We had BUILD_WITH_OPENHMD but it was unused,
while the HDK driver always built if the deps were found.
2019-04-08 19:11:04 +00:00
Ryan Pavlik eec53ca35d build: Use FindOpenHMD.
Fixes a gripe/todo in the build system, too :D
2019-04-08 19:11:04 +00:00
Ryan Pavlik af2756b50a st/oxr: Fix conformance issue in xrBeginFrame 2019-04-08 14:02:36 -05:00
Ryan Pavlik 3d2d391fbe st/oxr: Fix error message for xrCreateSession.
Missing graphics binding is XR_ERROR_GRAPHICS_DEVICE_INVALID.
2019-04-08 14:02:36 -05:00
Jakob Bornecrantz 1d4e73caea st/oxr: Return correct error value 2019-04-08 19:41:30 +01:00
Jakob Bornecrantz 78afc55d94 st/oxr: Improve the fixed size single path verifier 2019-04-08 18:35:09 +00:00
Jakob Bornecrantz 9b3b370466 xrt: Refactor documentation 2019-04-06 14:22:29 +01:00
Jakob Bornecrantz 86d906cb4d comp: Refactor documentation 2019-04-06 13:05:35 +01:00
Jakob Bornecrantz 6fb8a216a3 aux/math: Group the files and structs in documentation 2019-04-06 13:05:35 +01:00
Jakob Bornecrantz d1b91e5451 aux/util: Group the files and structs in documentation 2019-04-06 13:04:13 +01:00
Jakob Bornecrantz 6355f02ae7 st/oxr: Tidy code style 2019-04-06 09:40:54 +01:00
Ryan Pavlik 98cdb84b26 st/oxr: Simplify and dedupe session creation.
The per-graphics-binding code now just "populates"
a centrally-created session, rather than "creates".
2019-04-05 17:45:37 -05:00
Ryan Pavlik 6209e17c76 st/oxr: Make verification macros confirm that the handle is alive. 2019-04-05 17:45:37 -05:00
Ryan Pavlik e5561b9b90 st/oxr: Minimal debug messenger "implementation".
Just does enough to avoid crashing - allowing the loader, etc.
to actually handle most of it.
2019-04-05 17:45:37 -05:00
Ryan Pavlik f533d737b9 st/oxr: Improve action space stubs. 2019-04-05 17:45:37 -05:00
Ryan Pavlik 0b2b99ca89 st/oxr: Improve actionset/action stubs. 2019-04-05 17:45:37 -05:00
Ryan Pavlik a958fd2820 st/oxr: Provide handle lifecycle management 2019-04-05 17:45:37 -05:00
Ryan Pavlik 1a85fef0a9 u_misc: Add missing include. 2019-04-05 11:51:46 -05:00
Jakob Bornecrantz 918b7ea467 st/oxr: Silence warning 2019-04-05 10:42:49 +01:00
Christoph Haag ab275a625e st/oxr: Use system name from xrt_device 2019-04-05 09:52:29 +01:00
Christoph Haag 55ec276810 d/ohmd: Set xrt_device name to name from OpenHMD 2019-04-05 09:52:29 +01:00
Christoph Haag 81b423b6bf xrt: Add name to xrt_device 2019-04-05 09:50:39 +01:00
Jakob Bornecrantz cae8d40c11 st/oxr: Add viewport scaling env variable 2019-04-03 17:55:20 +01:00
Jakob Bornecrantz 76c9cd4c67 comp: Filter distortion texture lineary 2019-04-03 17:54:16 +01:00
Jakob Bornecrantz 1873d3a1d2 comp: Tidy code 2019-04-03 17:24:06 +01:00
Pete Black df2b6da078 comp: Add NVIDIA direct mode code 2019-04-03 17:02:07 +01:00
Pete Black ecec5f1a1a comp: Make surface format selection more flexible 2019-04-03 17:02:07 +01:00
Jakob Bornecrantz c6b4b7916a comp: Refactor vk_get_loader_functions function 2019-04-03 17:00:43 +01:00
Jakob Bornecrantz e4a016f4d6 d/hdk: Tidy code style 2019-04-03 17:00:43 +01:00
Jakob Bornecrantz 4540cff077 st/oxr: Silence warning
Reviewed-by: Ryan Pavlik <ryan.pavlik@collabora.com>
2019-04-01 17:07:23 +01:00
Lubosz Sarnecki bbf484f51e comp: Free client command pool.
As pointed out by Vulkan validation on the client intance.
2019-03-29 11:00:57 +01:00
Lubosz Sarnecki 00afe442f8 comp: Introduce XRT_COMPOSITOR_VULKAN_VALIDATION.
For enabling Vulkan validation during runtime.
Add CMake option to disable Vulkan validation at build time.
By default the DEBUG extension is enabled but the validation layers
are not when the ENV variable is not set to true.
2019-03-29 10:59:41 +01:00
Jakob Bornecrantz 5d5d420fb6 d/hdk: Fix unhandled case warnings 2019-03-27 17:34:46 +00:00
Ryan Pavlik c147607728 st/oxr: Guard frame end and frame begin for use in headless sessions.
They aren't on the list of "illegal in headless" functions.
2019-03-27 16:23:01 +00:00
Ryan Pavlik 72b0a97142 st/oxr: Enable dynamic prediction by default. 2019-03-27 16:22:56 +00:00
Ryan Pavlik dc990a8e77 d/hdk: Adjust timestamp for latency, based on experiments. 2019-03-27 16:22:45 +00:00
Ryan Pavlik 82f5a974e3 st/oxr: Optionally perform dynamic prediction. 2019-03-27 16:22:41 +00:00
Ryan Pavlik f78509ba9b st/oxr: Hand determination of frame time and interval over to compositor 2019-03-27 13:39:22 +00:00
Ryan Pavlik 8c37377853 comp: Keep track of nominal display interval and last time 2019-03-27 13:39:22 +00:00
Ryan Pavlik f6c97ec253 comp: Pass time state down into compositor 2019-03-27 13:39:22 +00:00
Jakob Bornecrantz bf2eae1524 d/hdk: Tidy code style 2019-03-27 13:36:30 +00:00
Jakob Bornecrantz b47b9748a5 st/oxr: Tidy code style 2019-03-27 13:35:26 +00:00
Jakob Bornecrantz 5a7b5cf247 aux/math: Tidy whitespace 2019-03-27 13:34:58 +00:00
Ryan Pavlik 605005b7c2 oh: Compare current and previous quaternion to detect old data.
Bitwise comparison because we have no timestamp to check.
2019-03-25 16:37:12 -05:00
Ryan Pavlik ef633d79fb st/oxr: Silence Clang warnings about typeof 2019-03-25 19:20:23 +00:00
Ryan Pavlik cfb315d714 oh: Use finite differencing to find ang velocity.
Only if we can't get it from OpenHMD directly,
and only if not disabled explicitly.
2019-03-25 12:28:54 -05:00
Ryan Pavlik d29dc04e05 aux/math: Add quat finite difference function 2019-03-25 12:28:54 -05:00
Ryan Pavlik 9004ea80bb xrt: Devices get a timekeeping object, must return a timestamp.
Updates drivers to match.
2019-03-25 12:28:54 -05:00
Ryan Pavlik 294be21392 d/oh: Populate nominal frame interval 2019-03-25 12:28:54 -05:00
Ryan Pavlik 3e7b9169d6 d/hdk: Populate nominal frame interval 2019-03-25 12:28:54 -05:00
Ryan Pavlik aa38b70ac7 xrt: Add nominal frame interval to device interface. 2019-03-25 12:28:54 -05:00
Ryan Pavlik 94cd1908db aux/util: Add time_ns_to_s and time_s_to_ns 2019-03-25 12:28:54 -05:00
Jakob Bornecrantz 992c176143 st/oxr: Fix verify prototype and add extern C attributes 2019-03-25 01:18:17 +00:00
Benjamin Saunders c8515e142d st/oxr: Ignore graphics bindings from disabled extensions 2019-03-24 15:03:23 -07:00
Benjamin Saunders 3c9eafc1f0 st/oxr: Implement XR_KHR_headless 2019-03-24 13:25:30 -07:00
Benjamin Saunders b7023c2ec6 st/oxr: More accurate xrGetReferenceSpaceBoundsRect return code 2019-03-23 10:05:27 -07:00
Benjamin Saunders f016492a81 build: Add missing GLX dependency
Fixes loading by applications that do not themselves link GLX.
2019-03-22 20:11:51 -07:00
Ryan Pavlik a06a9eaac2 hdk: Skip apparent matches that have weird USB props. 2019-03-22 17:05:02 -05:00
Ryan Pavlik c38026e571 comp: Fix comment typo. 2019-03-22 14:19:19 -05:00
Ryan Pavlik 5b4c3a2f94 comp: Use U_TYPED_CALLOC/U_TYPED_ARRAY_CALLOC 2019-03-22 13:50:29 -05:00
Ryan Pavlik f7d990c7e3 xrt: Use U_TYPED_CALLOC 2019-03-22 13:47:51 -05:00
Ryan Pavlik e57e858351 aux/util: Add U_TYPED_CALLOC macro to wrap calloc and casting. 2019-03-22 13:47:51 -05:00
Ryan Pavlik 142a9a77eb d/hdk: clarify display transforms and add an ifdef to not rotate. 2019-03-22 17:35:18 +00:00
Ryan Pavlik 3a1a120238 d/hdk: Fix orientation and angular velocity of tracker 2019-03-22 17:35:18 +00:00
Ryan Pavlik 32fd930ada d/hdk: Neatly handle disconnects 2019-03-22 17:35:18 +00:00
Ryan Pavlik 9d0888cd7d d/hdk: Harden against USB issues in prober. 2019-03-22 17:35:18 +00:00
Ryan Pavlik b74e7c74e2 d/hdk: Handle more models 2019-03-22 17:35:18 +00:00
Ryan Pavlik 1d6207eee8 st/oxr: Fix some type issues 2019-03-22 16:54:14 +00:00
Ryan Pavlik d1ec5fa66a oh: Fix type issues 2019-03-22 16:54:14 +00:00
Ryan Pavlik afd20250ed comp: Fix Vulkan type issues. 2019-03-22 16:54:14 +00:00
Christoph Haag b8c5ba4bc9 comp: handle acquiring direct mode failing 2019-03-22 16:41:53 +00:00
Jakob Bornecrantz 0b7a620c02 st/oxr: Do not enumerate the XR_KHR_headless extension as it is not supported yet 2019-03-21 18:54:05 +00:00
Lubosz Sarnecki 52e11ac4c5 comp: Move VIVE distortion properties to UBO. 2019-03-18 14:45:31 +01:00
Lubosz Sarnecki 6f5ef7a0cb comp: Rename ubo_data to ubo_pano. 2019-03-18 14:45:31 +01:00
Lubosz Sarnecki a87e6e664e oh: Initialize VIVE distortion parameters with default values from my VIVE. 2019-03-18 14:45:31 +01:00
Lubosz Sarnecki cdfe8b8d4a xrt: Define VIVE distortion parameters. 2019-03-18 14:41:57 +01:00
Jakob Bornecrantz 15a97422ba xrt: Add all of Monado 2019-03-18 05:52:32 +00:00