### 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)

ParticlesShader::CopyPushConstant copy_push_constant;
	if (particles->trails_enabled && particles->trail_bind_poses.size() > 1) {
		int fixed_fps = 60.0;
		if (particles->fixed_fps > 0) {
			fixed_fps = particles->fixed_fps;
		}
		copy_push_constant.trail_size = particles->trail_bind_poses.size();
		copy_push_constant.trail_total = particles->frame_history.size();
		copy_push_constant.frame_delta = 1.0 / fixed_fps;
	} else {
		copy_push_constant.trail_size = 1;
		copy_push_constant.trail_total = 1;
		copy_push_constant.frame_delta = 0.0;
	}
	copy_push_constant.order_by_lifetime = (particles->draw_order == RS::PARTICLES_DRAW_ORDER_LIFETIME || particles->draw_order == RS::PARTICLES_DRAW_ORDER_REVERSE_LIFETIME);
	copy_push_constant.lifetime_split = MIN(particles->amount * particles->phase, particles->amount - 1);
	copy_push_constant.lifetime_reverse = particles->draw_order == RS::PARTICLES_DRAW_ORDER_REVERSE_LIFETIME;
	copy_push_constant.frame_remainder = particles->interpolate ? particles->frame_remainder : 0.0;
	copy_push_constant.total_particles = particles->amount;
	copy_push_constant.copy_mode_2d = false;
	Vector3 axis = -p_axis; 
	if (particles->use_local_coords) {
		axis = particles->emission_transform.basis.xform_inv(axis).normalized();
	}
	copy_push_constant.sort_direction[0] = axis.x;
	copy_push_constant.sort_direction[1] = axis.y;
	copy_push_constant.sort_direction[2] = axis.z;
	copy_push_constant.align_up[0] = p_up_axis.x;
	copy_push_constant.align_up[1] = p_up_axis.y;
	copy_push_constant.align_up[2] = p_up_axis.z;