From d93f4faefb0a867ea33b9530e9aa67ae1ed60e93 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Tue, 18 Feb 2020 22:57:28 -0500 Subject: [PATCH] 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: --- src/mapi/glapi/gen/gl_marshal.py | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) 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): -- 2.30.2