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
- var VisionOSEDRHeadromm has a comma instead of a dot when building with Metal Rendering App Mode and local OS localization is set to German
- IAP Catalog remove product “x” and add product “+” buttons are not consistent with other remove and add buttons in the Editor
- Performance issues in Play Mode when quickly hovering the mouse cursor over Hierarchy GameObjects
- Frame Debugger displays incorrect output when FidelityFX Super Resolution or Spatial-Temporal Upscaler is used with Temporal Anti-aliasing or Subpixel Morphological Anti-aliasing
- The layout system is failing to correctly calculate or apply the height of the Japanese fallback font when the primary English font's metrics are used
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.