Lines Matching refs:func

84     def print_sync_call(self, func, unmarshal = 0):
86 func.name, func.get_called_parameter_string())
87 if func.return_type == 'void' or unmarshal:
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):
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 if func.marshal_call_before:
103 out(func.marshal_call_before);
104 out('_mesa_glthread_finish_before(ctx, "{0}");'.format(func.name))
105 self.print_sync_call(func)
110 def print_async_dispatch(self, func):
112 'DISPATCH_CMD_{0}, cmd_size);'.format(func.name))
119 if func.marshal_sync:
120 fixed_params = func.fixed_params + func.variable_params
123 fixed_params = func.fixed_params
124 variable_params = func.variable_params
153 if func.marshal_call_after:
154 out(func.marshal_call_after);
196 def print_async_struct(self, func):
197 if func.marshal_sync:
198 fixed_params = func.fixed_params + func.variable_params
201 fixed_params = func.fixed_params
202 variable_params = func.variable_params
204 out('struct marshal_cmd_{0}'.format(func.name))
235 def print_async_unmarshal(self, func):
236 if func.marshal_sync:
237 fixed_params = func.fixed_params + func.variable_params
240 fixed_params = func.fixed_params
241 variable_params = func.variable_params
245 'const struct marshal_cmd_{0} *cmd, const uint64_t *last)').format(func.name))
285 self.print_sync_call(func, unmarshal = 1)
289 struct = 'struct marshal_cmd_{0}'.format(func.name)
295 def validate_count_or_fallback(self, func):
300 for p in func.parameters:
312 out('_mesa_glthread_finish_before(ctx, "{0}");'.format(func.name))
313 self.print_sync_call(func)
317 def print_async_marshal(self, func):
318 out('{0} GLAPIENTRY'.format(func.return_type))
320 func.name, func.get_parameter_string()))
324 if func.marshal_call_before:
325 out(func.marshal_call_before);
327 if not func.marshal_sync:
328 for p in func.variable_params:
331 struct = 'struct marshal_cmd_{0}'.format(func.name)
333 if not func.marshal_sync:
334 for p in func.variable_params:
342 if func.marshal_sync:
343 out('if ({0}) {{'.format(func.marshal_sync))
345 out('_mesa_glthread_finish_before(ctx, "{0}");'.format(func.name))
346 self.print_sync_call(func)
350 self.validate_count_or_fallback(func)
352 self.print_async_dispatch(func)
353 if func.return_type == 'GLboolean':
357 def print_async_body(self, func):
358 out('/* {0}: marshalled asynchronously */'.format(func.name))
359 self.print_async_struct(func)
360 self.print_async_unmarshal(func)
361 self.print_async_marshal(func)
368 for func in api.functionIterateAll():
369 flavor = func.marshal_flavor()
372 out('[DISPATCH_CMD_{0}] = (_mesa_unmarshal_func)_mesa_unmarshal_{0},'.format(func.name))
396 for func in api.functionIterateAll():
397 if func.marshal_flavor() == 'skip':
400 condition = apiexec.get_api_condition(func)
409 ' (_glapi_proc)_mesa_marshal_{0};').format(func.name))
435 for func in api.functionIterateAll():
440 flavor = func.marshal_flavor()
444 self.print_async_body(func)
446 self.print_sync_body(func)