* clutter/cogl/gl/cogl.c:

* clutter/cogl/gl/cogl-defines.h.in:
	* clutter/cogl/gl/cogl-context.h:
	* clutter/cogl/common/cogl-mesh.c: Rename the glBufferDataSub
	function to glBufferSubData. When calling glXGetProcAddress with
	the former Mesa returns a stub dispatch function which will
	segfault if you try to use it. With NVIDIA it returns NULL so
	_cogl_features_init decides the card doesn't have VBO support.
This commit is contained in:
Neil Roberts
2008-12-10 12:13:20 +00:00
parent 58f6aaa589
commit 4aea0d6e48
4 changed files with 8 additions and 18 deletions

View File

@@ -145,7 +145,7 @@
#define glGenBuffers ctx->pf_glGenBuffersARB
#define glBindBuffer ctx->pf_glBindBufferARB
#define glBufferData ctx->pf_glBufferDataARB
#define glBufferDataSub ctx->pf_glBufferDataSubARB
#define glBufferSubData ctx->pf_glBufferSubDataARB
#define glDeleteBuffers ctx->pf_glDeleteBuffersARB
#define glMapBuffer ctx->pf_glMapBufferARB
#define glUnmapBuffer ctx->pf_glUnmapBufferARB
@@ -153,14 +153,6 @@
#define GL_ARRAY_BUFFER GL_ARRAY_BUFFER_ARB
#endif
#elif defined (HAVE_COGL_GLES)
/* NB: GLES has had VBOs/GLSL since 1.1, so we don't need any defines in
* this case except for glBufferSubData which, just for the fun of it, has a
* different name:
*/
#define glBufferDataSub glBufferSubData
#elif defined (HAVE_COGL_GLES2)
#define glVertexPointer cogl_wrap_glVertexPointer
@@ -172,8 +164,6 @@
#define glEnableClientState cogl_wrap_glEnableClientState
#define glDisableClientState cogl_wrap_glDisableClientState
#define glBufferDataSub glBufferSubData
#endif
/*
@@ -979,7 +969,7 @@ upload_multipack_vbo_via_buffer_sub_data (CoglMeshVBO *cogl_vbo)
PAD_FOR_ALIGNMENT (offset, gl_type_size);
GE (glBufferDataSub (GL_ARRAY_BUFFER,
GE (glBufferSubData (GL_ARRAY_BUFFER,
offset,
attribute_size,
attribute->u.pointer));