### Godot version

4.0 beta 17

### System information

Windows 10

### Issue description

Setting the color attribute in ParticleProcessMaterial for GPUParticles2D does not work with compatibility renderer
(works with forward+)

### Steps to reproduce

Set renderer to compatibility
Create a GPUParticles2D
Add ParticleProcessMaterial and set Color attribute (creating a particle shader and setting the `COLOR` is the same)


### Minimal reproduction project

[Particle2DColor.zip](https://github.com/godotengine/godot/files/10678236/Particle2DColor.zip)

#endif
		GLuint texture_atlas = texture_storage->texture_atlas_get_texture();
		if (texture_atlas == 0) {
			GLES3::Texture *tex = texture_storage->get_texture(texture_storage->texture_gl_get_default(GLES3::DEFAULT_GL_TEXTURE_WHITE));
			texture_atlas = tex->tex_id;
		}
		glActiveTexture(GL_TEXTURE0 + GLES3::Config::get_singleton()->max_texture_image_units - 2);
		glBindTexture(GL_TEXTURE_2D, texture_atlas);
		GLuint shadow_tex = state.shadow_texture;
		if (shadow_tex == 0) {
			GLES3::Texture *tex = texture_storage->get_texture(texture_storage->texture_gl_get_default(GLES3::DEFAULT_GL_TEXTURE_WHITE));
			shadow_tex = tex->tex_id;
		}
		glActiveTexture(GL_TEXTURE0 + GLES3::Config::get_singleton()->max_texture_image_units - 3);
		glBindTexture(GL_TEXTURE_2D, shadow_tex);
	}
	{
		
		StateBuffer state_buffer;
		Size2i ssize = texture_storage->render_target_get_size(p_to_render_target);
		
		
		
		float y_scale = texture_storage->render_target_get_override_color(p_to_render_target).is_valid() ? -2.0f : 2.0f;
		Transform3D screen_transform;
		screen_transform.translate_local(-(ssize.width / 2.0f), -(ssize.height / 2.0f), 0.0f);
		screen_transform.scale(Vector3(2.0f / ssize.width, y_scale / ssize.height, 1.0f));
		_update_transform_to_mat4(screen_transform, state_buffer.screen_transform);
		_update_transform_2d_to_mat4(p_canvas_transform, state_buffer.canvas_transform);
		Transform2D normal_transform = p_canvas_transform;