### 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.
u.append_id(rd_texture);
		uniforms.push_back(u);
		uset = RD::get_singleton()->uniform_set_create(uniforms, blit.shader.version_get_shader(blit.shader_version, BLIT_MODE_NORMAL), 0);
	}
	Size2 window_size = DisplayServer::get_singleton()->window_get_size();
	Rect2 imgrect(0, 0, p_image->get_width(), p_image->get_height());
	Rect2 screenrect;
	if (p_scale) {
		if (window_size.width > window_size.height) {
			
			screenrect.size.y = window_size.height;
			screenrect.size.x = imgrect.size.x * window_size.height / imgrect.size.y;
			screenrect.position.x = (window_size.width - screenrect.size.x) / 2;
		} else {
			
			screenrect.size.x = window_size.width;
			screenrect.size.y = imgrect.size.y * window_size.width / imgrect.size.x;
			screenrect.position.y = (window_size.height - screenrect.size.y) / 2;
		}
	} else {
		screenrect = imgrect;
		screenrect.position += ((window_size - screenrect.size) / 2.0).floor();
	}
	screenrect.position /= window_size;
	screenrect.size /= window_size;
	RD::DrawListID draw_list = RD::get_singleton()->draw_list_begin_for_screen(DisplayServer::MAIN_WINDOW_ID, p_color);
	RD::get_singleton()->draw_list_bind_render_pipeline(draw_list, blit.pipelines[BLIT_MODE_NORMAL_ALPHA]);
	RD::get_singleton()->draw_list_bind_index_array(draw_list, blit.array);
	RD::get_singleton()->draw_list_bind_uniform_set(draw_list, uset, 0);
	blit.push_constant.src_rect[0] = 0.0;