[Mesa-dev] [PATCH 5/9] mesa: Move buffer object dispatch setup to bufferobj.c.

Eric Anholt eric at anholt.net
Mon Jun 18 18:35:34 PDT 2012


---
 src/mesa/main/api_exec.c  |   12 +-----------
 src/mesa/main/bufferobj.c |   17 +++++++++++++++++
 src/mesa/main/bufferobj.h |    3 +++
 3 files changed, 21 insertions(+), 11 deletions(-)

diff --git a/src/mesa/main/api_exec.c b/src/mesa/main/api_exec.c
index 15b9f69..19e7f98 100644
--- a/src/mesa/main/api_exec.c
+++ b/src/mesa/main/api_exec.c
@@ -579,17 +579,7 @@ _mesa_create_exec_table(void)
 #endif
 
    /* ARB 28. GL_ARB_vertex_buffer_object */
-   SET_BindBufferARB(exec, _mesa_BindBufferARB);
-   SET_BufferDataARB(exec, _mesa_BufferDataARB);
-   SET_BufferSubDataARB(exec, _mesa_BufferSubDataARB);
-   SET_DeleteBuffersARB(exec, _mesa_DeleteBuffersARB);
-   SET_GenBuffersARB(exec, _mesa_GenBuffersARB);
-   SET_GetBufferParameterivARB(exec, _mesa_GetBufferParameterivARB);
-   SET_GetBufferPointervARB(exec, _mesa_GetBufferPointervARB);
-   SET_GetBufferSubDataARB(exec, _mesa_GetBufferSubDataARB);
-   SET_IsBufferARB(exec, _mesa_IsBufferARB);
-   SET_MapBufferARB(exec, _mesa_MapBufferARB);
-   SET_UnmapBufferARB(exec, _mesa_UnmapBufferARB);
+   _mesa_init_bufferobj_dispatch(exec);
 
    /* ARB 29. GL_ARB_occlusion_query */
    _mesa_init_queryobj_dispatch(exec);
diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c
index ecfa7af..e3869da 100644
--- a/src/mesa/main/bufferobj.c
+++ b/src/mesa/main/bufferobj.c
@@ -43,6 +43,7 @@
 #include "mtypes.h"
 #include "texobj.h"
 #include "transformfeedback.h"
+#include "dispatch.h"
 
 
 /* Debug flags */
@@ -1992,3 +1993,19 @@ _mesa_GetObjectParameterivAPPLE(GLenum objectType, GLuint name, GLenum pname,
 }
 
 #endif /* FEATURE_APPLE_object_purgeable */
+
+void
+_mesa_init_bufferobj_dispatch(struct _glapi_table *disp)
+{
+   SET_BindBufferARB(disp, _mesa_BindBufferARB);
+   SET_BufferDataARB(disp, _mesa_BufferDataARB);
+   SET_BufferSubDataARB(disp, _mesa_BufferSubDataARB);
+   SET_DeleteBuffersARB(disp, _mesa_DeleteBuffersARB);
+   SET_GenBuffersARB(disp, _mesa_GenBuffersARB);
+   SET_GetBufferParameterivARB(disp, _mesa_GetBufferParameterivARB);
+   SET_GetBufferPointervARB(disp, _mesa_GetBufferPointervARB);
+   SET_GetBufferSubDataARB(disp, _mesa_GetBufferSubDataARB);
+   SET_IsBufferARB(disp, _mesa_IsBufferARB);
+   SET_MapBufferARB(disp, _mesa_MapBufferARB);
+   SET_UnmapBufferARB(disp, _mesa_UnmapBufferARB);
+}
diff --git a/src/mesa/main/bufferobj.h b/src/mesa/main/bufferobj.h
index 66343c3..819ca25 100644
--- a/src/mesa/main/bufferobj.h
+++ b/src/mesa/main/bufferobj.h
@@ -159,4 +159,7 @@ extern void GLAPIENTRY
 _mesa_GetObjectParameterivAPPLE(GLenum objectType, GLuint name, GLenum pname, GLint* params);
 #endif
 
+extern void
+_mesa_init_bufferobj_dispatch(struct _glapi_table *disp);
+
 #endif
-- 
1.7.10



More information about the mesa-dev mailing list