GL_ARB_vertex_buffer_object working now, at least for non-indexed
vertex arrays.
diff --git a/src/mesa/main/api_arrayelt.c b/src/mesa/main/api_arrayelt.c
index edfa8e5..e453371 100644
--- a/src/mesa/main/api_arrayelt.c
+++ b/src/mesa/main/api_arrayelt.c
@@ -1,4 +1,3 @@
-
 /*
  * Mesa 3-D graphics library
  * Version:  5.1
@@ -346,13 +345,19 @@
       _ae_update_state( ctx );
 
    for (ta = actx->texarrays ; ta->func ; ta++) {
-      ta->func( ta->unit + GL_TEXTURE0_ARB, (char *)ta->array->Ptr + elt * ta->array->StrideB );
+      GLubyte *src = ta->array->BufferObj->Data
+                   + (GLuint) ta->array->Ptr
+                   + elt * ta->array->StrideB;
+      ta->func( ta->unit + GL_TEXTURE0_ARB, src);
    }
 
    /* Must be last
     */
    for (aa = actx->arrays ; aa->func ; aa++) {
-      aa->func( (char *)aa->array->Ptr + elt * aa->array->StrideB );
+      GLubyte *src = aa->array->BufferObj->Data
+                   + (GLuint) aa->array->Ptr
+                   + elt * aa->array->StrideB;
+      aa->func( src );
    }
 }