mapi: Hide OpenGL functions to be exported when shared-glapi is disabled

Fixes the following test error:
135/154 mesa:gallium / osmesa-symbols-check                                                                       FAIL             0.07s   exit status 1

```
src/gallium/targets/osmesa/libOSMesa.so.8.0.0: unknown symbol exported: glAreTexturesResidentEXT
src/gallium/targets/osmesa/libOSMesa.so.8.0.0: unknown symbol exported: glDeleteTexturesEXT
src/gallium/targets/osmesa/libOSMesa.so.8.0.0: unknown symbol exported: glGenTexturesEXT
src/gallium/targets/osmesa/libOSMesa.so.8.0.0: unknown symbol exported: glIsTextureEXT
```
The build options is:
```
-D glx=xlib -D gles1=disabled -D gles2=disabled -D shared-glapi=disabled
```

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Corentin Noël <corentin.noel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23409>
This commit is contained in:
Yonggang Luo
2023-06-05 23:59:53 +08:00
committed by Marge Bot
parent a8b8324494
commit d5a09bf594
6 changed files with 16 additions and 12 deletions
+1 -1
View File
@@ -157,7 +157,7 @@ class PrintGenericStubs(gl_XML.gl_print_base):
text = '\tGL_STUB_ALIAS(gl%s, gl%s)' % (n, f.name)
if f.has_different_protocol(n):
print('#ifndef GLX_INDIRECT_RENDERING')
print('#if GLAPI_EXPORT_PROTO_ENTRY_POINTS')
print(text)
print('#endif')
else:
+4 -4
View File
@@ -238,10 +238,10 @@ _glapi_proc UNUSED_TABLE_NAME[] = {""")
for ent in normal_entries:
print(' TABLE_ENTRY(%s),' % (ent))
print('#endif /* _GLAPI_SKIP_NORMAL_ENTRY_POINTS */')
print('#ifndef _GLAPI_SKIP_PROTO_ENTRY_POINTS')
print('#if GLAPI_EXPORT_PROTO_ENTRY_POINTS')
for ent in proto_entries:
print(' TABLE_ENTRY(%s),' % (ent))
print('#endif /* _GLAPI_SKIP_PROTO_ENTRY_POINTS */')
print('#endif /* GLAPI_EXPORT_PROTO_ENTRY_POINTS */')
print('};')
print('#endif /*UNUSED_TABLE_NAME*/')
@@ -291,13 +291,13 @@ _glapi_proc UNUSED_TABLE_NAME[] = {""")
print('#endif /* _GLAPI_SKIP_NORMAL_ENTRY_POINTS */')
print('')
print('/* these entry points might require different protocols */')
print('#ifndef _GLAPI_SKIP_PROTO_ENTRY_POINTS')
print('#if GLAPI_EXPORT_PROTO_ENTRY_POINTS')
print('')
for func, ents in proto_entry_points:
for ent in ents:
self.printFunction(func, ent)
print('')
print('#endif /* _GLAPI_SKIP_PROTO_ENTRY_POINTS */')
print('#endif /* GLAPI_EXPORT_PROTO_ENTRY_POINTS */')
print('')
self.printInitDispatch(api)
+1 -1
View File
@@ -222,7 +222,7 @@ class PrintGenericStubs(gl_XML.gl_print_base):
text = '\t.globl GL_PREFIX(%s) ; .set GL_PREFIX(%s), GL_PREFIX(%s)' % (n, n, dispatch)
if f.has_different_protocol(n):
print('#ifndef GLX_INDIRECT_RENDERING')
print('#if GLAPI_EXPORT_PROTO_ENTRY_POINTS')
print(text)
print('#endif')
else:
+1 -1
View File
@@ -178,7 +178,7 @@ class PrintGenericStubs(gl_XML.gl_print_base):
text = '\tGL_STUB_ALIAS(%s, %d, %s, %s, %s)' % (n, f.offset, alt2, name, alt)
if f.has_different_protocol(n):
print('#ifndef GLX_INDIRECT_RENDERING')
print('#if GLAPI_EXPORT_PROTO_ENTRY_POINTS')
print(text)
print('#endif')
else:
-5
View File
@@ -74,11 +74,6 @@
#endif /* logging */
#ifdef GLX_INDIRECT_RENDERING
/* those link to libglapi.a should provide the entry points */
#define _GLAPI_SKIP_PROTO_ENTRY_POINTS
#endif
/* Enable frame pointer elimination on Windows, otherwise forgetting to add
* GLAPIENTRY to _mesa_* entrypoints will not cause crashes on debug builds, as
* the initial ESP value is saved in the EBP in the function prologue, then