title: Which OpenGL functions are not GPU-accelerated?
body: <p>I was shocked when I read this (from the <a href="http://www.opengl.org/wiki/FAQ#glTranslate.2C_glRotate.2C_glScale" rel="noreferrer">OpenGL wiki</a>):</p>
  
  <blockquote>
    <p><strong>glTranslate, glRotate, glScale</strong></p>
    
    <p>Are these hardware accelerated?</p>
    
    <p>No, there are no known GPUs that
    execute this. The driver computes the
    matrix on the CPU and uploads it to
    the GPU.</p>
    
    <p>All the other matrix operations are
    done on the CPU as well :
    glPushMatrix, glPopMatrix,
    glLoadIdentity, glFrustum, glOrtho.</p>
    
    <p>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.</p>
  </blockquote>
  
  <p>For a very, <em>very</em> 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.</p>
  
  <p>This makes me realise that, possibly, many OpenGL functions do not use the GPU at all.</p>
  
  <p>So, the question is:</p>
  
  <p><strong>Which OpenGL function calls don't use the GPU?</strong></p>
  
  <p>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.</p>
  
  <p><strong>Edit:</strong></p>
  
  <p>I know this question easily leads to optimisation level. It's good, but it's not the intention of this question.</p>
  
  <p>If anyone knows a set of GL functions on a certain popular implementation (as AshleysBrain suggested, nVidia/ATI, and possibly OS-dependent) that don't use the GPU, that's what I'm after!</p>
  
  <p>Plausible optimisation guides come later. Let's focus on the functions, for this topic.</p>
  
  <p><strong>Edit2:</strong></p>
  
  <p>This topic isn't about how matrix transformations work. There are <a href="https://stackoverflow.com/questions/2104718/vector-transformation-with-matrix">other</a> <a href="https://stackoverflow.com/questions/2697611/can-anyone-recommend-some-transformation-matrix-tutorials-for-dummies">topics</a> for that.</p>