### Godot version

v4.0.3.stable.mono.official [5222a99f5]

### System information

Windows 11, Forward+, Nvidia 3070 latest driver

### Issue description

When instancing many GPUParticles2D, occasionally the following error will be printed to the debugger console:

```
E 0:15:35:0980   compute_list_dispatch: Uniforms were never supplied for set (3) at the time of drawing, which are required by the pipeline
  <C++ Error>    Method/function failed.
  <C++ Source>   drivers/vulkan/rendering_device_vulkan.cpp:8007 @ compute_list_dispatch()
```

Massive artifacts coincide with this error. See example below:

https://github.com/godotengine/godot/assets/4622925/07b31c12-5388-4977-9c13-e91c8b6442fb

I am having difficulty recreating the exact conditions for this error. It seems to happen when many GPU particles are added to the tree at around the same time.

### Steps to reproduce

1. Instance many particles at once.

I realize this isn't helpful. I'm going to do more investigation to see if I can get more accurate reproduction steps.

### Minimal reproduction project

N/A yet
_THREAD_SAFE_METHOD_
	ERR_FAIL_COND_V_MSG(local_device.is_valid(), -1, "Local devices have no screen");
	return context->window_get_height(p_screen);
}
RenderingDevice::FramebufferFormatID RenderingDeviceVulkan::screen_get_framebuffer_format() const {
	_THREAD_SAFE_METHOD_
	ERR_FAIL_COND_V_MSG(local_device.is_valid(), INVALID_ID, "Local devices have no screen");
	
	VkFormat vkformat = context->get_screen_format();
	DataFormat format = DATA_FORMAT_MAX;
	for (int i = 0; i < DATA_FORMAT_MAX; i++) {
		if (vkformat == vulkan_formats[i]) {
			format = DataFormat(i);
			break;
		}
	}
	ERR_FAIL_COND_V(format == DATA_FORMAT_MAX, INVALID_ID);
	AttachmentFormat attachment;
	attachment.format = format;
	attachment.samples = TEXTURE_SAMPLES_1;
	attachment.usage_flags = TEXTURE_USAGE_COLOR_ATTACHMENT_BIT;
	Vector<AttachmentFormat> screen_attachment;
	screen_attachment.push_back(attachment);
	return const_cast<RenderingDeviceVulkan *>(this)->framebuffer_format_create(screen_attachment);
}
RenderingDevice::DrawListID RenderingDeviceVulkan::draw_list_begin_for_screen(DisplayServer::WindowID p_screen, const Color &p_clear_color) {