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
- Texture2D hash changes inside of an AssetBundle when rebuilding a SpriteAtlas bundle with an empty AssetPostprocessor Script enabled
- Aniso Level still applies when Generate MipMap is disabled in Texture Import Settings
- Mipmap Limit Groups long names are not truncated when creating a new Mipmap Limit Group with a long name
- “ArgumentException: Invalid double parameter.” error is thrown when Infinity is typed into the Fixed Timestep field
- GameObject becomes gray when using HDRP and STP together on macOS
Add comment