[Mesa-dev] [PATCH 11/22] egl: automake: add symbol test

Emil Velikov emil.l.velikov at gmail.com
Sun Feb 9 17:35:39 PST 2014


On 10/02/14 01:26, Ian Romanick wrote:
> On 02/08/2014 08:03 AM, Emil Velikov wrote:
>> Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
>> ---
>>  src/egl/main/Makefile.am       |   2 +
>>  src/egl/main/egl-symbols-check | 109 +++++++++++++++++++++++++++++++++++++++++
>>  2 files changed, 111 insertions(+)
>>  create mode 100755 src/egl/main/egl-symbols-check
>>
>> diff --git a/src/egl/main/Makefile.am b/src/egl/main/Makefile.am
>> index 46e890a..7d9748f 100644
>> --- a/src/egl/main/Makefile.am
>> +++ b/src/egl/main/Makefile.am
>> @@ -124,3 +124,5 @@ egl_HEADERS = \
>>  	$(top_srcdir)/include/EGL/egl.h \
>>  	$(top_srcdir)/include/EGL/eglmesaext.h \
>>  	$(top_srcdir)/include/EGL/eglplatform.h
>> +
>> +TESTS = egl-symbols-check
>> \ No newline at end of file
> 
> Perhaps add a newline? :)
> 
>> diff --git a/src/egl/main/egl-symbols-check b/src/egl/main/egl-symbols-check
>> new file mode 100755
>> index 0000000..fc69369
>> --- /dev/null
>> +++ b/src/egl/main/egl-symbols-check
>> @@ -0,0 +1,109 @@
>> +#!/bin/bash
>> +
>> +# XXX: the private _egl* symbols are exported for egl backends like egl_gallium
>> +
>> +FUNCS=$(nm -D --defined-only ${1-.libs/libEGL.so} | grep -o "T .*" | cut -c 3- | while read func; do
>> +( grep -q "^$func$" || echo $func )  <<EOF
>> +eglBindAPI
>> +eglBindTexImage
>> +eglBindWaylandDisplayWL
>> +eglChooseConfig
>> +eglChooseModeMESA
>> +eglClientWaitSyncKHR
> 
> Are we supposed to export extension functions?  I thought that's what
> eglGetProcAddress was for... I'd swear there was an "implementer's
> guide" or some such from Khronos that gave some guidance here.
> 
Those are the functions we currently export, regardless of what the spec
says. I'll have to go through it and explicitly denote some of the
symbols, but I believe that this may brake ABI compatibility of existing
apps.

Turns out it was to get people looking in this direction :)

-Emil
>> +eglCopyBuffers
>> +eglCopyContextMESA
>> +eglCreateContext
>> +eglCreateDRMImageMESA
>> +eglCreateImageKHR
>> +eglCreatePbufferFromClientBuffer
>> +eglCreatePbufferSurface
>> +eglCreatePixmapSurface
>> +eglCreateScreenSurfaceMESA
>> +eglCreateSyncKHR
>> +eglCreateWaylandBufferFromImageWL
>> +eglCreateWindowSurface
>> +eglDestroyContext
>> +eglDestroyImageKHR
>> +eglDestroySurface
>> +eglDestroySyncKHR
>> +eglExportDRMImageMESA
>> +eglGetConfigAttrib
>> +eglGetConfigs
>> +eglGetCurrentContext
>> +eglGetCurrentDisplay
>> +eglGetCurrentSurface
>> +eglGetDisplay
>> +eglGetDRMDisplayMESA
>> +eglGetError
>> +eglGetModeAttribMESA
>> +eglGetModesMESA
>> +eglGetProcAddress
>> +eglGetScreensMESA
>> +eglGetSyncAttribKHR
>> +eglInitialize
>> +eglMakeCurrent
>> +eglPostSubBufferNV
>> +eglQueryAPI
>> +eglQueryContext
>> +eglQueryModeStringMESA
>> +eglQueryScreenMESA
>> +eglQueryScreenModeMESA
>> +eglQueryScreenSurfaceMESA
>> +eglQueryString
>> +eglQuerySurface
>> +eglQueryWaylandBufferWL
>> +eglReleaseTexImage
>> +eglReleaseThread
>> +eglScreenPositionMESA
>> +eglShowScreenSurfaceMESA
>> +eglSignalSyncKHR
>> +eglSurfaceAttrib
>> +eglSwapBuffers
>> +eglSwapBuffersRegionNOK
>> +eglSwapBuffersWithDamageEXT
>> +eglSwapInterval
>> +eglTerminate
>> +eglUnbindWaylandDisplayWL
>> +eglWaitClient
>> +eglWaitGL
>> +eglWaitNative
>> +_eglBindContext
>> +_eglBindTexImage
>> +_eglCheckResource
>> +_eglCleanupDisplay
>> +_eglCompareConfigs
>> +_eglDestroyArray
>> +_eglError
>> +_eglFilterArray
>> +_eglFilterConfigArray
>> +_eglGetAPIContext
>> +_eglGetCurrentContext
>> +_eglGetCurrentThread
>> +_eglGetResource
>> +_eglInitConfig
>> +_eglInitContext
>> +_eglInitDriverFallbacks
>> +_eglInitImage
>> +_eglInitScreen
>> +_eglInitSurface
>> +_eglInitSync
>> +_eglLinkConfig
>> +_eglLinkScreen
>> +_eglLog
>> +_eglMatchConfig
>> +_eglParseConfigAttribList
>> +_eglParseImageAttribList
>> +_eglPutResource
>> +_eglReleaseDisplayResources
>> +_eglSearchPathForEach
>> +_eglSetLogLevel
>> +_eglSetLogProc
>> +_eglValidateConfig
>> +_fini
>> +_init
>> +EOF
>> +done)
>> +
>> +test ! -n "$FUNCS" || echo $FUNCS
>> +test ! -n "$FUNCS"
>> +
>>
> 



More information about the mesa-dev mailing list