# Copyright 2017-2021 The Khronos Group Inc. # SPDX-License-Identifier: Apache-2.0 # printreg(reg, varname) # Prints a registry Python data structure (see registry.py) in a consistent # fashion. def tab(): return ' ' def quote(str): return '\'' + str + '\'' def printKey(key, value): print(tab() + quote(key), ':', value + ',') def printNum(ext, key): if (key in ext.keys()): printKey(key, str(ext[key])) def printSet(ext, key): if (key in ext.keys()): value = ( '{ ' + ', '.join([quote(str(tag)) for tag in sorted(ext[key])]) + ' }' ) printKey(key, value) def printStr(ext, key): if (key in ext.keys()): printKey(key, quote(str(ext[key]))) def striplibs(s): return ( s.replace('GL_',''). replace('GLU_',''). replace('GLX_',''). replace('WGL_','') ) def printreg(reg, varname): print(varname, '= {') # print('keys in registry =', len(reg.keys())) print('# OpenGL extension number and name registry') print('') for key in sorted(reg.keys(), key = striplibs): ext = reg[key] print(' ' + quote(key), ': {') printNum(ext, 'arbnumber') printNum(ext, 'number') printNum(ext, 'esnumber') printNum(ext, 'scnumber') printSet(ext, 'flags') printSet(ext, 'supporters') printStr(ext, 'url') printStr(ext, 'esurl') printSet(ext, 'alias') printStr(ext, 'comments') print(' },') print('}')