Search Issue Tracker
By Design
Votes
0
Found in
2017.3.0f1
Issue ID
974614
Regression
No
[Android][iOS] GPUInstancing doesn't recognize same material ("Objects have different materials")
Steps to reproduce:
1) Download attached project and open in Unity
2) Switch platform to Android in the Build Settings
3) Make sure Graphics API is set to OpenGLES3/Vulkan in the Player Settings
4) Enable Development build in the Build Settings
5) Build and Run project on a device
6) Connect device to the Frame Debugger
7) Pick a sample(enable)
8) Find RenderForward.RenderLoopJob in the Frame Debugger and you will see that Draw Mesh(instanced) is split into several DrawCalls
Expected result: Instanced mesh should be counted as one because it has the same material
Actual result: Draw Mesh(instanced) is split into several DrawCalls because of warnings: (check attached image "actual.png")
"Objects have different materials"
"Render different meshes or submeshes with GPU instancing"
Note: All spheres are exactly the same and share same material
Reproduced with:
5.6.4p4, 2017.1.2p3, 2017.2.0p4, 2017.3.0f, 2018.1.0a7
Devices under testing:
[0143] Samsung Galaxy S8, GPU: Mali-G71
[000037] iPad Mini 2 9.3.1
Did not reproduced using Win Standalone build
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Articulation Body with 'Revolute' Joint Type has erratic behavior when Upper Limit is set to above 360
- WebGL Player fails to render Scene when Terrain with Detail Mesh is added and WebGPU Graphics API is used
- Inconsistent errors are logged when different types are passed into the Query "Q<>" method in UIToolkit and the ancestor VisualElement is null
- Crash on GetMaterialPropertyByIndex when opening a specific Scene
- Discrepancies in the styling are present when using a TSS file instead of a USS file in custom EditorWindow
Add comment