From: Marek Olšák Date: Wed, 19 Feb 2020 03:57:28 +0000 (-0500) Subject: glthread: don't generate the sync fallback if the call size is not variable X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d93f4faefb0a867ea33b9530e9aa67ae1ed60e93;p=mesa.git glthread: don't generate the sync fallback if the call size is not variable marshal_generated.c is 12% smaller. Reviewed-by: Timothy Arceri Part-of: --- diff --git a/src/mapi/glapi/gen/gl_marshal.py b/src/mapi/glapi/gen/gl_marshal.py index 4fd2bc2a5b9..a994a1425bc 100644 --- a/src/mapi/glapi/gen/gl_marshal.py +++ b/src/mapi/glapi/gen/gl_marshal.py @@ -254,19 +254,23 @@ class PrintCode(gl_XML.gl_print_base): out('return;') out('}') - out('if (cmd_size <= MARSHAL_MAX_CMD_SIZE) {') + if len(func.variable_params) > 0: + with indent(): + out('if (cmd_size <= MARSHAL_MAX_CMD_SIZE) {') + with indent(): + self.print_async_dispatch(func) + out('return;') + out('}') + out('') + if need_fallback_sync: + out('fallback_to_sync:') + with indent(): + out('_mesa_glthread_finish(ctx);') + self.print_sync_dispatch(func) + else: with indent(): self.print_async_dispatch(func) - out('return;') - out('}') - - out('') - if need_fallback_sync: - out('fallback_to_sync:') - with indent(): - out('_mesa_glthread_finish(ctx);') - self.print_sync_dispatch(func) - + assert not need_fallback_sync out('}') def print_async_body(self, func):