My order for optimal primitive sorting:

Is this correct?

  1. Pass (Main pass, specular pass, etc.)
  2. Texture
  3. State
  4. Position (Front to back, to reduce overdraw)