Search Issue Tracker
Third Party Issue
Votes
5
Found in
2021.3.33f1
2022.3.15f1
2023.2.2f1
2023.3.0a18
6000.0.0b11
Issue ID
UUM-58722
Regression
No
[XR][URP] Reflection probes with box projection result in line-crossing artifacts in VR headset builds
Steps to reproduce:
1. Open the attached user's project "VRSandbox.zip"
2. Make sure OculusXR or OpenXR is selected in the XR Plugin Management
3. In the Editor, Move the "XR Origin (XR Rig)" GameObject in front of a mirror
4. Build for Quest 2/3
5. Observe in line-crossing artifacts in the middle of the mirror
Expected results: Reflection probes with box projection do not result in line-crossing artifacts in VR headset builds
Actual Results: Reflection probes with box projection result in line-crossing artifacts in VR headset builds (See attached Repro.png)
Reproducible with: 2021.3.33f1, 2022.3.15f1, 2023.2.2f1, 2023.3.0a18
Reproducible on these devices:
VLNQA00609 - Oculus Quest 3 (Quest 3), CPU: Snapdragon XR2 Gen 2 (SM8550), GPU: Adreno 740, OS: 12
VLNQA00533 - Pico 4 (A8110) (A8110), CPU: Snapdragon 865 SM8250 / Qualcomm® XR2, GPU: Adreno 650, OS: 10
VLNQA00415 - Oculus Quest 2 (Quest 2), CPU: Snapdragon XR2, GPU: Adreno 650, OS: 10
Not reproducible on these devices:
VLNQA00528 - HMD Global Nokia G20 (Nokia G20), CPU: Mediatek MT6765G Helio G35 (12 nm), GPU: PowerVR Rogue GE8320, OS: 13
VLNQA00422 - Galaxy S21 Ultra 5G (SM-G998B), CPU: Exynos 2100, GPU: Mali-G78, OS: 11
VLNQA00460 - Google Pixel 6 (Pixel 6), CPU: Google Tensor (Whitechapel), GPU: Mali-G78, OS: 14
VLNQA00381 - Xiaomi Redmi Note 8 Pro (Redmi Note 8 Pro), CPU: MediaTek Helios G90T MT6785T, GPU: Mali-G76 MC4, OS: 9
VLNQA00282 - Samsung Galaxy S10e USA (SM-G970U), CPU: Snapdragon 855 SM8150, GPU: Adreno 640, OS: 9
VLNQA00202 - Samsung Galaxy Note 9 USA (SM-N9600), CPU: Snapdragon 845 SDM845, GPU: Adreno 630, OS: 9
Testing Environment: Windows 11
Not reproducible on: No other environment tested
Notes:
-Issue is more apparent in the headset
-Issue does not reproduce in Editor and Standalone Windows Player
-Issue reproduces with Vulkan, OpenGLES 3
-Issue reproduces with MultiView, Multi-Pass
-Issue reproduces with OpenXR and OculusXR plugins
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Crash on RenderBufferManager::Textures::GetTempBuffer when rendering a specific scene
- The Inspector header is incorrectly displayed when scripts are recompiled while a Scriptable Object instance is selected
- NullReferenceException is thrown when overriding the UxmlObjectReferences in template instances
- Shaders created with Shader Graph generate a large amount of shader variants and cause slow build times when using a baked lightmap in BIRP
- Shader Graph Matrix property produces random output values when SRP Batcher is enabled
Resolution Note:
Unfortunately this is a driver issue. We found a workaround to solve it but we can't land that workaround because it has performance impact to other platforms.
The workaround is to increase reflectVector&viewDirectionWS precision from half to float in shaders in the following shader functions:
BoxProjectedCubemapDirection, GlossyEnvironmentReflection, GetObjectSpaceNormalizeViewDir
And then update InputData viewDirectionWS to float3
Finally update `half3 viewDirWS` to `float3 viewDirWS` in LitForwardPass.hlsl
The issue only repro'd on Quest, and not on other Android phones we tested so far. It is likely due to the driver and we reported the issue to Meta. If you have concerns about this resolution, please feel free to reopen and provide more details. Thanks