### Godot version

On top of 4.0 branch. https://github.com/godotengine/godot/commit/fd5dc25240c1537d90b80507683f78bcf574f547

### System information

Mac Mini, Apple Silicon on Firefox

### Issue description

Error message in log.

```
e[1;31mERROR:e[0;91m vkCreateGraphicsPipelines failed with error -3 for shader 'CanvasOcclusionShaderRD:0'.
e[0;90m   at: render_pipeline_create (drivers/vulkan/rendering_device_vulkan.cpp:6394)e[0m
[mvk-error] VK_ERROR_FORMAT_NOT_SUPPORTED: VkFormat VK_FORMAT_R64G64_SFLOAT is not supported for vertex buffers on this device.
```

### Steps to reproduce

Launching my project.

### Minimal reproduction project

I think it happens on all mac projects, but checking now.
} else if (c->type == Item::Command::TYPE_PARTICLES) {
					const Item::CommandParticles *pt = static_cast<const Item::CommandParticles *>(c);
					ERR_BREAK(particles_storage->particles_get_mode(pt->particles) != RS::PARTICLES_MODE_2D);
					particles_storage->particles_request_process(pt->particles);
					if (particles_storage->particles_is_inactive(pt->particles) || particles_storage->particles_get_frame_counter(pt->particles) == 0) {
						break;
					}
					RenderingServerDefault::redraw_request(); 
					int dpc = particles_storage->particles_get_draw_passes(pt->particles);
					if (dpc == 0) {
						break; 
					}
					uint32_t divisor = 1;
					instance_count = particles_storage->particles_get_amount(pt->particles, divisor);
					RID uniform_set = particles_storage->particles_get_instance_buffer_uniform_set(pt->particles, shader.default_version_rd_shader, TRANSFORMS_UNIFORM_SET);
					RD::get_singleton()->draw_list_bind_uniform_set(p_draw_list, uniform_set, TRANSFORMS_UNIFORM_SET);
					push_constant.flags |= divisor;
					instance_count /= divisor;
					push_constant.flags |= FLAGS_INSTANCING_HAS_COLORS;
					push_constant.flags |= FLAGS_INSTANCING_HAS_CUSTOM_DATA;
					mesh = particles_storage->particles_get_draw_pass_mesh(pt->particles, 0); 
					texture = pt->texture;
					if (particles_storage->particles_has_collision(pt->particles) && texture_storage->render_target_is_sdf_enabled(p_render_target)) {
						
						Transform2D xform = p_item->final_transform;
						RID sdf_texture = texture_storage->render_target_get_sdf_texture(p_render_target);
						Rect2 to_screen;
						{
							Rect2 sdf_rect = texture_storage->render_target_get_sdf_rect(p_render_target);
							to_screen.size = Vector2(1.0 / sdf_rect.size.width, 1.0 / sdf_rect.size.height);