Search Issue Tracker
Won't Fix
Votes
0
Found in
2022.3.63f1
6000.0.51f1
6000.1.6f1
6000.2.0b6
Issue ID
UUM-109169
Regression
Yes
[Android] Application freezes when changing between materials on Mali G52 devices
Steps to reproduce:
1. Open the attached user's project "ShaderDemo_Unity6.zip"
2. Build and run for Android
3. Connect it with the Unity profiler
4. On the device, press the “REPRODUCE ISSUE” button
5. Observe the continuous spike in the Profiler
Expected Results: application doesn't freeze and material is changed
Actual Results: application freezes
Reproducible with: 2022.3.3f1, 2022.3.63f1, 6000.0.51f1, 6000.1.6f1, 6000.2.0b6
Not reproducible with: 2021.3.52f1, 2023.2.0a18, 2022.3.2f1
Could not locate FAV between 2023.2.0a19 - 2023.2.0a23 due to "UnityEngine.Rendering.RenderPipelineGraphicsSettingsStripper.PerformStripping" NullReferenceException when trying to perform a build
Reproducible with these devices:
VLNQA00547, Samsung Galaxy Tab A8 (SM-X200), Android 13, CPU: Unisoc Tiger T618, GPU: Mali-G52
(user) Infinix Note 7, Huawei MatePad 10.4
Not reproducible with these devices:
VLNQA00381, Xiaomi Redmi Note 8 Pro (Redmi Note 8 Pro), Android 9, CPU: MediaTek Helios G90T MT6785T, GPU: Mali-G76 MC4
VLNQA00422, Samsung Galaxy S21 Ultra 5G (SM-G998B), Android 11, CPU: Exynos 2100, GPU: Mali-G78
VLNQA00282, Samsung Galaxy S10e (SM-G970U), Android 9, CPU: Snapdragon 855 SM8150, GPU: Adreno (TM) 640
(user) Samsung S21, Samsung Galaxy J4, Samsung Galaxy S8
Environment tested: Windows 11 24H2
Notes:
-Profiler data is attached "Samsung Tab 8A.data"
-Issue reproduces with Vulkan and OpenGLES3
-When the freeze reproduces, the profiler shows that Gfx.WaitForPresentOnGfxThread takes around ~8596 ms on the Main Thread. And the Render Thread spends that same amount of time on Gfx.PresentFrame. All the threads are idle which provides no clear indication of what the GPU is stalling on
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
- Redoing creation of Sub Scenes and Cube GameObjects in Hierarchy throws “Assertion failed on expression: 'targetScene != nullptr’” error in Console window
- Selecting “New Sub Scene” after assigning “New Scene” in Sub Scene Script Component throws “Destroying GameObjects immediately is not permitted” in the Console window
- Shader Graph "Zoom Step Size" can be set to 0 even though the zoom still works
- Enabling/Disabling the Deprecated Nodes doesn't apply to the opened Shader Graph unless any Variable is added to the Blackboard
- Group Selection title text size is smaller in renaming than the actual font size
Resolution Note:
User defined function GetLight_float implements MainLightRealtimeShadow with missing check for !defined(MAIN_LIGHT_CALCULATE_SHADOWS). This leads to incorrect texture sampling. All Android devices are affected, but Mali G52 is unique in this case as with invalid graphics API usage CPU gets pegged and causes observed freeze. We suggest to add missing !defined(MAIN_LIGHT_CALCULATE_SHADOWS) check or use MainLightRealtimeShadow directly. Second option provides all necessary keyword checks and gives same result for light attenuation.
P.S.
Using Light GetMainLight(float4 shadowCoord) instead of Light GetMainLight() will set shadowAttenuation by sampling _MainLightShadowmapTexture or _ScreenSpaceShadowmapTexture, depending on the valid use case.