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