I won't block the PR over it, and in general we've been lax about this, but it would set a good precedent to use a VBO for the geometry here.  There's actually a function in GeometryCache, renderHalfCylinder, that renders something close to this geometry, although it doesn't have texture coordinates.  It could conceivably be generalized to something like renderPartialCylinder.