PixarAnimationStudios/OpenSubdiv — pull request #109 by aras-p (2013-02-04 10:08:13+00:00)
Title: CpuGLVertexBuffer performance fix + glViewer fixes

CpuGLVertexBuffer was reading the data back from the GPU on each update, which is generally not good. On OSX doing uniform 4th level subdivision on Car model, this readback was taking 50% of CPU time (subdivision itself 22%).

Changed vertex buffer to be like CpuD3D11 one, where all read/write operations are performed on the memory buffer, and data is only uploaded CPU->GPU way when binding.

This made glViewer quite a bit faster on both OSX (GeForce GT 330M) and Win7 (GeForce GTX680). Now it's mostly spending time on doing primitive queries & glFinishes.

Minor fixes to glViewer: fixes GL errors and turn vsync off on non-windows platforms.