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

Android

-

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

  1. 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.

Comments (1)

  1. jensVrag

    Oct 04, 2019 14:33

    Thank you for the suggestion re: workaround!

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.