mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 13:00:09 +01:00
egl/entrypoint-check: add check that GLVND and plain EGL have the same entrypoints
Cc: mesa-stable Signed-off-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Emil Velikov <emil.velikov@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4448>
This commit is contained in:
parent
351d513e30
commit
800816d70b
1 changed files with 42 additions and 0 deletions
|
|
@ -1,11 +1,22 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
import argparse
|
||||
from generate.eglFunctionList import EGL_FUNCTIONS as GLVND_ENTRYPOINTS
|
||||
|
||||
|
||||
PREFIX = 'EGL_ENTRYPOINT('
|
||||
SUFFIX = ')'
|
||||
|
||||
|
||||
# These entrypoints should *not* be in the GLVND entrypoints
|
||||
GLVND_EXCLUDED_ENTRYPOINTS = [
|
||||
# EGL_KHR_debug
|
||||
'eglDebugMessageControlKHR',
|
||||
'eglQueryDebugKHR',
|
||||
'eglLabelObjectKHR',
|
||||
]
|
||||
|
||||
|
||||
def check_entrypoint_sorted(entrypoints):
|
||||
print('Checking that EGL API entrypoints are sorted...')
|
||||
|
||||
|
|
@ -20,6 +31,33 @@ def check_entrypoint_sorted(entrypoints):
|
|||
print('All good :)')
|
||||
|
||||
|
||||
def check_glvnd_entrypoints(egl_entrypoints, glvnd_entrypoints):
|
||||
print('Checking the GLVND entrypoints against the plain EGL ones...')
|
||||
success = True
|
||||
|
||||
for egl_entrypoint in egl_entrypoints:
|
||||
if egl_entrypoint in GLVND_EXCLUDED_ENTRYPOINTS:
|
||||
continue
|
||||
if egl_entrypoint not in glvnd_entrypoints:
|
||||
print('ERROR: ' + egl_entrypoint + ' is missing from the GLVND entrypoints (src/egl/generate/eglFunctionList.py)')
|
||||
success = False
|
||||
|
||||
for glvnd_entrypoint in glvnd_entrypoints:
|
||||
if glvnd_entrypoint not in egl_entrypoints:
|
||||
print('ERROR: ' + glvnd_entrypoint + ' is missing from the plain EGL entrypoints (src/egl/main/eglentrypoint.h)')
|
||||
success = False
|
||||
|
||||
for glvnd_entrypoint in GLVND_EXCLUDED_ENTRYPOINTS:
|
||||
if glvnd_entrypoint in glvnd_entrypoints:
|
||||
print('ERROR: ' + glvnd_entrypoint + ' is should *not* be in the GLVND entrypoints (src/egl/generate/eglFunctionList.py)')
|
||||
success = False
|
||||
|
||||
if success:
|
||||
print('All good :)')
|
||||
else:
|
||||
exit(1)
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('header')
|
||||
|
|
@ -37,5 +75,9 @@ def main():
|
|||
|
||||
check_entrypoint_sorted(entrypoints)
|
||||
|
||||
glvnd_entrypoints = [x[0] for x in GLVND_ENTRYPOINTS]
|
||||
|
||||
check_glvnd_entrypoints(entrypoints, glvnd_entrypoints)
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue