mirror of https://github.com/godotengine/godot
Fix default SDFGI variant not being compiled in time.
This commit is contained in:
parent
6dc78c8aa1
commit
655e98b2ea
|
|
@ -3764,6 +3764,14 @@ RID RenderForwardClustered::_setup_sdfgi_render_pass_uniform_set(RID p_albedo_te
|
||||||
uniforms.push_back(u);
|
uniforms.push_back(u);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (scene_shader.default_shader_sdfgi_rd.is_null()) {
|
||||||
|
// The variant for SDF from the default material should only be retrieved when SDFGI is required.
|
||||||
|
ERR_FAIL_NULL_V(scene_shader.default_material_shader_ptr, RID());
|
||||||
|
scene_shader.enable_advanced_shader_group();
|
||||||
|
scene_shader.default_shader_sdfgi_rd = scene_shader.default_material_shader_ptr->get_shader_variant(SceneShaderForwardClustered::PIPELINE_VERSION_DEPTH_PASS_WITH_SDF, 0, false);
|
||||||
|
ERR_FAIL_COND_V(scene_shader.default_shader_sdfgi_rd.is_null(), RID());
|
||||||
|
}
|
||||||
|
|
||||||
return UniformSetCacheRD::get_singleton()->get_cache_vec(scene_shader.default_shader_sdfgi_rd, RENDER_PASS_UNIFORM_SET, uniforms);
|
return UniformSetCacheRD::get_singleton()->get_cache_vec(scene_shader.default_shader_sdfgi_rd, RENDER_PASS_UNIFORM_SET, uniforms);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -805,7 +805,6 @@ void fragment() {
|
||||||
|
|
||||||
MaterialData *md = static_cast<MaterialData *>(material_storage->material_get_data(default_material, RendererRD::MaterialStorage::SHADER_TYPE_3D));
|
MaterialData *md = static_cast<MaterialData *>(material_storage->material_get_data(default_material, RendererRD::MaterialStorage::SHADER_TYPE_3D));
|
||||||
default_shader_rd = md->shader_data->get_shader_variant(PIPELINE_VERSION_COLOR_PASS, 0, false);
|
default_shader_rd = md->shader_data->get_shader_variant(PIPELINE_VERSION_COLOR_PASS, 0, false);
|
||||||
default_shader_sdfgi_rd = md->shader_data->get_shader_variant(PIPELINE_VERSION_DEPTH_PASS_WITH_SDF, 0, false);
|
|
||||||
|
|
||||||
default_material_shader_ptr = md->shader_data;
|
default_material_shader_ptr = md->shader_data;
|
||||||
default_material_uniform_set = md->uniform_set;
|
default_material_uniform_set = md->uniform_set;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue