Godot 4's current shader/PSO system assumes the following:
- Specialization Constants reduce compilation time (true) but are not free.
- Specialization Constants are well optimized by Driver (blatantly false on Android),
- Uniform Static branches are free. They're very cheap but I am seeing incremental improvements when removed entirely via #ifdef. Sometimes major improvements.
Godot 4 wants these assumptions to be true because they help reduce the number of shader & PSO variants, which are key to reducing compilation stutter.