Reproduction steps:
1. Open the attached project “ReproProject”
2. Switch to the Android platform in Build Profiles (File → Build Profiles → Select Android, press “Switch Profile”)
3. Make sure that Foveation Rendering feature is enabled (Foveation setup guide: https://docs.unity3d.com/Packages/com.unity.xr.openxr@1.17/manual/features/foveatedrendering.html)
4. Make sure that Subsampled Layout feature is enabled in Foveation rendering settings (Subsampled Layout setup guide: https://docs.unity3d.com/Packages/com.unity.xr.openxr@1.17/manual/features/subsampledlayout.html)
5. Make sure that Symmetric Projection feature is enabled in Project Settings > XR Plug-in Management > OpenXR features > Meta Quest Support (press on the cog wheel button to open settings for the feature) > Symmetric Projection (Vulkan)
6. Build and run the Player on the device
7. Observe the result
Actual result: Right/left eye viewport is truncated
Expected result: Both eye viewports are unchanged
Reproducible in: 1.16-pre.2 (6000.4.3f1), 1.17.0 (6000.6.0a5)
Built on: Windows 11
Reproducible on devices:
- Oculus Quest 3 (Quest 3), CPU: Snapdragon XR2 Gen 2 (SM8550), GPU: Adreno (TM) 740
- Oculus Quest 3S (Quest 3S), CPU: Google Tensor G2, GPU: Adreno 740
Not reproducible on devices:
- Oculus Quest 2 (Quest 2), CPU: Snapdragon XR2, GPU: Adreno 650
Notes:
- The reproduction result between Oculus Quest 3 and 3S is different but the same type of effect achieved. More information in the internal comments
- Subsampled Layout feature was introduced in OpenXR 1.16-pre.2