### Godot version

4.1.1

### System information

Meta Quest 2 - GLES3

### Issue description

When writing VR applications on Godot 4 using gl_compatibility, skeleton-driven meshes like hands are often rendered corrupted, or sometimes update slowly.

### Steps to reproduce

The godot-xr-tools demo projects have these issues in the climbing/gliding and pointer-demo scenes if the project is switched to gl_compatibility mode and run on a mobile VR headset.

### Minimal reproduction project

The godot-xr-tools demo project has been the testing project for this issue.
}
		}
		if (s.attribute_buffer != 0) {
			GLES3::Utilities::get_singleton()->buffer_free_data(s.attribute_buffer);
			s.attribute_buffer = 0;
		}
		if (s.skin_buffer != 0) {
			GLES3::Utilities::get_singleton()->buffer_free_data(s.skin_buffer);
			s.skin_buffer = 0;
		}
		if (s.index_buffer != 0) {
			GLES3::Utilities::get_singleton()->buffer_free_data(s.index_buffer);
			s.index_buffer = 0;
		}
		if (s.versions) {
			memfree(s.versions); 
		}
		if (s.lod_count) {
			for (uint32_t j = 0; j < s.lod_count; j++) {
				if (s.lods[j].index_buffer != 0) {
					GLES3::Utilities::get_singleton()->buffer_free_data(s.lods[j].index_buffer);
					s.lods[j].index_buffer = 0;
				}
			}
			memdelete_arr(s.lods);
		}
		if (mesh->blend_shape_count) {
			for (uint32_t j = 0; j < mesh->blend_shape_count; j++) {
				if (s.blend_shapes[j].vertex_buffer != 0) {
					GLES3::Utilities::get_singleton()->buffer_free_data(s.blend_shapes[j].vertex_buffer);