summaryrefslogtreecommitdiff
path: root/servers
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <remi@verschelde.fr>2022-05-13 15:07:13 +0200
committerGitHub <noreply@github.com>2022-05-13 15:07:13 +0200
commit349aa9c88417557630bf7216b579b9ad753ab053 (patch)
treef702b648ee0dc5b406ec935dbc6b92b9e7042501 /servers
parent785708a5821b3ddf02f60733c631559580e553dc (diff)
parent96c21bc7493f9fee78db6887ee3da6ff7f8562fa (diff)
Merge pull request #60894 from derammo/derammo_opengl3_windows
Diffstat (limited to 'servers')
-rw-r--r--servers/rendering/renderer_scene_cull.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/servers/rendering/renderer_scene_cull.cpp b/servers/rendering/renderer_scene_cull.cpp
index 6e1fa59a7a..d85f314c5c 100644
--- a/servers/rendering/renderer_scene_cull.cpp
+++ b/servers/rendering/renderer_scene_cull.cpp
@@ -609,13 +609,16 @@ void RendererSceneCull::instance_set_base(RID p_instance, RID p_base) {
if (p_base.is_valid()) {
instance->base_type = RSG::storage->get_base_type(p_base);
+ // fix up a specific malfunctioning case before the switch, so it can be handled
if (instance->base_type == RS::INSTANCE_NONE && RendererSceneOcclusionCull::get_singleton()->is_occluder(p_base)) {
instance->base_type = RS::INSTANCE_OCCLUDER;
}
- ERR_FAIL_COND(instance->base_type == RS::INSTANCE_NONE);
-
switch (instance->base_type) {
+ case RS::INSTANCE_NONE: {
+ ERR_PRINT_ONCE("unimplemented base type encountered in renderer scene cull");
+ return;
+ }
case RS::INSTANCE_LIGHT: {
InstanceLightData *light = memnew(InstanceLightData);