How to control the draw order for Graphics.DrawMesh?

This question is more for someone with intimate knowledge about the internals of the Unity graphics engine.

I am planning on passing multiple meshes to Graphics.DrawMesh, and I want to know whether the order in which the meshes are passed to Graphics.DrawMesh governs the order in which the meshes are rendered by the engine. Or is the order they’re rendered controlled by some other factor? Or is it completely arbitrary, and not something I can control?

The meshes in question contain a lot of transparent triangles and don’t read or write to the z-buffer. So the order in which they’re drawn is extremely important.

I believe that Graphics.DrawMesh only adds mesh to the queue that’s normally generated by the camera inside a scene. So it’s just like the gameObject with filter and renderer appeared in the scene for one frame - order is determined by the shader, object position etc.

I think for the transparent objects, it’s enough to set the shader to be treated as transparent, and unity will do the sorting. Unless you need to explicitly set the order for some reason.