<div dir="ltr">On Thu, Mar 27, 2014 at 8:12 AM, Ian Romanick <span dir="ltr"><<a href="mailto:idr@freedesktop.org" target="_blank">idr@freedesktop.org</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">From: Ian Romanick <<a href="mailto:ian.d.romanick@intel.com">ian.d.romanick@intel.com</a>><br>
<br>
This has been a long standing issue with the ES libraries. Functions<br>
marked in the XML with 'static_dispatch=false' were still incorrectly<br>
exported. ABI-check is supposed to detect this case, but we have to<br>
paper over failures every time a new extension is added.<br></blockquote><div>Reviewed-by: Chia-I Wu <<a href="mailto:olv@lunarg.com">olv@lunarg.com</a>> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
This change will cause a big pile of functions to disappear from<br>
libGLESv2 and libGLESv1_CM.<br>
<br>
libGLESv2 loses (20 functions):<br>
<br>
glBindVertexArrayOES<br>
glCompressedTexImage3DOES<br>
glCompressedTexSubImage3DOES<br>
glCopyTexSubImage3DOES<br>
glDeleteVertexArraysOES<br>
glDiscardFramebufferEXT<br>
glDrawBuffersNV<br>
glFlushMappedBufferRangeEXT<br>
glFramebufferTexture3DOES<br>
glGenVertexArraysOES<br>
glGetBufferPointervOES<br>
glGetProgramBinaryOES<br>
glIsVertexArrayOES<br>
glMapBufferOES<br>
glMapBufferRangeEXT<br>
glProgramBinaryOES<br>
glReadBufferNV<br>
glTexImage3DOES<br>
glTexSubImage3DOES<br>
glUnmapBufferOES<br>
<br>
libGLESv1_CM loses (88 functions):<br>
<br>
glAlphaFuncxOES<br>
glBindFramebufferOES<br>
glBindRenderbufferOES<br>
glBlendEquationOES<br>
glBlendEquationSeparateOES<br>
glBlendFuncSeparateOES<br>
glCheckFramebufferStatusOES<br>
glClearColorxOES<br>
glClearDepthfOES<br>
glClearDepthxOES<br>
glClipPlanefOES<br>
glClipPlanexOES<br>
glColor4xOES<br>
glDeleteFramebuffersOES<br>
glDeleteRenderbuffersOES<br>
glDepthRangefOES<br>
glDepthRangexOES<br>
glDiscardFramebufferEXT<br>
glDrawTexfOES<br>
glDrawTexfvOES<br>
glDrawTexiOES<br>
glDrawTexivOES<br>
glDrawTexsOES<br>
glDrawTexsvOES<br>
glDrawTexxOES<br>
glDrawTexxvOES<br>
glFlushMappedBufferRangeEXT<br>
glFogxOES<br>
glFogxvOES<br>
glFramebufferRenderbufferOES<br>
glFramebufferTexture2DOES<br>
glFrustumfOES<br>
glFrustumxOES<br>
glGenerateMipmapOES<br>
glGenFramebuffersOES<br>
glGenRenderbuffersOES<br>
glGetBufferPointervOES<br>
glGetClipPlanefOES<br>
glGetClipPlanexOES<br>
glGetFixedvOES<br>
glGetFramebufferAttachmentParameterivOES<br>
glGetLightxvOES<br>
glGetMaterialxvOES<br>
glGetRenderbufferParameterivOES<br>
glGetTexEnvxvOES<br>
glGetTexGenfvOES<br>
glGetTexGenivOES<br>
glGetTexGenxvOES<br>
glGetTexParameterxvOES<br>
glIsFramebufferOES<br>
glIsRenderbufferOES<br>
glLightModelxOES<br>
glLightModelxvOES<br>
glLightxOES<br>
glLightxvOES<br>
glLineWidthxOES<br>
glLoadMatrixxOES<br>
glMapBufferOES<br>
glMapBufferRangeEXT<br>
glMaterialxOES<br>
glMaterialxvOES<br>
glMultiTexCoord4xOES<br>
glMultMatrixxOES<br>
glNormal3xOES<br>
glOrthofOES<br>
glOrthoxOES<br>
glPointParameterxOES<br>
glPointParameterxvOES<br>
glPointSizePointerOES<br>
glPointSizexOES<br>
glPolygonOffsetxOES<br>
glQueryMatrixxOES<br>
glRenderbufferStorageOES<br>
glRotatexOES<br>
glSampleCoveragexOES<br>
glScalexOES<br>
glTexEnvxOES<br>
glTexEnvxvOES<br>
glTexGenfOES<br>
glTexGenfvOES<br>
glTexGeniOES<br>
glTexGenivOES<br>
glTexGenxOES<br>
glTexGenxvOES<br>
glTexParameterxOES<br>
glTexParameterxvOES<br>
glTranslatexOES<br>
glUnmapBufferOES<br>
<br>
Signed-off-by: Ian Romanick <<a href="mailto:ian.d.romanick@intel.com">ian.d.romanick@intel.com</a>><br>
Cc: Chia-I Wu <<a href="mailto:olv@lunarg.com">olv@lunarg.com</a>><br>
Cc: Paul Berry <<a href="mailto:stereotype441@gmail.com">stereotype441@gmail.com</a>><br>
Cc: Chad Versace <<a href="mailto:chad.versace@linux.intel.com">chad.versace@linux.intel.com</a>><br>
---<br>
src/mapi/mapi_abi.py | 10 ++++++----<br>
1 file changed, 6 insertions(+), 4 deletions(-)<br>
<br>
diff --git a/src/mapi/mapi_abi.py b/src/mapi/mapi_abi.py<br>
index 48050e8..d783ed3 100644<br>
--- a/src/mapi/mapi_abi.py<br>
+++ b/src/mapi/mapi_abi.py<br>
@@ -744,8 +744,9 @@ class ES1APIPrinter(GLAPIPrinter):<br>
def _override_for_api(self, ent):<br>
if ent.xml_data is None:<br>
raise Exception('ES2 API printer requires XML input')<br>
- ent.hidden = <a href="http://ent.name" target="_blank">ent.name</a> not in \<br>
- ent.xml_data.entry_points_for_api_version('es1')<br>
+ ent.hidden = (<a href="http://ent.name" target="_blank">ent.name</a> not in \<br>
+ ent.xml_data.entry_points_for_api_version('es1')) \<br>
+ or ent.hidden<br>
ent.handcode = False<br>
<br>
def _get_c_header(self):<br>
@@ -767,8 +768,9 @@ class ES2APIPrinter(GLAPIPrinter):<br>
def _override_for_api(self, ent):<br>
if ent.xml_data is None:<br>
raise Exception('ES2 API printer requires XML input')<br>
- ent.hidden = <a href="http://ent.name" target="_blank">ent.name</a> not in \<br>
- ent.xml_data.entry_points_for_api_version('es2')<br>
+ ent.hidden = (<a href="http://ent.name" target="_blank">ent.name</a> not in \<br>
+ ent.xml_data.entry_points_for_api_version('es2')) \<br>
+ or ent.hidden<br>
<br>
# This is hella ugly. The same-named function in desktop OpenGL is<br>
# hidden, but it needs to be exposed by libGLESv2 for OpenGL ES 3.0.<br>
<span class=""><font color="#888888">--<br>
1.8.1.4<br>
<br>
_______________________________________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/mesa-dev" target="_blank">http://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
</font></span></blockquote></div><br><br clear="all"><br>-- <br>olv@LunarG.com
</div></div>