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