Triangle drawing order in DirectX/OpenGL
===

Is the order of drawing triangles in 3D APIs guaranteed to be the same as their order in index buffer? 

For example if I have two overlapping triangles in a single draw call, and depth testing is disabled, will the first or second triangle be visible in the end?

Or do I need to issue separate draw calls to be sure that the 2nd triangle appears on top of the 1st?