The graphics has mode3d state variable, and if it detects a change it calls the context and switches states on context.
This leads to a problem with multiple graphics.
Let g1 be a graphics on context0
Let g2 be a graphics on context0
Lets say that all of the above have mode3d == false, context and graphics
then root.render(g1) might result in a g1 and context changing into 3d mode
g2.validate(Graphics.RenderType.RENDER_2D); // Force 2d since draw is a 2d operation.
g2.draw(texture) // but g2 is already in 2d mode so no change. But the context is still in 3d mode. This result in unpredictable failure.