### 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.
skeleton->height++;
	}
	if (skeleton->transforms_texture != 0) {
		GLES3::Utilities::get_singleton()->texture_free_data(skeleton->transforms_texture);
		skeleton->transforms_texture = 0;
		skeleton->data.clear();
	}
	if (skeleton->size) {
		skeleton->data.resize(256 * skeleton->height * 4);
		glGenTextures(1, &skeleton->transforms_texture);
		glBindTexture(GL_TEXTURE_2D, skeleton->transforms_texture);
		glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA32F, 256, skeleton->height, 0, GL_RGBA, GL_FLOAT, nullptr);
		glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
		glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
		glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
		glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
		glBindTexture(GL_TEXTURE_2D, 0);
		GLES3::Utilities::get_singleton()->texture_allocated_data(skeleton->transforms_texture, skeleton->data.size() * sizeof(float), "Skeleton transforms texture");
		memset(skeleton->data.ptrw(), 0, skeleton->data.size() * sizeof(float));
		_skeleton_make_dirty(skeleton);
	}
	skeleton->dependency.changed_notify(Dependency::DEPENDENCY_CHANGED_SKELETON_DATA);
}
void MeshStorage::skeleton_set_base_transform_2d(RID p_skeleton, const Transform2D &p_base_transform) {
	Skeleton *skeleton = skeleton_owner.get_or_null(p_skeleton);
	ERR_FAIL_NULL(skeleton);
	ERR_FAIL_COND(!skeleton->use_2d);
	skeleton->base_transform_2d = p_base_transform;
}
int MeshStorage::skeleton_get_bone_count(RID p_skeleton) const {