Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(624)

Unified Diff: ui/gl/generate_bindings.py

Issue 169403005: command_buffer: Implement path rendering functions for CHROMIUM_path_rendering (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@nv-pr-02-texgen
Patch Set: fix windows build Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « mojo/gpu/mojo_gles2_impl_autogen.cc ('k') | ui/gl/gl_bindings.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/gl/generate_bindings.py
diff --git a/ui/gl/generate_bindings.py b/ui/gl/generate_bindings.py
index 2667b24eee070e9d50b08125657257d5b2df1b44..a3c4824a68df7853afda9ac0002fe2febf6bbcdc 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
« no previous file with comments | « mojo/gpu/mojo_gles2_impl_autogen.cc ('k') | ui/gl/gl_bindings.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698