### Godot version

4.2.rc2 (1ba920fada9efc8c4476ded50fe673b8db541366)

### System information

Mageia 9 - Vulkan (Forward+) - dedicated AMD Radeon RX Vega M GL Graphics (RADV VEGAM) () - Intel(R) Core(TM) i7-8705G CPU @ 3.10GHz (8 Threads)

### Issue description

Passing `--rendering-method forward_plus` on the command line to a project configured with `gl_compatibility` as rendering method leads to a crash:
```
ERROR: Cannot instantiate RenderingDevice-based renderer with renderer type gl_compatibility
   at: RendererCompositorRD (./servers/rendering/renderer_rd/renderer_compositor_rd.cpp:321)
ERROR: Parameter "scene" is null.
   at: get_gi (./servers/rendering/renderer_rd/renderer_compositor_rd.h:112)

Thread 1 "godot-git" received signal SIGSEGV, Segmentation fault.
RendererSceneCull::set_scene_render (this=0xb65a410, p_scene_render=0x0) at ./servers/rendering/renderer_scene_cull.cpp:4140
4140            geometry_instance_pair_mask = scene_render->geometry_instance_get_pair_mask();
(gdb) bt
#0  RendererSceneCull::set_scene_render (this=0xb65a410, p_scene_render=0x0) at ./servers/rendering/renderer_scene_cull.cpp:4140
#1  0x00000000091d5a07 in RenderingServerDefault::RenderingServerDefault (this=0xb0e5450, p_create_thread=false) at ./servers/rendering/rendering_server_default.cpp:421
#2  0x000000000579194e in Main::setup2 () at main/main.cpp:2455
#3  0x00000000057900da in Main::setup (execpath=0x7fffffffda27 "/home/akien/.local/bin/godot-git", argc=2, argv=0x7fffffffd570, p_second_phase=true) at main/main.cpp:2184
#4  0x000000000570c3a5 in main (argc=3, argv=0x7fffffffd568) at platform/linuxbsd/godot_linuxbsd.cpp:62
```

This also seems reproducible in 4.1.3.

Likewise, passing `--rendering-driver vulkan`, or both (`rendering-method forward_plus --rendering-driver vulkan`) crashes similarly.

The issue also happens with `--rendering-method mobile`.

On the other hand, passing `--rendering-method gl_compatibility` and/or `--rendering-driver opengl3` to a RD-based project (`forward_plus` or `mobile`) works fine.

### Steps to reproduce

- Create new GL Compatibility project
- Run it from command line with `--rendering-method forward_plus`

### Minimal reproduction project

Happens in a brand new GL Compatibility project.
}
		} else if (current_res->get_path().is_resource_file()) {
			if (FileAccess::exists(current_res->get_path() + ".import")) {
				editable_info = TTR("This resource was imported, so it's not editable. Change its settings in the import panel and then re-import.");
			}
		}
	} else if (is_node) {
		Node *current_node = Object::cast_to<Node>(current_obj);
		ERR_FAIL_NULL(current_node);
		InspectorDock::get_inspector_singleton()->edit(current_node);
		if (current_node->is_inside_tree()) {
			NodeDock::get_singleton()->set_node(current_node);
			SceneTreeDock::get_singleton()->set_selected(current_node);
			InspectorDock::get_singleton()->update(current_node);
			if (!inspector_only && !skip_main_plugin) {
				skip_main_plugin = stay_in_script_editor_on_node_selected && !ScriptEditor::get_singleton()->is_editor_floating() && ScriptEditor::get_singleton()->is_visible_in_tree();
			}
		} else {
			NodeDock::get_singleton()->set_node(nullptr);
			SceneTreeDock::get_singleton()->set_selected(nullptr);
			InspectorDock::get_singleton()->update(nullptr);
		}
		if (get_edited_scene() && !get_edited_scene()->get_scene_file_path().is_empty()) {
			String source_scene = get_edited_scene()->get_scene_file_path();
			if (FileAccess::exists(source_scene + ".import")) {
				editable_info = TTR("This scene was imported, so changes to it won't be kept.\nInstantiating or inheriting it will allow you to make changes to it.\nPlease read the documentation relevant to importing scenes to better understand this workflow.");
				info_is_warning = true;
			}
		}
	} else {