What OpenGL functions are not GPU accelerated?
- by Xavier Ho
I was shocked when I read this (from the OpenGL wiki):
  glTranslate, glRotate, glScale
  
  Are these hardware accelerated?
  
  No, there are no known GPUs that
  execute this. The driver computes the
  matrix on the CPU and uploads it to
  the GPU.
  
  All the other matrix operations are
  done on the CPU as well :
  glPushMatrix, glPopMatrix,
  glLoadIdentity, glFrustum, glOrtho.
  
  This is the reason why these functions
  are considered deprecated in GL 3.0.
  You should have your own math library,
  build your own matrix, upload your
  matrix to the shader.
For a very, very long time I thought most of the OpenGL functions use the GPU to do computation. I'm not sure if this is a common misconception, but after a while of thinking, this makes sense. Old OpenGL functions (2.x and older) are really not suitable for real-world applications, due to too many state switches.
This makes me realise that, possibly, many OpenGL functions do not use the GPU at all.
So, the question is:
Which OpenGL function calls don't use the GPU?
I believe knowing the answer to the above question would help me become a better programmer with OpenGL. Please do share some of your insights.