### Tested versions

Reproducible in: 4.2.1 - RC1
Not reproducible in: 4.2

### System information

Windows 11 - Godot 4.2 - Compatibility

### Issue description

When using a GPUParticles2D in Godot 4.2.1-RC1 no particles are rendered on screen

### Steps to reproduce

Create a project using 4.2.1-RC1
Set the rending mode to Compatibility.
Create a GPUParticles2D system.
No particles are rendered.

### Minimal reproduction project (MRP)

[ParticlesTest.zip](https://github.com/godotengine/godot/files/13621559/ParticlesTest.zip)
}
		if (material != state.canvas_instance_batches[state.current_batch_index].material) {
			_new_batch(batch_broken);
			GLES3::CanvasMaterialData *material_data = nullptr;
			if (material.is_valid()) {
				material_data = static_cast<GLES3::CanvasMaterialData *>(material_storage->material_get_data(material, RS::SHADER_CANVAS_ITEM));
			}
			shader_data_cache = nullptr;
			if (material_data) {
				if (material_data->shader_data->version.is_valid() && material_data->shader_data->valid) {
					shader_data_cache = material_data->shader_data;
				}
			}
			state.canvas_instance_batches[state.current_batch_index].material = material;
			state.canvas_instance_batches[state.current_batch_index].material_data = material_data;
		}
		GLES3::CanvasShaderData::BlendMode blend_mode = shader_data_cache ? shader_data_cache->blend_mode : GLES3::CanvasShaderData::BLEND_MODE_MIX;
		_record_item_commands(ci, p_to_render_target, p_canvas_transform_inverse, current_clip, blend_mode, p_lights, index, batch_broken, r_sdf_used);
	}
	if (index == 0) {
		
		state.current_batch_index = 0;
		state.canvas_instance_batches.clear();
		return;
	}
	
	glBindBuffer(GL_ARRAY_BUFFER, state.canvas_instance_data_buffers[state.current_data_buffer_index].instance_buffers[state.current_instance_buffer_index]);
#ifdef WEB_ENABLED
	glBufferSubData(GL_ARRAY_BUFFER, state.last_item_index * sizeof(InstanceData), sizeof(InstanceData) * index, state.instance_data_array);
#else