Skip to content

Commit 24a878f

Browse files
committed
fix: The WebGL context was not marked as XR compatible
1 parent 9d477d8 commit 24a878f

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

‎packages/xr/src/store.ts‎

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -756,10 +756,11 @@ async function setFrameRate(session: XRSession, frameRate: FrameRateOption): Pro
756756
if (value === false) {
757757
return
758758
}
759-
return session.updateTargetFrameRate(value)
759+
await session.updateTargetFrameRate(value)
760+
return
760761
}
761762
const multiplier = frameRate === 'high' ? 1 : frameRate === 'mid' ? 0.5 : 0
762-
return session.updateTargetFrameRate(supportedFrameRates[Math.ceil((supportedFrameRates.length - 1) * multiplier)])
763+
await session.updateTargetFrameRate(supportedFrameRates[Math.ceil((supportedFrameRates.length - 1) * multiplier)])
763764
}
764765

765766
async function enterXRSession(
@@ -779,20 +780,19 @@ async function enterXRSession(
779780
)
780781
}
781782
const session = await navigator.xr.requestSession(mode, buildXRSessionInit(mode, domOverlayRoot, options))
782-
setupXRSession(session, manager, options)
783+
await setupXRSession(session, manager, options)
783784
return session
784785
}
785786

786-
function setupXRSession(
787+
async function setupXRSession(
787788
session: XRSession,
788789
manager: WebXRManager,
789790
options: XRStoreOptions<XRElementImplementations> | undefined,
790791
) {
791-
setFrameRate(session, options?.frameRate ?? 'high')
792-
setupXRManager(manager, session, options)
792+
await Promise.all([setFrameRate(session, options?.frameRate ?? 'high'), setupXRManager(manager, session, options)])
793793
}
794794

795-
function setupXRManager(
795+
async function setupXRManager(
796796
xr: WebXRManager,
797797
session: XRSession,
798798
options: XRStoreOptions<XRElementImplementations> | undefined,
@@ -812,7 +812,7 @@ function setupXRManager(
812812
if (frameBufferScaling != null) {
813813
xr?.setFramebufferScaleFactor(frameBufferScaling)
814814
}
815-
xr?.setSession(session)
815+
await xr?.setSession(session)
816816
}
817817

818818
const allSessionModes: Array<XRSessionMode> = ['immersive-ar', 'immersive-vr', 'inline']

0 commit comments

Comments
 (0)