mesa/es: Pass context to _mesa_init_bufferobj_dispatch
authorIan Romanick <ian.d.romanick@intel.com>
Mon, 13 Aug 2012 17:23:22 +0000 (10:23 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Tue, 14 Aug 2012 21:39:33 +0000 (14:39 -0700)
With this change _mesa_init_bufferobj_dispatch won't set function
pointers that don't exist in OpenGL ES.

v2: Use _mesa_is_desktop_gl and _mesa_is_gles3 as suggested by Ken.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/main/api_exec.c
src/mesa/main/bufferobj.c
src/mesa/main/bufferobj.h

index bdef1098373c1cacea90351393949768c8f523bf..bb5d17131cad623c1c193e24be0295326634bcb5 100644 (file)
@@ -653,7 +653,7 @@ _mesa_create_exec_table(struct gl_context *ctx)
 #endif
 
    /* ARB 28. GL_ARB_vertex_buffer_object */
-   _mesa_init_bufferobj_dispatch(exec);
+   _mesa_init_bufferobj_dispatch(ctx, exec);
 
    /* ARB 29. GL_ARB_occlusion_query */
    _mesa_init_queryobj_dispatch(exec);
index 22d7927bbcb96fe3648db4e77e64b012c15ac4f5..c50f7acd7051f8427d7610c86ef2db8e1204afbc 100644 (file)
@@ -2201,7 +2201,7 @@ _mesa_BindBufferBase(GLenum target, GLuint index, GLuint buffer)
 }
 
 void
-_mesa_init_bufferobj_dispatch(struct _glapi_table *disp)
+_mesa_init_bufferobj_dispatch(struct gl_context *ctx, struct _glapi_table *disp)
 {
    SET_BindBufferARB(disp, _mesa_BindBufferARB);
    SET_BufferDataARB(disp, _mesa_BufferDataARB);
@@ -2214,6 +2214,9 @@ _mesa_init_bufferobj_dispatch(struct _glapi_table *disp)
    SET_IsBufferARB(disp, _mesa_IsBufferARB);
    SET_MapBufferARB(disp, _mesa_MapBufferARB);
    SET_UnmapBufferARB(disp, _mesa_UnmapBufferARB);
-   SET_BindBufferRangeEXT(disp, _mesa_BindBufferRange);
-   SET_BindBufferBaseEXT(disp, _mesa_BindBufferBase);
+
+   if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) {
+      SET_BindBufferRangeEXT(disp, _mesa_BindBufferRange);
+      SET_BindBufferBaseEXT(disp, _mesa_BindBufferBase);
+   }
 }
index e1d0f7a97e864bda76a91368aa28872a4e55cf0b..15fdb9c305b9350b6f1e616955a62affc547cca8 100644 (file)
@@ -167,6 +167,7 @@ _mesa_BindBufferRange(GLenum target, GLuint index,
                       GLuint buffer, GLintptr offset, GLsizeiptr size);
 
 extern void
-_mesa_init_bufferobj_dispatch(struct _glapi_table *disp);
+_mesa_init_bufferobj_dispatch(struct gl_context *ctx,
+                              struct _glapi_table *disp);
 
 #endif