Regression from #71248:

I believe this pull may have caused errors on WebGL since it moves the `GLES_OVER_GL` guard. WebGL does not support texture swizzling per: https://registry.khronos.org/webgl/specs/latest/2.0/#5.19
so this is causing the following trace in Chrome:
```
WebGL: INVALID_ENUM: texParameter: invalid parameter name
```
and it quickly fills up the 256 log limit for the same message in WebGL.

This doesn't appear to be breaking anything asides from causing the numerous log messages.

_Originally posted by @jnlopar in https://github.com/godotengine/godot/issues/71248#issuecomment-1384768973_

CC @rsjtdrjgfuzkfg @clayjohn
if (rt->size.x <= 0 || rt->size.y <= 0) {
		return;
	}
	
	if (rt->direct_to_screen) {
		rt->fbo = system_fbo;
		return;
	}
	Config *config = Config::get_singleton();
	rt->color_internal_format = rt->is_transparent ? GL_RGBA8 : GL_RGB10_A2;
	rt->color_format = GL_RGBA;
	rt->color_type = rt->is_transparent ? GL_UNSIGNED_BYTE : GL_UNSIGNED_INT_2_10_10_10_REV;
	rt->image_format = Image::FORMAT_RGBA8;
	glDisable(GL_SCISSOR_TEST);
	glColorMask(1, 1, 1, 1);
	glDepthMask(GL_FALSE);
	{
		Texture *texture;
		bool use_multiview = rt->view_count > 1 && config->multiview_supported;
		GLenum texture_target = use_multiview ? GL_TEXTURE_2D_ARRAY : GL_TEXTURE_2D;
		
		glGenFramebuffers(1, &rt->fbo);
		glBindFramebuffer(GL_FRAMEBUFFER, rt->fbo);
		
		if (rt->overridden.color.is_valid()) {
			texture = get_texture(rt->overridden.color);
			ERR_FAIL_COND(!texture);