### Godot version

4.1.stable

### System information

Android13

### Issue description

I'm trying to import the obj model file on Android but there seems to be some compatibility issues? You can do two tests on both the computer and the mobile side to make sure what I'm saying is true.
![Screenshot_2023-08-07-19-44-12-648_org godotengine editor v4](https://github.com/godotengine/godot/assets/64678717/69e05974-96df-460b-b062-ae99f62b8af2)


### Steps to reproduce

Create an obj file and import it into the Godot engine on Android.

### Minimal reproduction project
[test.zip](https://github.com/godotengine/godot/files/12279298/test.zip)


if (uniform.get_id_count() != (uint32_t)set_uniform.length) {
					if (set_uniform.length > 1) {
						ERR_FAIL_V_MSG(RID(), "Buffer (binding: " + itos(uniform.binding) + ") is an array of (" + itos(set_uniform.length) + ") texture buffer elements, so it should be provided equal number of texture buffer IDs to satisfy it (IDs provided: " + itos(uniform.get_id_count()) + ").");
					} else {
						ERR_FAIL_V_MSG(RID(), "Buffer (binding: " + itos(uniform.binding) + ") should provide one ID referencing a texture buffer (IDs provided: " + itos(uniform.get_id_count()) + ").");
					}
				}
				Vector<VkDescriptorBufferInfo> buffer_info;
				Vector<VkBufferView> buffer_view;
				for (uint32_t j = 0; j < uniform.get_id_count(); j++) {
					TextureBuffer *buffer = texture_buffer_owner.get_or_null(uniform.get_id(j));
					ERR_FAIL_NULL_V_MSG(buffer, RID(), "Texture Buffer (binding: " + itos(uniform.binding) + ", index " + itos(j) + ") is not a valid texture buffer.");
					buffer_info.push_back(buffer->buffer.buffer_info);
					buffer_view.push_back(buffer->view);
				}
				write.dstArrayElement = 0;
				write.descriptorCount = uniform.get_id_count();
				write.descriptorType = VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER;
				write.pImageInfo = nullptr;
				write.pBufferInfo = buffer_infos.push_back(buffer_info)->get().ptr();
				write.pTexelBufferView = buffer_views.push_back(buffer_view)->get().ptr();
				type_size = uniform.get_id_count();
			} break;
			case UNIFORM_TYPE_SAMPLER_WITH_TEXTURE_BUFFER: {
				if (uniform.get_id_count() != (uint32_t)set_uniform.length * 2) {
					if (set_uniform.length > 1) {
						ERR_FAIL_V_MSG(RID(), "SamplerBuffer (binding: " + itos(uniform.binding) + ") is an array of (" + itos(set_uniform.length) + ") sampler buffer elements, so it should provided twice the amount of IDs (sampler,buffer pairs) to satisfy it (IDs provided: " + itos(uniform.get_id_count()) + ").");
					} else {
						ERR_FAIL_V_MSG(RID(), "SamplerBuffer (binding: " + itos(uniform.binding) + ") should provide two IDs referencing a sampler and then a texture buffer (IDs provided: " + itos(uniform.get_id_count()) + ").");
					}