Skip to content

Commit 655e98b

Browse files
committed
Fix default SDFGI variant not being compiled in time.
1 parent 6dc78c8 commit 655e98b

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

servers/rendering/renderer_rd/forward_clustered/render_forward_clustered.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3764,6 +3764,14 @@ RID RenderForwardClustered::_setup_sdfgi_render_pass_uniform_set(RID p_albedo_te
37643764
uniforms.push_back(u);
37653765
}
37663766

3767+
if (scene_shader.default_shader_sdfgi_rd.is_null()) {
3768+
// The variant for SDF from the default material should only be retrieved when SDFGI is required.
3769+
ERR_FAIL_NULL_V(scene_shader.default_material_shader_ptr, RID());
3770+
scene_shader.enable_advanced_shader_group();
3771+
scene_shader.default_shader_sdfgi_rd = scene_shader.default_material_shader_ptr->get_shader_variant(SceneShaderForwardClustered::PIPELINE_VERSION_DEPTH_PASS_WITH_SDF, 0, false);
3772+
ERR_FAIL_COND_V(scene_shader.default_shader_sdfgi_rd.is_null(), RID());
3773+
}
3774+
37673775
return UniformSetCacheRD::get_singleton()->get_cache_vec(scene_shader.default_shader_sdfgi_rd, RENDER_PASS_UNIFORM_SET, uniforms);
37683776
}
37693777

servers/rendering/renderer_rd/forward_clustered/scene_shader_forward_clustered.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -805,7 +805,6 @@ void fragment() {
805805

806806
MaterialData *md = static_cast<MaterialData *>(material_storage->material_get_data(default_material, RendererRD::MaterialStorage::SHADER_TYPE_3D));
807807
default_shader_rd = md->shader_data->get_shader_variant(PIPELINE_VERSION_COLOR_PASS, 0, false);
808-
default_shader_sdfgi_rd = md->shader_data->get_shader_variant(PIPELINE_VERSION_DEPTH_PASS_WITH_SDF, 0, false);
809808

810809
default_material_shader_ptr = md->shader_data;
811810
default_material_uniform_set = md->uniform_set;

0 commit comments

Comments
 (0)