glapi: Emit dispatch for {ARB,OES}_get_program_binary
authorIan Romanick <ian.d.romanick@intel.com>
Sun, 2 Dec 2012 22:19:00 +0000 (14:19 -0800)
committerIan Romanick <ian.d.romanick@intel.com>
Sat, 12 Jan 2013 02:13:53 +0000 (18:13 -0800)
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mapi/glapi/gen/ARB_get_program_binary.xml
src/mesa/main/tests/dispatch_sanity.cpp

index b268302c03321ff76c407287d06428e83c994f08..e84d0678e7208c0edf9dea37da129538b1c35317 100644 (file)
@@ -11,8 +11,7 @@
     <enum name="NUM_PROGRAM_BINARY_FORMATS"               value="0x87FE"/>
     <enum name="PROGRAM_BINARY_FORMATS"                   value="0x87FF"/>
 
-    <function name="GetProgramBinary" offset="assign" static_dispatch="false"
-              es2="3.0" exec="skip">
+    <function name="GetProgramBinary" offset="assign" es2="3.0">
         <param name="program" type="GLuint"/>
         <param name="bufSize" type="GLsizei"/>
         <param name="length" type="GLsizei *"/>
         <param name="binary" type="GLvoid *"/>
     </function>
 
-    <function name="ProgramBinary" offset="assign" static_dispatch="false"
-              es2="3.0" exec="skip">
+    <function name="ProgramBinary" offset="assign" es2="3.0">
         <param name="program" type="GLuint"/>
         <param name="binaryFormat" type="GLenum"/>
         <param name="binary" type="const GLvoid *"/>
         <param name="length" type="GLsizei"/>
     </function>
 
-    <function name="ProgramParameteri" offset="assign" static_dispatch="false"
-              es2="3.0" exec="skip">
+    <function name="ProgramParameteri" offset="assign" es2="3.0">
         <param name="program" type="GLuint"/>
         <param name="pname" type="GLenum"/>
         <param name="value" type="GLint"/>
index 3450b86f6e089e0ff4a714577a16191832de0a9b..3cc6bbde0b87655dd6a324d0e83e396891af2d8c 100644 (file)
@@ -497,6 +497,11 @@ const struct function gl_core_functions_possible[] = {
    { "glGetInfoLogARB", 31, -1 },
    { "glGetAttachedObjectsARB", 31, -1 },
 
+   /* GL_ARB_get_program_binary */
+   { "glGetProgramBinary", 30, -1 },
+   { "glProgramBinary", 30, -1 },
+   { "glProgramParameteri", 30, -1 },
+
    /* GL_EXT_transform_feedback */
    { "glBindBufferOffsetEXT", 31, -1 },
 
@@ -1256,6 +1261,11 @@ const struct function gles2_functions_possible[] = {
    { "glVertexAttrib4fv", 20, -1 },
    { "glVertexAttribPointer", 20, -1 },
    { "glViewport", 20, _gloffset_Viewport },
+
+   /* GL_OES_get_program_binary - Also part of OpenGL ES 3.0. */
+   { "glGetProgramBinaryOES", 20, -1 },
+   { "glProgramBinaryOES", 20, -1 },
+
    { NULL, 0, -1 }
 };
 
@@ -1315,8 +1325,7 @@ const struct function gles3_functions_possible[] = {
    { "glGetIntegeri_v", 30, -1 },
    // XXX: Missing implementation of ARB_internalformat_query
    // { "glGetInternalformativ", 30, -1 },
-   // XXX: Missing implementation of ARB_get_program_binary
-   /// { "glGetProgramBinary", 30, -1 },
+   // glGetProgramBinary aliases glGetProgramBinaryOES in GLES 2
    { "glGetQueryiv", 30, -1 },
    { "glGetQueryObjectuiv", 30, -1 },
    { "glGetSamplerParameterfv", 30, -1 },
@@ -1340,10 +1349,8 @@ const struct function gles3_functions_possible[] = {
    // We check for the aliased -EXT version in GLES 2
    // { "glMapBufferRange", 30, -1 },
    { "glPauseTransformFeedback", 30, -1 },
-   // XXX: Missing implementation of ARB_get_program_binary
-   // { "glProgramBinary", 30, -1 },
-   // XXX: Missing implementation of ARB_get_program_binary
-   // { "glProgramParameteri", 30, -1 },
+   // glProgramBinary aliases glProgramBinaryOES in GLES 2
+   { "glProgramParameteri", 30, -1 },
    // We check for the aliased -NV version in GLES 2
    // { "glReadBuffer", 30, -1 },
    { "glRenderbufferStorageMultisample", 30, -1 },