To allow same dispatch code to support GL, GLES and EGL it needs to support different categories for those functions.
Signed-off-by: Pauli Nieminen <[email protected]> --- tests/util/gen_dispatch.py | 28 ++++++++++++++++++---------- 1 files changed, 18 insertions(+), 10 deletions(-) diff --git a/tests/util/gen_dispatch.py b/tests/util/gen_dispatch.py index 63649bc..41df038 100644 --- a/tests/util/gen_dispatch.py +++ b/tests/util/gen_dispatch.py @@ -213,10 +213,10 @@ class Category(object): # Generate a human-readable representation of the category (for # use in generated comments). def __str__(self): - if self.kind == 'GL': - return 'GL {0}.{1}'.format( + if self.kind in ['GL', 'ES', 'EGL']: + return self.kind + ' {0}.{1}'.format( self.gl_10x_version // 10, self.gl_10x_version % 10) - elif self.kind == 'extension': + elif self.kind in ['extension', 'extension_ES', 'extension_EGL']: return self.extension_name else: raise Exception( @@ -251,7 +251,10 @@ class Function(object): # Name of the function, with the 'gl' prefix. @property def gl_name(self): - return 'gl' + self.name + prefix = 'gl' + if self.name.startswith('egl'): + prefix = '' + return prefix + self.name # Name of the function signature typedef corresponding to this # function. E.g. for the glGetString function, this is @@ -347,9 +350,9 @@ class DispatchSet(object): @staticmethod def __sort_key(cat_fn_pair): - if cat_fn_pair[0].kind == 'GL': + if cat_fn_pair[0].kind in ['GL', 'ES', 'EGL']: return 0, cat_fn_pair[0].gl_10x_version - elif cat_fn_pair[0].kind == 'extension': + elif cat_fn_pair[0].kind in ['extension', 'extension_ES', 'extension_EGL']: return 1, cat_fn_pair[0].extension_name else: raise Exception( @@ -439,7 +442,12 @@ def generate_resolve_function(ds): # execute in each case. condition_code_pairs = [] for category, f in ds.cat_fn_pairs: - if category.kind == 'GL': + prefix = '' + if 'EGL' in category.kind: + prefix = 'egl_' + elif 'ES' in category.kind: + prefix = 'es_' + if category.kind in ['GL', 'EGL', 'ES']: getter = 'get_core_proc("{0}", {1})'.format( f.gl_name, category.gl_10x_version) if category.gl_10x_version == 10: @@ -447,11 +455,11 @@ def generate_resolve_function(ds): # a condition. condition = 'true' else: - condition = 'check_version({0})'.format( + condition = prefix + 'check_version({0})'.format( category.gl_10x_version) - elif category.kind == 'extension': + elif category.kind in ['extension', 'extension_ES', 'extension_EGL']: getter = 'get_ext_proc("{0}")'.format(f.gl_name) - condition = 'check_extension("{0}")'.format( + condition = prefix + 'check_extension("{0}")'.format( category.extension_name) else: raise Exception( -- 1.7.5.4 _______________________________________________ Piglit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/piglit
