### Godot version

4.0

### System information

Linux manjaro gpu rx 6900 xt 

### Issue description

I am working on a terrain system which divide heightmap image
Also it change the resolution of heightmap depend on LOD

After converting the height map to texture with ImageTexture some of region have some white and black point at the end of texture
This will happen only when I use FORMAT_RH format, when I use full float or FORMAT_RF, there is no problem and everything will work
Also this will happen for some of the regions not for all of them
![Screenshot_20230619_204257](https://github.com/godotengine/godot/assets/52196206/287b9481-2d7e-400e-ae81-d1d4192cfa05)

This is a photo of what happening, you can see at the end of photo this strange pixels will apeare
![Screenshot_20230619_203749](https://github.com/godotengine/godot/assets/52196206/920fb1c8-e943-4bbd-8753-19f9a4a76ba3)

and this is my terrain, as you can see with this pixels I can not use half float images for my terrain
and for now I just use full float images

### Steps to reproduce

Create some half float images with FORMAT_RH format
resize them
use ImageTexture::create_from_image(image) to create a texture
Some of the texture that you have created has some black and white pixels at the end of texture

Also I am using GDExtension for this
I just generating different heightmap with PackedByteArray, and resize them with my algorithm to optimize GPU memory usage, and I have this problem
But I test this also with Image resize function and all of them get the same result when using FORMAT_RH format
As soon as I change the format to FORMAT_RF everything work again

Also I think the problem come from this: ImageTexture::create_from_image(image) 
because I saved those images to see if the problem is from image class but all images were ok

### Minimal reproduction project

N/A
[empty.zip](https://github.com/godotengine/godot/files/11792662/empty.zip)

color_blend_state_create_info.blendConstants[2] = p_blend_state.blend_constant.b;
	color_blend_state_create_info.blendConstants[3] = p_blend_state.blend_constant.a;
	
	VkPipelineDynamicStateCreateInfo dynamic_state_create_info;
	dynamic_state_create_info.sType = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO;
	dynamic_state_create_info.pNext = nullptr;
	dynamic_state_create_info.flags = 0;
	Vector<VkDynamicState> dynamic_states; 
	dynamic_states.push_back(VK_DYNAMIC_STATE_VIEWPORT); 
	dynamic_states.push_back(VK_DYNAMIC_STATE_SCISSOR);
	if (p_dynamic_state_flags.has_flag(DYNAMIC_STATE_LINE_WIDTH)) {
		dynamic_states.push_back(VK_DYNAMIC_STATE_LINE_WIDTH);
	}
	if (p_dynamic_state_flags.has_flag(DYNAMIC_STATE_DEPTH_BIAS)) {
		dynamic_states.push_back(VK_DYNAMIC_STATE_DEPTH_BIAS);
	}
	if (p_dynamic_state_flags.has_flag(DYNAMIC_STATE_BLEND_CONSTANTS)) {
		dynamic_states.push_back(VK_DYNAMIC_STATE_BLEND_CONSTANTS);
	}
	if (p_dynamic_state_flags.has_flag(DYNAMIC_STATE_DEPTH_BOUNDS)) {
		dynamic_states.push_back(VK_DYNAMIC_STATE_DEPTH_BOUNDS);
	}
	if (p_dynamic_state_flags.has_flag(DYNAMIC_STATE_STENCIL_COMPARE_MASK)) {
		dynamic_states.push_back(VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK);
	}
	if (p_dynamic_state_flags.has_flag(DYNAMIC_STATE_STENCIL_WRITE_MASK)) {
		dynamic_states.push_back(VK_DYNAMIC_STATE_STENCIL_WRITE_MASK);
	}
	if (p_dynamic_state_flags.has_flag(DYNAMIC_STATE_STENCIL_REFERENCE)) {
		dynamic_states.push_back(VK_DYNAMIC_STATE_STENCIL_REFERENCE);