Search Issue Tracker
Won't Fix
Votes
0
Found in
2019.1.5f1
2019.3
Issue ID
1161708
Regression
No
[Android] [LWRP] ShaderGraph node "Is Front Face" returning false when is being built to Android device with Adreno
To reproduce:
1. Open the project from https://gitlab.com/rsdata-public-unity/androidlwrpshadergraphtest
2. Open scene AndroidShaderGraphTest
3. Build and run to Android device with Adreno
Actual result: Both sides show the back face texture
Expected result: A different texture is rendered for front and back faces of the plate
Reproduce on 2019.1.0f1; 2019.1.8f1; 2019.2.0b7; 2019.3.0a8
Can't check on 2017.4 and 2018.4 and older than 2019.1.0f1 due to errors.
VLNQA00218, Samsung Galaxy Note9 (SM-N960U), Android 8.1.0, CPU: Snapdragon 845 SDM845, GPU: Adreno (TM) 630
VLNQA00123, Google Pixel 2 XL (Pixel 2 XL), Android 9, CPU: Snapdragon 835 MSM8998, GPU: Adreno (TM) 540
No repro on:
VLNQA00270, Samsung Galaxy S10e (SM-G970F), Android 9, CPU: Exynos 9 9820, GPU: Mali-G76
VLNQA00231, Huawei HUAWEI Mate 20 Pro (LYA-L29), Android 9, CPU: HiSilicon Kirin 980, GPU: Mali-G76
Note: Works fine on standalone
Note: Logcat attached
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
- Fixing Message Loss in UMPE During Domain Reload
- The Editor freezes when ScheduleReadOnly of IJobParallelForTransform with dependency is used
- Text is truncated in the Inspector when the display scale is set to 150%
- CancellationTokenSource(<timeout>) has incorrect cancellation status when used in WebGL Player
- VFX property value names are cut off when properties with 'Arc' are viewed in the VFX Blackboard
Resolution Note (2019.3.X):
This issue is caused by Adreno GPU drivers optimizing the code. The optimization removes branching and makes result consistent whether or not face is is rotated towards the camera. Bug is reported to Qualcomm.
As a workaround best way would be simply creating a new shadergraph node and writing small script which would mimic "Branch" node. This way generated code will be more strict and with the less chance of being stripped by drivers optimization process.