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

Unified Diff: ui/gl/generate_bindings.py

Issue 180723023: gpu: Mailbox emulation with EGLImage (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 9 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
Index: ui/gl/generate_bindings.py
diff --git a/ui/gl/generate_bindings.py b/ui/gl/generate_bindings.py
index c8d0bbd97d7038a399f367036ee9da399ef7f546..e067f8bcab4d8869b6019316df9483508131db27 100755
--- a/ui/gl/generate_bindings.py
+++ b/ui/gl/generate_bindings.py
@@ -755,6 +755,10 @@ GL_FUNCTIONS = [
'names': ['glClientWaitSync'],
'arguments':
'GLsync sync, GLbitfield flags, GLuint64 timeout', },
+{ 'return_type': 'GLenum',
+ 'names': ['glWaitSync'],
+ 'arguments':
+ 'GLsync sync, GLbitfield flags, GLuint64 timeout', },
{ 'return_type': 'void',
'known_as': 'glDrawArraysInstancedANGLE',
'names': ['glDrawArraysInstancedARB', 'glDrawArraysInstancedANGLE'],
@@ -1365,6 +1369,15 @@ def GenerateAPIHeader(file, functions, set_name):
file.write('\n')
+def FixGLPrefix(func_name):
+ """Converts the gl/egl/wgl/glx function name into a suitable member function name"""
+ if func_name.startswith('gl'):
+ return func_name[2:]
+ elif func_name.startswith('egl'):
+ return "EGL" + func_name[3:]
+ else:
+ assert False, "Unexpected: " + func_name
+
def GenerateMockHeader(file, functions, set_name):
"""Generates gl_mock_autogen_x.h"""
@@ -1387,7 +1400,7 @@ def GenerateMockHeader(file, functions, set_name):
if len(args):
arg_count = func['arguments'].count(',') + 1
file.write(' MOCK_METHOD%d(%s, %s(%s));\n' %
- (arg_count, func['known_as'][2:], func['return_type'], args))
+ (arg_count, FixGLPrefix(func['known_as']), func['return_type'], args))
file.write('\n')
@@ -1760,7 +1773,7 @@ void MakeFunctionUnique(const char *func_name) {
argument_names = re.sub(arg_re, r'\4', func['arguments'])
if argument_names == 'void':
argument_names = ''
- function_name = func['known_as'][2:]
+ function_name = FixGLPrefix(func['known_as'])
if func['return_type'] == 'void':
file.write(' interface_->%s(%s);\n' %
(function_name, argument_names))
@@ -1786,6 +1799,7 @@ void MakeFunctionUnique(const char *func_name) {
file.write(' if (strcmp(name, "%s") == 0)\n' % name)
file.write(' return reinterpret_cast<void*>(Mock_%s);\n' % name)
# Always return a non-NULL pointer like some EGL implementations do.
+ file.write(' NOTREACHED() << "GetGLProcAddr for: " << name;\n')
file.write(' return reinterpret_cast<void*>(&MockInvalidFunction);\n')
file.write('}\n')
@@ -1993,14 +2007,19 @@ def main(argv):
GenerateMockHeader(header_file, GL_FUNCTIONS, 'gl')
header_file.close()
+ header_file = open(
+ os.path.join(directory, 'gl_mock_autogen_egl.h'), 'wb')
+ GenerateMockHeader(header_file, EGL_FUNCTIONS, 'egl')
+ header_file.close()
+
header_file = open(os.path.join(directory, 'gl_bindings_autogen_mock.h'),
'wb')
- GenerateMockBindingsHeader(header_file, GL_FUNCTIONS)
+ GenerateMockBindingsHeader(header_file, GL_FUNCTIONS + EGL_FUNCTIONS)
header_file.close()
source_file = open(os.path.join(directory, 'gl_bindings_autogen_mock.cc'),
'wb')
- GenerateMockBindingsSource(source_file, GL_FUNCTIONS)
+ GenerateMockBindingsSource(source_file, GL_FUNCTIONS + EGL_FUNCTIONS)
source_file.close()
return 0

Powered by Google App Engine
This is Rietveld 408576698