Commit graph

4315 commits

Author SHA1 Message Date
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