### Godot version

v4.1.stable.official.970459615

### System information

Windows 10 OpenGL API 3.3.0

### Issue description

Calling force_draw from a thread crashes compatibility renderer. Not sure if bug or this is not something that we should be doing, but it seems to not cause any issue with mobile/desktop forward+ renderer. Reason why i do this because it lets the engine run at a higher frame rate than the renderer.

### Steps to reproduce

🧵

### Minimal reproduction project

[forcedraw.zip](https://github.com/godotengine/godot/files/11988748/forcedraw.zip)

server_thread = Thread::get_caller_id();
	DisplayServer::get_singleton()->make_rendering_thread();
	_init();
	draw_thread_up.set();
	while (!exit.is_set()) {
		
		command_queue.wait_and_flush();
	}
	command_queue.flush_all(); 
	_finish();
}
void RenderingServerDefault::sync() {
	if (create_thread) {
		command_queue.push_and_sync(this, &RenderingServerDefault::_thread_flush);
	} else {
		command_queue.flush_all(); 
	}
}
void RenderingServerDefault::draw(bool p_swap_buffers, double frame_step) {
	if (create_thread) {
		command_queue.push(this, &RenderingServerDefault::_thread_draw, p_swap_buffers, frame_step);
	} else {
		_draw(p_swap_buffers, frame_step);
	}
}
void RenderingServerDefault::_call_on_render_thread(const Callable &p_callable) {
	p_callable.call();
}
RenderingServerDefault::RenderingServerDefault(bool p_create_thread) :