### Godot version

v4.0.beta12.official [3c9bf4bc2]

### System information

Windows 10, AMD Radeon RX 480 4 GB RAM, 16 gb ram, Intel CPU 4 cores.

### Issue description


When switching to mobile render from forward + The alpha texture on the tree mesh starts to flicker.
Made a video: https://www.youtube.com/watch?v=WdGVi1hdRHo



### Steps to reproduce

Switching to mobile render from forward +

### Minimal reproduction project

Uploaded the project in google link: https://drive.google.com/file/d/1efEV914CWkyWoGzkv3RBMnw9t-4BVTeQ/view?usp=sharing
(only deleted the .godot - i guess its not needed.)
} else {
			RSG::texture_storage->render_target_set_override(vp->render_target, RID(), RID(), RID());
			RSG::scene->set_debug_draw_mode(vp->debug_draw);
			
			_draw_viewport(vp);
			if (vp->viewport_to_screen != DisplayServer::INVALID_WINDOW_ID && (!vp->viewport_render_direct_to_screen || !RSG::rasterizer->is_low_end())) {
				
				BlitToScreen blit;
				blit.render_target = vp->render_target;
				if (vp->viewport_to_screen_rect != Rect2()) {
					blit.dst_rect = vp->viewport_to_screen_rect;
				} else {
					blit.dst_rect.position = Vector2();
					blit.dst_rect.size = vp->size;
				}
				if (!blit_to_screen_list.has(vp->viewport_to_screen)) {
					blit_to_screen_list[vp->viewport_to_screen] = Vector<BlitToScreen>();
				}
				if (OS::get_singleton()->get_current_rendering_driver_name() == "opengl3") {
					Vector<BlitToScreen> blit_to_screen_vec;
					blit_to_screen_vec.push_back(blit);
					RSG::rasterizer->blit_render_targets_to_screen(vp->viewport_to_screen, blit_to_screen_vec.ptr(), 1);
					RSG::rasterizer->end_frame(true);
				} else {
					blit_to_screen_list[vp->viewport_to_screen].push_back(blit);
				}
			}
		}
		if (vp->update_mode == RS::VIEWPORT_UPDATE_ONCE) {
			vp->update_mode = RS::VIEWPORT_UPDATE_DISABLED;