### 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.)
if (xr_interface->pre_draw_viewport(vp->render_target)) {
				RSG::texture_storage->render_target_set_override(vp->render_target,
						xr_interface->get_color_texture(),
						xr_interface->get_depth_texture(),
						xr_interface->get_velocity_texture());
				
				RSG::scene->set_debug_draw_mode(vp->debug_draw);
				
				_draw_viewport(vp);
				
				Vector<BlitToScreen> blits = xr_interface->post_draw_viewport(vp->render_target, vp->viewport_to_screen_rect);
				if (vp->viewport_to_screen != DisplayServer::INVALID_WINDOW_ID) {
					if (OS::get_singleton()->get_current_rendering_driver_name() == "opengl3") {
						if (blits.size() > 0) {
							RSG::rasterizer->blit_render_targets_to_screen(vp->viewport_to_screen, blits.ptr(), blits.size());
						}
						RSG::rasterizer->end_frame(true);
					} else if (blits.size() > 0) {
						if (!blit_to_screen_list.has(vp->viewport_to_screen)) {
							blit_to_screen_list[vp->viewport_to_screen] = Vector<BlitToScreen>();
						}
						for (int b = 0; b < blits.size(); b++) {
							blit_to_screen_list[vp->viewport_to_screen].push_back(blits[b]);
						}
					}
				}
			}