Skip to content

Commit dc6671a

Browse files
committed
Merge pull request #112465 from akien-mga/shader-baker-export-linux
Shader Baker: Fix Linux export warning
2 parents 11ba422 + 14734cb commit dc6671a

File tree

2 files changed

+6
-13
lines changed

2 files changed

+6
-13
lines changed

editor/export/shader_baker_export_plugin.cpp

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -56,20 +56,13 @@ bool ShaderBakerExportPlugin::_is_active(const Vector<String> &p_features) const
5656
return RendererSceneRenderRD::get_singleton() != nullptr && RendererRD::MaterialStorage::get_singleton() != nullptr && p_features.has("shader_baker");
5757
}
5858

59-
bool ShaderBakerExportPlugin::_initialize_container_format(const Ref<EditorExportPlatform> &p_platform, const Vector<String> &p_features, const Ref<EditorExportPreset> &p_preset) {
60-
Variant driver_variant = GLOBAL_GET("rendering/rendering_device/driver." + p_platform->get_os_name().to_lower());
61-
if (!driver_variant.is_string()) {
62-
driver_variant = GLOBAL_GET("rendering/rendering_device/driver");
63-
if (!driver_variant.is_string()) {
64-
return false;
65-
}
66-
}
67-
68-
shader_container_driver = driver_variant;
59+
bool ShaderBakerExportPlugin::_initialize_container_format(const Ref<EditorExportPlatform> &p_platform, const Ref<EditorExportPreset> &p_preset) {
60+
shader_container_driver = p_preset->get_project_setting("rendering/rendering_device/driver");
61+
ERR_FAIL_COND_V_MSG(shader_container_driver.is_empty(), false, "Invalid `rendering/rendering_device/driver` setting, disabling shader baking.");
6962

7063
for (Ref<ShaderBakerExportPluginPlatform> platform : platforms) {
7164
if (platform->matches_driver(shader_container_driver)) {
72-
shader_container_format = platform->create_shader_container_format(p_platform, get_export_preset());
65+
shader_container_format = platform->create_shader_container_format(p_platform, p_preset);
7366
ERR_FAIL_NULL_V_MSG(shader_container_format, false, "Unable to create shader container format for the export platform.");
7467
return true;
7568
}
@@ -101,7 +94,7 @@ bool ShaderBakerExportPlugin::_begin_customize_resources(const Ref<EditorExportP
10194
return false;
10295
}
10396

104-
if (!_initialize_container_format(p_platform, p_features, get_export_preset())) {
97+
if (!_initialize_container_format(p_platform, get_export_preset())) {
10598
return false;
10699
}
107100

editor/export/shader_baker_export_plugin.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ class ShaderBakerExportPlugin : public EditorExportPlugin {
8686

8787
virtual String get_name() const override;
8888
virtual bool _is_active(const Vector<String> &p_features) const;
89-
virtual bool _initialize_container_format(const Ref<EditorExportPlatform> &p_platform, const Vector<String> &p_features, const Ref<EditorExportPreset> &p_preset);
89+
virtual bool _initialize_container_format(const Ref<EditorExportPlatform> &p_platform, const Ref<EditorExportPreset> &p_preset);
9090
virtual void _cleanup_container_format();
9191
virtual bool _initialize_cache_directory();
9292
virtual bool _begin_customize_resources(const Ref<EditorExportPlatform> &p_platform, const Vector<String> &p_features) override;

0 commit comments

Comments
 (0)