### Godot version

v4.0.beta17.official [c40020513]

### System information

Windows 11, OpenGL (Compatibility), RTX 2060 (31.0.15.2824)

### Issue description

I tried to make a blurred panel for a ui element with texturelod via shader:

```glsl
shader_type canvas_item;

uniform sampler2D SCREEN_TEXTURE : hint_screen_texture, filter_linear_mipmap_anisotropic;
uniform float blur_amount : hint_range(0.0, 5.0);

void fragment() {
	vec4 blurred = textureLod(SCREEN_TEXTURE, SCREEN_UV, blur_amount);
	COLOR = blurred;
}
```

but what I got instead is this:
![image](https://user-images.githubusercontent.com/72286622/217170426-49f6712d-47ef-4c53-b9f1-30d8ad868084.png)

vulkan renderer does not exhibit this issue:
![image](https://user-images.githubusercontent.com/72286622/217170565-a013c712-94f6-49d1-b9ec-091c28a7790b.png)


### Steps to reproduce

1. Add a TextureRect node
2. Add a Panel node to overlay the previously added node
3. Apply the blur shader to the panel node

### Minimal reproduction project

N/A
bool success = copy.shader.version_bind_shader(copy.shader_version, CopyShaderGLES3::MODE_DEFAULT);
	if (!success) {
		return;
	}
	draw_screen_triangle();
}
void CopyEffects::bilinear_blur(GLuint p_source_texture, int p_mipmap_count, const Rect2i &p_region) {
	GLuint framebuffers[2];
	glGenFramebuffers(2, framebuffers);
	glBindFramebuffer(GL_READ_FRAMEBUFFER, framebuffers[0]);
	glFramebufferTexture2D(GL_READ_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, p_source_texture, 0);
	Rect2i source_region = p_region;
	Rect2i dest_region = p_region;
	for (int i = 1; i < p_mipmap_count; i++) {
		dest_region.position.x >>= 1;
		dest_region.position.y >>= 1;
		dest_region.size.x = MAX(1, dest_region.size.x >> 1);
		dest_region.size.y = MAX(1, dest_region.size.y >> 1);
		glBindFramebuffer(GL_DRAW_FRAMEBUFFER, framebuffers[i % 2]);
		glFramebufferTexture2D(GL_DRAW_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, p_source_texture, i);
		glBlitFramebuffer(source_region.position.x, source_region.position.y, source_region.position.x + source_region.size.x, source_region.position.y + source_region.size.y,
				dest_region.position.x, dest_region.position.y, dest_region.position.x + dest_region.size.x, dest_region.position.y + dest_region.size.y, GL_COLOR_BUFFER_BIT, GL_LINEAR);
		glBindFramebuffer(GL_READ_FRAMEBUFFER, framebuffers[i % 2]);
		source_region = dest_region;
	}
	glBindFramebuffer(GL_READ_FRAMEBUFFER, 0);
	glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0);
	glDeleteFramebuffers(2, framebuffers);
}
void CopyEffects::set_color(const Color &p_color, const Rect2i &p_region) {