From 4fe3ee1730167b90ec8ae70c871c1dad032981d5 Mon Sep 17 00:00:00 2001 From: Juan Linietsky Date: Sun, 28 Jul 2019 19:58:32 -0300 Subject: Moved the shader source compilation code outside RenderingDevice and Vulkan --- methods.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'methods.py') diff --git a/methods.py b/methods.py index a1d101af18..f6c9e939c6 100644 --- a/methods.py +++ b/methods.py @@ -137,6 +137,7 @@ def detect_modules(): includes_cpp = "" register_cpp = "" unregister_cpp = "" + preregister_cpp = "" files = glob.glob("modules/*") files.sort() # so register_module_types does not change that often, and also plugins are registered in alphabetic order @@ -154,6 +155,11 @@ def detect_modules(): register_cpp += '#ifdef MODULE_' + x.upper() + '_ENABLED\n' register_cpp += '\tregister_' + x + '_types();\n' register_cpp += '#endif\n' + preregister_cpp += '#ifdef MODULE_' + x.upper() + '_ENABLED\n' + preregister_cpp += '#ifdef MODULE_' + x.upper() + '_HAS_PREREGISTER\n' + preregister_cpp += '\tpreregister_' + x + '_types();\n' + preregister_cpp += '#endif\n' + preregister_cpp += '#endif\n' unregister_cpp += '#ifdef MODULE_' + x.upper() + '_ENABLED\n' unregister_cpp += '\tunregister_' + x + '_types();\n' unregister_cpp += '#endif\n' @@ -168,6 +174,10 @@ def detect_modules(): %s +void preregister_module_types() { +%s +} + void register_module_types() { %s } @@ -175,7 +185,7 @@ void register_module_types() { void unregister_module_types() { %s } -""" % (includes_cpp, register_cpp, unregister_cpp) +""" % (includes_cpp, preregister_cpp, register_cpp, unregister_cpp) # NOTE: It is safe to generate this file here, since this is still executed serially with open("modules/register_module_types.gen.cpp", "w") as f: -- cgit v1.2.3