• Home
  • Raw
  • Download

Lines Matching refs:func

84     def print_sync_call(self, func, unmarshal = 0):  argument
86 func.name, func.get_called_parameter_string())
87 if func.return_type == 'void':
89 if func.marshal_call_after and not unmarshal:
90 out(func.marshal_call_after);
93 assert not func.marshal_call_after
95 def print_sync_body(self, func): argument
96 out('/* {0}: marshalled synchronously */'.format(func.name))
97 out('{0} GLAPIENTRY'.format(func.return_type))
98 out('_mesa_marshal_{0}({1})'.format(func.name, func.get_parameter_string()))
102 out('_mesa_glthread_finish_before(ctx, "{0}");'.format(func.name))
103 self.print_sync_call(func)
108 def print_async_dispatch(self, func): argument
110 'DISPATCH_CMD_{0}, cmd_size);'.format(func.name))
111 for p in func.fixed_params:
117 if func.variable_params:
120 for p in func.variable_params:
126 if i < len(func.variable_params):
131 if i < len(func.variable_params):
135 if not func.fixed_params and not func.variable_params:
138 if func.marshal_call_after:
139 out(func.marshal_call_after);
181 def print_async_struct(self, func): argument
182 out('struct marshal_cmd_{0}'.format(func.name))
188 for p in sorted(func.fixed_params, key=lambda p: self.get_type_size(p.type_string())):
195 for p in func.variable_params:
200 for p in func.variable_params:
213 def print_async_unmarshal(self, func): argument
216 'const struct marshal_cmd_{0} *cmd)').format(func.name))
219 for p in func.fixed_params:
234 if func.variable_params:
235 for p in func.variable_params:
240 for p in func.variable_params:
248 if i < len(func.variable_params):
252 elif i < len(func.variable_params):
256 self.print_sync_call(func, unmarshal = 1)
259 def validate_count_or_fallback(self, func): argument
264 for p in func.parameters:
276 out('_mesa_glthread_finish_before(ctx, "{0}");'.format(func.name))
277 self.print_sync_call(func)
281 def print_async_marshal(self, func): argument
284 func.name, func.get_parameter_string()))
288 for p in func.variable_params:
291 struct = 'struct marshal_cmd_{0}'.format(func.name)
293 for p in func.variable_params:
301 self.validate_count_or_fallback(func)
303 if func.marshal_sync:
304 out('if ({0}) {{'.format(func.marshal_sync))
306 out('_mesa_glthread_finish_before(ctx, "{0}");'.format(func.name))
307 self.print_sync_call(func)
312 self.print_async_dispatch(func)
315 def print_async_body(self, func): argument
316 out('/* {0}: marshalled asynchronously */'.format(func.name))
317 self.print_async_struct(func)
318 self.print_async_unmarshal(func)
319 self.print_async_marshal(func)
326 for func in api.functionIterateAll():
327 flavor = func.marshal_flavor()
330 … out('[DISPATCH_CMD_{0}] = (_mesa_unmarshal_func)_mesa_unmarshal_{0},'.format(func.name))
351 for func in api.functionIterateAll():
352 if func.marshal_flavor() == 'skip':
356 out('if (_gloffset_{0} >= 0)'.format(func.name))
358 .format(func.name))
375 for func in api.functionIterateAll():
380 flavor = func.marshal_flavor()
384 self.print_async_body(func)
386 self.print_sync_body(func)