diff --git a/src/xrt/state_trackers/oxr/oxr_conversions.h b/src/xrt/state_trackers/oxr/oxr_conversions.h index 2532bf4c9..df5d395f4 100644 --- a/src/xrt/state_trackers/oxr/oxr_conversions.h +++ b/src/xrt/state_trackers/oxr/oxr_conversions.h @@ -57,6 +57,7 @@ oxr_ref_space_to_xr(enum oxr_space_type space_type) switch (space_type) { case OXR_SPACE_TYPE_REFERENCE_VIEW: return XR_REFERENCE_SPACE_TYPE_VIEW; case OXR_SPACE_TYPE_REFERENCE_LOCAL: return XR_REFERENCE_SPACE_TYPE_LOCAL; + case OXR_SPACE_TYPE_REFERENCE_LOCAL_FLOOR: return XR_REFERENCE_SPACE_TYPE_LOCAL_FLOOR_EXT; case OXR_SPACE_TYPE_REFERENCE_STAGE: return XR_REFERENCE_SPACE_TYPE_STAGE; case OXR_SPACE_TYPE_REFERENCE_UNBOUNDED_MSFT: return XR_REFERENCE_SPACE_TYPE_UNBOUNDED_MSFT; case OXR_SPACE_TYPE_REFERENCE_COMBINED_EYE_VARJO: return XR_REFERENCE_SPACE_TYPE_COMBINED_EYE_VARJO; @@ -72,6 +73,7 @@ xr_ref_space_to_oxr(XrReferenceSpaceType space_type) switch (space_type) { case XR_REFERENCE_SPACE_TYPE_VIEW: return OXR_SPACE_TYPE_REFERENCE_VIEW; case XR_REFERENCE_SPACE_TYPE_LOCAL: return OXR_SPACE_TYPE_REFERENCE_LOCAL; + case XR_REFERENCE_SPACE_TYPE_LOCAL_FLOOR_EXT: return OXR_SPACE_TYPE_REFERENCE_LOCAL_FLOOR; case XR_REFERENCE_SPACE_TYPE_STAGE: return OXR_SPACE_TYPE_REFERENCE_STAGE; case XR_REFERENCE_SPACE_TYPE_UNBOUNDED_MSFT: return OXR_SPACE_TYPE_REFERENCE_UNBOUNDED_MSFT; case XR_REFERENCE_SPACE_TYPE_COMBINED_EYE_VARJO: return OXR_SPACE_TYPE_REFERENCE_COMBINED_EYE_VARJO; diff --git a/src/xrt/state_trackers/oxr/oxr_defines.h b/src/xrt/state_trackers/oxr/oxr_defines.h index 2b35fcc33..1b4d97a36 100644 --- a/src/xrt/state_trackers/oxr/oxr_defines.h +++ b/src/xrt/state_trackers/oxr/oxr_defines.h @@ -92,9 +92,10 @@ enum oxr_image_state */ enum oxr_space_type { - OXR_SPACE_TYPE_REFERENCE_VIEW = 1, - OXR_SPACE_TYPE_REFERENCE_LOCAL = 2, - OXR_SPACE_TYPE_REFERENCE_STAGE = 3, + OXR_SPACE_TYPE_REFERENCE_VIEW, + OXR_SPACE_TYPE_REFERENCE_LOCAL, + OXR_SPACE_TYPE_REFERENCE_LOCAL_FLOOR, + OXR_SPACE_TYPE_REFERENCE_STAGE, OXR_SPACE_TYPE_REFERENCE_UNBOUNDED_MSFT, OXR_SPACE_TYPE_REFERENCE_COMBINED_EYE_VARJO, diff --git a/src/xrt/state_trackers/oxr/oxr_objects.h b/src/xrt/state_trackers/oxr/oxr_objects.h index 5d3212865..ca04b6a8a 100644 --- a/src/xrt/state_trackers/oxr/oxr_objects.h +++ b/src/xrt/state_trackers/oxr/oxr_objects.h @@ -1893,6 +1893,7 @@ oxr_space_type_is_reference(enum oxr_space_type space_type) switch (space_type) { case OXR_SPACE_TYPE_REFERENCE_VIEW: case OXR_SPACE_TYPE_REFERENCE_LOCAL: + case OXR_SPACE_TYPE_REFERENCE_LOCAL_FLOOR: case OXR_SPACE_TYPE_REFERENCE_STAGE: case OXR_SPACE_TYPE_REFERENCE_UNBOUNDED_MSFT: case OXR_SPACE_TYPE_REFERENCE_COMBINED_EYE_VARJO: return true; diff --git a/src/xrt/state_trackers/oxr/oxr_space.c b/src/xrt/state_trackers/oxr/oxr_space.c index 0a0a63036..8c4c88717 100644 --- a/src/xrt/state_trackers/oxr/oxr_space.c +++ b/src/xrt/state_trackers/oxr/oxr_space.c @@ -119,6 +119,7 @@ get_xrt_space(struct oxr_logger *log, struct oxr_space *spc, struct xrt_space ** case OXR_SPACE_TYPE_ACTION: return get_xrt_space_action(log, spc, out_xspace); case OXR_SPACE_TYPE_REFERENCE_VIEW: xspace = spc->sess->sys->xso->semantic.view; break; case OXR_SPACE_TYPE_REFERENCE_LOCAL: xspace = spc->sess->sys->xso->semantic.local; break; + case OXR_SPACE_TYPE_REFERENCE_LOCAL_FLOOR: xspace = NULL; break; case OXR_SPACE_TYPE_REFERENCE_STAGE: xspace = spc->sess->sys->xso->semantic.stage; break; case OXR_SPACE_TYPE_REFERENCE_UNBOUNDED_MSFT: xspace = spc->sess->sys->xso->semantic.unbounded; break; case OXR_SPACE_TYPE_REFERENCE_COMBINED_EYE_VARJO: xspace = NULL; break;