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

glDisable(GL_SCISSOR_TEST);
	glClearColor(0.0, 0.0, 0.0, 0.0);
	glClear(GL_COLOR_BUFFER_BIT);
	CanvasOcclusionShaderGLES3::ShaderVariant variant = CanvasOcclusionShaderGLES3::MODE_SDF;
	bool success = shadow_render.shader.version_bind_shader(shadow_render.shader_version, variant);
	if (!success) {
		return;
	}
	shadow_render.shader.version_set_uniform(CanvasOcclusionShaderGLES3::PROJECTION, Projection(), shadow_render.shader_version, variant);
	shadow_render.shader.version_set_uniform(CanvasOcclusionShaderGLES3::DIRECTION, 0.0, 0.0, shadow_render.shader_version, variant);
	shadow_render.shader.version_set_uniform(CanvasOcclusionShaderGLES3::Z_FAR, 0.0, shadow_render.shader_version, variant);
	LightOccluderInstance *instance = p_occluders;
	while (instance) {
		OccluderPolygon *oc = occluder_polygon_owner.get_or_null(instance->occluder);
		if (!oc || oc->sdf_vertex_array == 0) {
			instance = instance->next;
			continue;
		}
		Transform2D modelview = to_clip * instance->xform_cache;
		shadow_render.shader.version_set_uniform(CanvasOcclusionShaderGLES3::MODELVIEW1, modelview.columns[0][0], modelview.columns[1][0], 0, modelview.columns[2][0], shadow_render.shader_version, variant);
		shadow_render.shader.version_set_uniform(CanvasOcclusionShaderGLES3::MODELVIEW2, modelview.columns[0][1], modelview.columns[1][1], 0, modelview.columns[2][1], shadow_render.shader_version, variant);
		glBindVertexArray(oc->sdf_vertex_array);
		glDrawElements(oc->sdf_is_lines ? GL_LINES : GL_TRIANGLES, oc->sdf_index_count, GL_UNSIGNED_INT, 0);
		instance = instance->next;
	}
	texture_storage->render_target_sdf_process(p_render_target); 
	glBindVertexArray(0);
	glBindFramebuffer(GL_FRAMEBUFFER, 0);
}
RID RasterizerCanvasGLES3::occluder_polygon_create() {