### Godot version

4.1.1-stable

### System information

Windows 10

### Issue description

this will draw black rect

```gdscript

func _draw():
	draw_rect(Rect2i(Vector2i.ZERO, img.get_size()), Color(1, 1, 1, 1), false)

func _draw():
	draw_rect(Rect2i(Vector2i.ZERO, img.get_size()), Color.WHITE, false)

```

![image](https://github.com/godotengine/godot/assets/53877170/dda910f2-e767-47bf-b3f9-7d194fcc7085)

while this will draw white rect

```gdscript

func _draw():
	draw_rect(Rect2i(Vector2i.ZERO, img.get_size()), Color(0.99, 1, 1, 1), false)

```

while this is weird but making circle draws Color(0.99, 1, 1, 1) makes also the _draw_rect to get fixed!

![image](https://github.com/godotengine/godot/assets/53877170/e84862be-0652-49ee-a5f9-435a234bd354)
 

### Steps to reproduce

use Color.WHITE inside any _draw() function or Color(1, 1, 1, 1) and it will draw black color instead of white color

### Minimal reproduction project

N/A
glDeleteVertexArrays(1, &data.canvas_quad_array);
	glDeleteBuffers(1, &data.canvas_quad_vertices);
	glDeleteVertexArrays(1, &data.canvas_quad_array);
	GLES3::TextureStorage::get_singleton()->canvas_texture_free(default_canvas_texture);
	memdelete_arr(state.instance_data_array);
	memdelete_arr(state.light_uniforms);
	if (state.shadow_fb != 0) {
		glDeleteFramebuffers(1, &state.shadow_fb);
		GLES3::Utilities::get_singleton()->texture_free_data(state.shadow_texture);
		glDeleteRenderbuffers(1, &state.shadow_depth_buffer);
		state.shadow_fb = 0;
		state.shadow_texture = 0;
		state.shadow_depth_buffer = 0;
	}
	for (uint32_t i = 0; i < state.canvas_instance_data_buffers.size(); i++) {
		for (int j = 0; j < state.canvas_instance_data_buffers[i].instance_buffers.size(); j++) {
			if (state.canvas_instance_data_buffers[i].instance_buffers[j]) {
				GLES3::Utilities::get_singleton()->buffer_free_data(state.canvas_instance_data_buffers[i].instance_buffers[j]);
			}
		}
		if (state.canvas_instance_data_buffers[i].light_ubo) {
			GLES3::Utilities::get_singleton()->buffer_free_data(state.canvas_instance_data_buffers[i].light_ubo);
		}
		if (state.canvas_instance_data_buffers[i].state_ubo) {
			GLES3::Utilities::get_singleton()->buffer_free_data(state.canvas_instance_data_buffers[i].state_ubo);
		}
	}
}
#endif