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
- Terms of Service agreement checkbox is invisible under specific OS system themes (UI Accessibility)
- Tile Palette: "Create New Tilemap" dropdown area is displayed in several colors
- Input.mousePosition stops syncing to touch input when using "DownloadHandlerTexture" in WebGL build
- UI Builder canvas doesn't update element styling accordingly when changing Active Theme for some Editor Authoring elements
- Selector Value buttons are not aligned with parameters in UI Builder
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.