You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-30 16:26:50 +00:00
Fix bad parameter of rendering_method crashes Godot
Print error and default to forward plus
(cherry picked from commit b6bee1c21e)
This commit is contained in:
committed by
Rémi Verschelde
parent
2cbe02ad70
commit
b768561154
@@ -310,15 +310,16 @@ RendererCompositorRD::RendererCompositorRD() {
|
|||||||
uint64_t textures_per_stage = RD::get_singleton()->limit_get(RD::LIMIT_MAX_TEXTURES_PER_SHADER_STAGE);
|
uint64_t textures_per_stage = RD::get_singleton()->limit_get(RD::LIMIT_MAX_TEXTURES_PER_SHADER_STAGE);
|
||||||
|
|
||||||
if (rendering_method == "mobile" || textures_per_stage < 48) {
|
if (rendering_method == "mobile" || textures_per_stage < 48) {
|
||||||
scene = memnew(RendererSceneRenderImplementation::RenderForwardMobile());
|
|
||||||
if (rendering_method == "forward_plus") {
|
if (rendering_method == "forward_plus") {
|
||||||
WARN_PRINT_ONCE("Platform supports less than 48 textures per stage which is less than required by the Clustered renderer. Defaulting to Mobile renderer.");
|
WARN_PRINT_ONCE("Platform supports less than 48 textures per stage which is less than required by the Clustered renderer. Defaulting to Mobile renderer.");
|
||||||
}
|
}
|
||||||
|
scene = memnew(RendererSceneRenderImplementation::RenderForwardMobile());
|
||||||
} else if (rendering_method == "forward_plus") {
|
} else if (rendering_method == "forward_plus") {
|
||||||
// default to our high end renderer
|
|
||||||
scene = memnew(RendererSceneRenderImplementation::RenderForwardClustered());
|
scene = memnew(RendererSceneRenderImplementation::RenderForwardClustered());
|
||||||
} else {
|
} else {
|
||||||
ERR_FAIL_MSG("Cannot instantiate RenderingDevice-based renderer with renderer type " + rendering_method);
|
// Fall back to our high end renderer.
|
||||||
|
ERR_PRINT(vformat("Cannot instantiate RenderingDevice-based renderer with renderer type '%s'. Defaulting to Forward+ renderer.", rendering_method));
|
||||||
|
scene = memnew(RendererSceneRenderImplementation::RenderForwardClustered());
|
||||||
}
|
}
|
||||||
|
|
||||||
scene->init();
|
scene->init();
|
||||||
|
|||||||
Reference in New Issue
Block a user