Is the SRP batcher supposed to work with OpenGLES3?
It says “OpenGL ES 3.1 and higher” in the description, but the editor only says “OpenGLES3”. Is this something I should be concerned about?
Unrelated bonus question: Does the SRP batcher have something to do with UI, too? Do I need a special compatible UI shader?
Hi!
SRP batcher should work on any OpenGL ES 3.1+ device. You don’t need to explicitly enable OpenGL ES 3.1 on the player settings.
Editor only works with OpenGL ES 3, so it doesn’t support SRP batcher when using any OpenGL ES.
Which Unity version do you use?
Unity 2021.1.2f1 with URP 11.0.0. So fairly up-to-date. I don’t think it ever worked. I also tried the latest 2021.2 and 2020 LTS. Always with default materials, which should be compatible.
SRP batcher never activates on my OpenGL ES 3.2 device (Pixel 2 XL). Even with fresh test projects where I haven’t touched many settings.
The same happened to me (on Huawei P20 Pro, Logcat reported that the phone uses openGLES 3.2), I will try to reproduce the behaviour in a new project and report it
I reproduced the behaviour in a new project with URP11 (a simple scene with a plane, cube, sphere and cylinder with Simple Lit shader, a directional light with shadows and no sky). The scene was rendered in 4 steps in editor (the shadows in one pass and the primitives in one pass), while it took 11 steps on Android (everything was rendered one by one). Of course I disabled Auto Graphics API and checked “Require ES3.1”. Batching (both the static and dynamic were off), the SRP batcher is on, of course
Case 1331286
Edit: 1. spelling
2. Actually the scene on Android was rendered in 10 steps (the 11th was to write “development build” in the corner) but anyway, the meshes are not batched
The same bug fix worked on 2021.2 and 2019.4, but didn’t work on 2020.3 and 2021.1. This means there’s something else that prevents the SRP batcher from working on GL on these versions - probably, a separate bug.
Unfortunately, I cannot give an ETA on when it will be fixed, only that it has high priority.