### Godot version

4.2.dev3

### System information

Godot v4.2.dev3 - Arch Linux #0~20230811.g489fabdc SMP PREEMPT_DYNAMIC Sat Aug 12 02:04:20 UT - X11 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1650 (nvidia; 535.98) - Intel(R) Core(TM) i5-9300H CPU @ 2.40GHz (8 Threads)

### Issue description

After turning on 2d hdr and font msdf at the same time, there is a problem with ui text rendering.

2d hdr off:
![图片](https://github.com/godotengine/godot/assets/52148221/37074fde-a0ce-4d3f-8bfc-dcf3f910cb12)
2d hdr on:
![图片](https://github.com/godotengine/godot/assets/52148221/b858899c-e08f-4bac-b0d6-4385d9a46114)


### Steps to reproduce

1. Open msdf for default font or custom font.
2. Turn on 2d hdr.
3. Add a Label node and enter text, the text rendering is destroyed.

### Minimal reproduction project

N/A
CanvasTexture *ct = canvas_texture_owner.get_or_null(p_canvas_texture);
	ERR_FAIL_NULL(ct);
	ct->specular_color.r = p_specular_color.r;
	ct->specular_color.g = p_specular_color.g;
	ct->specular_color.b = p_specular_color.b;
	ct->specular_color.a = p_shininess;
	ct->clear_sets();
}
void TextureStorage::canvas_texture_set_texture_filter(RID p_canvas_texture, RS::CanvasItemTextureFilter p_filter) {
	CanvasTexture *ct = canvas_texture_owner.get_or_null(p_canvas_texture);
	ERR_FAIL_NULL(ct);
	ct->texture_filter = p_filter;
	ct->clear_sets();
}
void TextureStorage::canvas_texture_set_texture_repeat(RID p_canvas_texture, RS::CanvasItemTextureRepeat p_repeat) {
	CanvasTexture *ct = canvas_texture_owner.get_or_null(p_canvas_texture);
	ERR_FAIL_NULL(ct);
	ct->texture_repeat = p_repeat;
	ct->clear_sets();
}
bool TextureStorage::canvas_texture_get_uniform_set(RID p_texture, RS::CanvasItemTextureFilter p_base_filter, RS::CanvasItemTextureRepeat p_base_repeat, RID p_base_shader, int p_base_set, bool p_use_srgb, RID &r_uniform_set, Size2i &r_size, Color &r_specular_shininess, bool &r_use_normal, bool &r_use_specular) {
	MaterialStorage *material_storage = MaterialStorage::get_singleton();
	CanvasTexture *ct = nullptr;
	Texture *t = get_texture(p_texture);
	
	if (t) {
		
		if (!t->canvas_texture) {
			t->canvas_texture = memnew(CanvasTexture);