### 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.)
Viewport *viewport = viewport_owner.get_or_null(p_viewport);
	ERR_FAIL_COND(!viewport);
	if (p_enable == viewport->viewport_render_direct_to_screen) {
		return;
	}
	
	if (!p_enable) {
		RSG::texture_storage->render_target_set_position(viewport->render_target, 0, 0);
		RSG::texture_storage->render_target_set_size(viewport->render_target, viewport->size.x, viewport->size.y, viewport->view_count);
	}
	RSG::texture_storage->render_target_set_direct_to_screen(viewport->render_target, p_enable);
	viewport->viewport_render_direct_to_screen = p_enable;
	
	if (RSG::rasterizer->is_low_end() && viewport->viewport_to_screen_rect != Rect2() && p_enable) {
		RSG::texture_storage->render_target_set_size(viewport->render_target, viewport->viewport_to_screen_rect.size.x, viewport->viewport_to_screen_rect.size.y, viewport->view_count);
		RSG::texture_storage->render_target_set_position(viewport->render_target, viewport->viewport_to_screen_rect.position.x, viewport->viewport_to_screen_rect.position.y);
	}
}
void RendererViewport::viewport_set_update_mode(RID p_viewport, RS::ViewportUpdateMode p_mode) {
	Viewport *viewport = viewport_owner.get_or_null(p_viewport);
	ERR_FAIL_COND(!viewport);
	viewport->update_mode = p_mode;
}
RID RendererViewport::viewport_get_texture(RID p_viewport) const {
	const Viewport *viewport = viewport_owner.get_or_null(p_viewport);
	ERR_FAIL_COND_V(!viewport, RID());
	return RSG::texture_storage->render_target_get_texture(viewport->render_target);
}
RID RendererViewport::viewport_get_occluder_debug_texture(RID p_viewport) const {