### Godot version

4.0beta10 (4.0beta11)

### System information

Windows 11, Vulkan API 1.3.224 - Vulkan NVIDIA GeForce RTX 3080 Ti

### Issue description

GPUParticle2D seems to jitter since Godot Beta 10 (I have the same problem Godot Beta 11).

Here is what I expect (screen capture of the project in Godot Beta 9):
![Animation](https://user-images.githubusercontent.com/6784639/211841608-c7b268ab-98c6-4c2c-9e42-b7730e44ea20.gif)

Here is what I got in Godot 4.0beta10 and Godot 4.0beta11:
![Animation2](https://user-images.githubusercontent.com/6784639/211841773-bdfc7c45-c262-4be9-b5b7-18856ddcb6f3.gif)


### Steps to reproduce

1. Make 2DScene
2. Add GPUParticle2D
3. Set the Process Material of this GPUParticle2D to a new ParticleProcessMaterial
4. Move the particle around (or make a animationPlayer to move the Particle)

### Minimal reproduction project

[TestProject.zip](https://github.com/godotengine/godot/files/10393668/TestProject.zip)

}
		{
			
			int history_size = 1;
			int trail_steps = 1;
			if (particles->trails_enabled && particles->trail_bind_poses.size() > 1) {
				history_size = MAX(1, int(particles->trail_lifetime * fixed_fps));
				trail_steps = particles->trail_bind_poses.size();
			}
			if (uint32_t(history_size) != particles->frame_history.size()) {
				particles->frame_history.resize(history_size);
				memset(particles->frame_history.ptr(), 0, sizeof(ParticlesFrameParams) * history_size);
			}
			if (uint32_t(trail_steps) != particles->trail_params.size() || particles->frame_params_buffer.is_null()) {
				particles->trail_params.resize(trail_steps);
				if (particles->frame_params_buffer.is_valid()) {
					RD::get_singleton()->free(particles->frame_params_buffer);
				}
				particles->frame_params_buffer = RD::get_singleton()->storage_buffer_create(sizeof(ParticlesFrameParams) * trail_steps);
			}
			if (particles->trail_bind_poses.size() > 1 && particles->trail_bind_pose_buffer.is_null()) {
				particles->trail_bind_pose_buffer = RD::get_singleton()->storage_buffer_create(sizeof(float) * 16 * particles->trail_bind_poses.size());
				particles->trail_bind_poses_dirty = true;
			}
			if (particles->trail_bind_pose_uniform_set.is_null()) {
				Vector<RD::Uniform> uniforms;
				{
					RD::Uniform u;
					u.uniform_type = RD::UNIFORM_TYPE_STORAGE_BUFFER;
					u.binding = 0;