Search Issue Tracker
Third Party Issue
Votes
0
Found in
2020.3.37f1
2021.3.6f1
2022.1.9f1
Issue ID
UUM-10234
Regression
No
[Vulkan] Solid colors and artifacts are flashing when moving the device on Pixel 1 XL
Reproduction steps:
1. Open the user’s project
2. Go to File > Build Settings
3. Switch the Platform to Android
4. Click on Player Settings and check that Vulkan is selected under Graphics APIs
5. Build and Run
6. Open the application and move the device
Expected result: “HelloCardboard” scene is seen on the device
Actual result: Solid colors and artifacts are flashing when moving the device
Reproducible with: 2020.3.37f1, 2021.3.6f1, 2022.1.9f1
Could not test with: 2022.2.0b1, 2023.1.0a3 (Gradle error is thrown)
Reproduces with these devices:
VLNQA00099, Google Pixel XL (Pixel XL), Android 10, CPU: Snapdragon 821 MSM8996 Pro, GPU: Adreno (TM) 530
Not reproducible with these devices:
VLNQA00318, Oneplus OnePlus 7 Pro (GM1913), Android 11, CPU: Snapdragon 855 SM8150, GPU: Adreno (TM) 640
Notes:
- Does not reproduce with OpenGLES2 or OpenGLES3 Graphics APIs
- Uses custom package “Google Cardboard XR Plugin for Unity”
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
- Render Graph Execution errors when using GPU occlusion culling with 'Opaque Objects' frame setting disabled on a Camera
- Animator window: “Delete” menu item not greyed out for Base Layer context menu
- Resetting “PC_RP Asset (Universal Render Pipeline Asset)” causes Game view to become black and throws Renderer and NullReference errors in the Console window
- [Mobile] Player Crash on scripting_invoke_profiler_begin when the built Player Scene has an empty UIDocument and is built on IL2CPP
- Unnecessary Warnings are logged when running Player with -batchmode -nographics
Resolution Note:
Third party issue, either GPU drivers or https://github.com/googlevr/cardboard plugin.
Flickering is caused by "Nan" values in "u_End" and "u_Start" variables in distortion mesh fragment shader: https://github.com/googlevr/cardboard/blob/master/sdk/rendering/android/shaders/distortion.frag . That results in undefined texture coorindates being sampled when drawing eye textures to display.
These variables suppose to come from vertex shader UBO: https://github.com/googlevr/cardboard/blob/48cd81b27e91927c341645904e554c45e33440ae/sdk/rendering/android/vulkan_distortion_renderer.cc#L578 it is being managed by cardboard plugin.
Modifying fragment shader to not use those variables fixes the issue on Pixel device and confirms that the issue is with the UBO handling.