A more accurate view might be :
I replaced "instructions" with "hardware" since the stack (and the Gallium3D drivers) handle both shader code and API calls. The shader code ends up as ISA binaries in memory, and the API calls end up as commands to the chip saying "draw these triangles, running this shader on every vertex before you render the triangles and running that shader code on every fragment in each of the triangles after you've rendered them".
The Nine path is a bit simplified relative to reality because Wine and DX runtime are still involved IIRC, but the Wine/OpenGL path is a bit simplified too
Code:
Application (API calls) >> Nine state tracker >> Gallium3D drivers >> hardware
Code:
Application (OpenGL calls) >> Mesa library (aka OpenGL state tracker) >> Gallium3D drivers >> hardware
The Nine path is a bit simplified relative to reality because Wine and DX runtime are still involved IIRC, but the Wine/OpenGL path is a bit simplified too
Comment