diff options
Diffstat (limited to 'ui/gl/generate_bindings.py')
-rwxr-xr-x | ui/gl/generate_bindings.py | 51 |
1 files changed, 49 insertions, 2 deletions
diff --git a/ui/gl/generate_bindings.py b/ui/gl/generate_bindings.py index 2667b24..a3c4824 100755 --- a/ui/gl/generate_bindings.py +++ b/ui/gl/generate_bindings.py @@ -36,9 +36,13 @@ array instead of the names array. Each version has the following keys: extensions: Extra Extensions for which the function is bound. Only needed in some cases where the extension cannot be parsed from the headers. - + is_optional: True if the GetProcAddress can return NULL for the + function. This may happen for example when functions + are added to a new version of an extension, but the + extension string is not modified. By default, the function gets its name from the first name in its names or versions array. This can be overridden by supplying a 'known_as' key. + """ GL_FUNCTIONS = [ { 'return_type': 'void', @@ -235,6 +239,12 @@ GL_FUNCTIONS = [ 'arguments': 'GLenum target, GLint level, GLint xoffset, GLint yoffset, ' 'GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height', }, +{ 'return_type': 'void', + 'names': ['glCoverFillPathNV'], + 'arguments': 'GLuint path, GLenum coverMode' }, +{ 'return_type': 'void', + 'names': ['glCoverStrokePathNV'], + 'arguments': 'GLuint name, GLenum coverMode' }, { 'return_type': 'GLuint', 'names': ['glCreateProgram'], 'arguments': 'void', }, @@ -260,6 +270,9 @@ GL_FUNCTIONS = [ 'names': ['glDeleteFramebuffersEXT', 'glDeleteFramebuffers'], 'arguments': 'GLsizei n, const GLuint* framebuffers', }, { 'return_type': 'void', + 'names': ['glDeletePathsNV'], + 'arguments': 'GLuint path, GLsizei range' }, +{ 'return_type': 'void', 'names': ['glDeleteProgram'], 'arguments': 'GLuint program', }, { 'return_type': 'void', @@ -438,6 +451,9 @@ GL_FUNCTIONS = [ { 'return_type': 'void', 'names': ['glGenFramebuffersEXT', 'glGenFramebuffers'], 'arguments': 'GLsizei n, GLuint* framebuffers', }, +{ 'return_type': 'GLuint', + 'names': ['glGenPathsNV'], + 'arguments': 'GLsizei range' }, { 'return_type': 'void', 'versions': [{ 'name': 'glGenQueries' }, { 'name': 'glGenQueriesARB', }, @@ -705,6 +721,9 @@ GL_FUNCTIONS = [ 'names': ['glIsFramebufferEXT', 'glIsFramebuffer'], 'arguments': 'GLuint framebuffer', }, { 'return_type': 'GLboolean', + 'names': ['glIsPathNV'], + 'arguments': 'GLuint path' }, +{ 'return_type': 'GLboolean', 'names': ['glIsProgram'], 'arguments': 'GLuint program', }, { 'return_type': 'GLboolean', @@ -771,6 +790,19 @@ GL_FUNCTIONS = [ 'GL_NV_path_rendering'] },], 'arguments': 'GLenum matrixMode' }, { 'return_type': 'void', + 'names': ['glPathCommandsNV'], + 'arguments': 'GLuint path, GLsizei numCommands, const GLubyte* commands, ' + 'GLsizei numCoords, GLenum coordType, const GLvoid* coords' }, +{ 'return_type': 'void', + 'names': ['glPathParameterfNV'], + 'arguments': 'GLuint path, GLenum pname, GLfloat value' }, +{ 'return_type': 'void', + 'names': ['glPathParameteriNV'], + 'arguments': 'GLuint path, GLenum pname, GLint value' }, +{ 'return_type': 'void', + 'names': ['glPathStencilFuncNV'], + 'arguments': 'GLenum func, GLint ref, GLuint mask' }, +{ 'return_type': 'void', 'versions': [{ 'name': 'glPauseTransformFeedback' }], 'arguments': 'void', }, { 'return_type': 'void', @@ -889,6 +921,9 @@ GL_FUNCTIONS = [ }); """, }, { 'return_type': 'void', + 'names': ['glStencilFillPathNV'], + 'arguments': 'GLuint path, GLenum fillMode, GLuint mask' }, +{ 'return_type': 'void', 'names': ['glStencilFunc'], 'arguments': 'GLenum func, GLint ref, GLuint mask', }, { 'return_type': 'void', @@ -906,6 +941,17 @@ GL_FUNCTIONS = [ { 'return_type': 'void', 'names': ['glStencilOpSeparate'], 'arguments': 'GLenum face, GLenum fail, GLenum zfail, GLenum zpass', }, +{ 'return_type': 'void', + 'names': ['glStencilStrokePathNV'], + 'arguments': 'GLuint path, GLint reference, GLuint mask' }, +{ 'return_type': 'void', + 'names': ['glStencilThenCoverFillPathNV'], + 'arguments': 'GLuint path, GLenum fillMode, GLuint mask, GLenum coverMode', + 'is_optional': True, }, +{ 'return_type': 'void', + 'names': ['glStencilThenCoverStrokePathNV'], + 'arguments': 'GLuint path, GLint reference, GLuint mask, GLenum coverMode', + 'is_optional': True, }, { 'return_type': 'GLboolean', 'known_as': 'glTestFenceAPPLE', 'versions': [{ 'name': 'glTestFenceAPPLE', @@ -1905,7 +1951,8 @@ namespace gfx { file.write(' else if (%s) {\n ' % (cond)) WriteFuncBinding(file, known_as, version['name']) - file.write('DCHECK(fn.%sFn);\n' % known_as) + if not 'is_optional' in func or not func['is_optional']: + file.write('DCHECK(fn.%sFn);\n' % known_as) file.write('}\n') i += 1 first_version = False |