### 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
Texture *tex = texture_owner.get_or_null(p_texture);
	ERR_FAIL_COND_V(!tex, Ref<Image>());
#ifdef TOOLS_ENABLED
	if (tex->image_cache_2d.is_valid() && !tex->is_render_target) {
		return tex->image_cache_2d;
	}
#endif
	Vector<uint8_t> data = RD::get_singleton()->texture_get_data(tex->rd_texture, 0);
	ERR_FAIL_COND_V(data.size() == 0, Ref<Image>());
	Ref<Image> image;
	
	
	if (tex->rd_format == RD::DATA_FORMAT_A2B10G10R10_UNORM_PACK32) {
		Vector<uint8_t> new_data;
		new_data.resize(data.size() * 2);
		uint16_t *ndp = (uint16_t *)new_data.ptr();
		uint32_t *ptr = (uint32_t *)data.ptr();
		uint32_t num_pixels = data.size() / 4;
		for (uint32_t ofs = 0; ofs < num_pixels; ofs++) {
			uint32_t px = ptr[ofs];
			uint32_t r = (px & 0x3FF);
			uint32_t g = ((px >> 10) & 0x3FF);
			uint32_t b = ((px >> 20) & 0x3FF);
			uint32_t a = ((px >> 30) & 0x3);
			ndp[ofs * 4 + 0] = Math::make_half_float(float(r) / 1023.0);
			ndp[ofs * 4 + 1] = Math::make_half_float(float(g) / 1023.0);
			ndp[ofs * 4 + 2] = Math::make_half_float(float(b) / 1023.0);