Are draw calls executed in parallel or sequentially or both? This a follow up for a question I answered on GameDev SE. The question was simply Is glDrawArraysInstanced in OpenGL parallel when drawing those instances?

My answer was in the lines of "the GPU might execute multiple draw calls in parallel depending on multiple things, for instance if two draw calls use the same vertex shaders." Here is the full answer.

In the comments the OP mentioned, "I think it should be sequential. After all, some of blending mode depends of sequence"

Now, I am little bit confused. Is my answer of it will still parallelize them when it can valid? Can someone clarify this?
The result should be as if it was executed sequentially one triangle at a time. This is important so that each frame is deterministic. If it wasn't then drawing the same frame multiple times could create different results and create a flickering image on screen.

However that does not mean parallelization is impossible. Vertices can be computed in parallel. Their results will be ordered and fed to the rasterizer which will feed the fragment shader stage.

The same happens with pixels. Typically a group of pixels from a triangle can be computed in parallel and blended. A non-overlapping triangle can then also be filled at the same time however if triangle overlaps one currently busy then the result of the fragment shader must be buffered until the corresponding pixels of the previous triangle are done so blending can happen in the correct order.