···775775 struct xrt_device **xdevs,
776776 uint32_t xdev_count,
777777 struct xrt_device *head,
778778- const struct xrt_pose *local_offset)
778778+ const struct xrt_pose *local_offset,
779779+ bool root_is_unbounded)
779780{
780781 struct xrt_space *root = uso->base.semantic.root; // Convenience
781782···810811 assert(uso->base.semantic.view == NULL);
811812 assert(uso->base.semantic.stage == NULL);
812813 assert(uso->base.semantic.local == NULL);
814814+ assert(uso->base.semantic.unbounded == NULL);
813815 xrt_space_reference(&uso->base.semantic.view, NULL);
814816 xrt_space_reference(&uso->base.semantic.stage, NULL);
815817 xrt_space_reference(&uso->base.semantic.local, NULL);
818818+ xrt_space_reference(&uso->base.semantic.unbounded, NULL);
816819817820 // Assume the root space is the center of the stage space.
818821 xrt_space_reference(&uso->base.semantic.stage, uso->base.semantic.root);
822822+823823+ // If the system wants to support the space, set root as unbounded.
824824+ if (root_is_unbounded) {
825825+ xrt_space_reference(&uso->base.semantic.unbounded, uso->base.semantic.root);
826826+ }
819827820828 // Set local to the local offset.
821829 u_space_overseer_create_offset_space(uso, uso->base.semantic.root, local_offset, &uso->base.semantic.local);
+2-1
src/xrt/auxiliary/util/u_space_overseer.h
···4848 struct xrt_device **xdevs,
4949 uint32_t xdev_count,
5050 struct xrt_device *head,
5151- const struct xrt_pose *local_offset);
5151+ const struct xrt_pose *local_offset,
5252+ bool root_is_unbounded);
52535354/*!
5455 * Creates a space without any offset, this is just for optimisation over a