### 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)

}
		frame_profile = new_profile;
	}
	frame_profile_frame = RSG::utilities->get_captured_timestamps_frame();
	if (print_gpu_profile) {
		if (print_frame_profile_ticks_from == 0) {
			print_frame_profile_ticks_from = OS::get_singleton()->get_ticks_usec();
		}
		double total_time = 0.0;
		for (int i = 0; i < frame_profile.size() - 1; i++) {
			String name = frame_profile[i].name;
			if (name[0] == '<' || name[0] == '>') {
				continue;
			}
			double time = frame_profile[i + 1].gpu_msec - frame_profile[i].gpu_msec;
			if (name[0] != '<' && name[0] != '>') {
				if (print_gpu_profile_task_time.has(name)) {
					print_gpu_profile_task_time[name] += time;
				} else {
					print_gpu_profile_task_time[name] = time;
				}
			}
		}
		if (frame_profile.size()) {
			total_time = frame_profile[frame_profile.size() - 1].gpu_msec;
		}
		uint64_t ticks_elapsed = OS::get_singleton()->get_ticks_usec() - print_frame_profile_ticks_from;
		print_frame_profile_frame_count++;
		if (ticks_elapsed > 1000000) {
			print_line("GPU PROFILE (total " + rtos(total_time) + "ms): ");