-#!/usr/bin/env python
# Copyright (C) 2012 Intel Corporation
#
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
+from __future__ import print_function
+
import contextlib
import getopt
import gl_XML
def out(str):
if str:
- print ' '*current_indent + str
+ print(' '*current_indent + str)
else:
- print ''
+ print('')
@contextlib.contextmanager
'Copyright (C) 2012 Intel Corporation', 'INTEL CORPORATION')
def printRealHeader(self):
- print header
- print '#ifdef HAVE_PTHREAD'
- print
- print 'static inline int safe_mul(int a, int b)'
- print '{'
- print ' if (a < 0 || b < 0) return -1;'
- print ' if (a == 0 || b == 0) return 0;'
- print ' if (a > INT_MAX / b) return -1;'
- print ' return a * b;'
- print '}'
- print
+ print(header)
+ print('static inline int safe_mul(int a, int b)')
+ print('{')
+ print(' if (a < 0 || b < 0) return -1;')
+ print(' if (a == 0 || b == 0) return 0;')
+ print(' if (a > INT_MAX / b) return -1;')
+ print(' return a * b;')
+ print('}')
+ print()
def printRealFooter(self):
- print
- print '#endif'
+ pass
def print_sync_call(self, func):
call = 'CALL_{0}(ctx->CurrentServerDispatch, ({1}))'.format(
out('return {0};'.format(call))
def print_sync_dispatch(self, func):
- out('_mesa_glthread_finish(ctx);')
out('debug_print_sync_fallback("{0}");'.format(func.name))
self.print_sync_call(func)
with indent():
for p in func.fixed_params:
if p.count:
- out('const {0} * {1} = cmd->{1};'.format(
- p.get_base_type_string(), p.name))
+ p_decl = '{0} * {1} = cmd->{1};'.format(
+ p.get_base_type_string(), p.name)
else:
- out('const {0} {1} = cmd->{1};'.format(
- p.type_string(), p.name))
+ p_decl = '{0} {1} = cmd->{1};'.format(
+ p.type_string(), p.name)
+
+ if not p_decl.startswith('const '):
+ # Declare all local function variables as const, even if
+ # the original parameter is not const.
+ p_decl = 'const ' + p_decl
+
+ out(p_decl)
+
if func.variable_params:
for p in func.variable_params:
out('const {0} * {1};'.format(
out('if ({0}) {{'.format(func.marshal_fail))
with indent():
out('_mesa_glthread_finish(ctx);')
- out('_mesa_glthread_restore_dispatch(ctx);')
+ out('_mesa_glthread_restore_dispatch(ctx, __func__);')
self.print_sync_dispatch(func)
out('return;')
out('}')
if need_fallback_sync:
out('fallback_to_sync:')
with indent():
+ out('_mesa_glthread_finish(ctx);')
self.print_sync_dispatch(func)
out('}')
def show_usage():
- print 'Usage: %s [-f input_file_name]' % sys.argv[0]
+ print('Usage: %s [-f input_file_name]' % sys.argv[0])
sys.exit(1)
try:
(args, trail) = getopt.getopt(sys.argv[1:], 'm:f:')
- except Exception,e:
+ except Exception:
show_usage()
for (arg,val) in args: