### Godot version

4.1 beta 3, 4.1 beta 1

### System information

Windows 10 - 4.1 beta 3 - Android 12

### Issue description

Crash when using SoftBody on android mobile.

### Steps to reproduce

- Simple scene setup using a plane softbody, camera.
- Export to android mobile.
- Immediate crash when open the app.

### Minimal reproduction project

[SoftbodyMobileTest.zip](https://github.com/godotengine/godot/files/11871734/SoftbodyMobileTest.zip)

attachment_last_pass[attachment] = i;
			}
			reference.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
			color_references.push_back(reference);
		}
		LocalVector<VkAttachmentReference2KHR> &input_references = input_reference_array[i];
		for (int j = 0; j < pass->input_attachments.size(); j++) {
			int32_t attachment = pass->input_attachments[j];
			VkAttachmentReference2KHR reference;
			reference.sType = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR;
			reference.pNext = nullptr;
			if (attachment == FramebufferPass::ATTACHMENT_UNUSED) {
				reference.attachment = VK_ATTACHMENT_UNUSED;
				reference.layout = VK_IMAGE_LAYOUT_UNDEFINED;
			} else {
				ERR_FAIL_INDEX_V_MSG(attachment, p_attachments.size(), VK_NULL_HANDLE, "Invalid framebuffer format attachment(" + itos(attachment) + "), in pass (" + itos(i) + "), input attachment (" + itos(j) + ").");
				ERR_FAIL_COND_V_MSG(!(p_attachments[attachment].usage_flags & TEXTURE_USAGE_INPUT_ATTACHMENT_BIT), VK_NULL_HANDLE, "Invalid framebuffer format attachment(" + itos(attachment) + "), in pass (" + itos(i) + "), it isn't marked as an input texture.");
				ERR_FAIL_COND_V_MSG(attachment_last_pass[attachment] == i, VK_NULL_HANDLE, "Invalid framebuffer format attachment(" + itos(attachment) + "), in pass (" + itos(i) + "), it already was used for something else before in this pass.");
				reference.attachment = attachment_remap[attachment];
				reference.layout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL;
				attachment_last_pass[attachment] = i;
			}
			reference.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
			input_references.push_back(reference);
		}
		LocalVector<VkAttachmentReference2KHR> &resolve_references = resolve_reference_array[i];
		if (pass->resolve_attachments.size() > 0) {
			ERR_FAIL_COND_V_MSG(pass->resolve_attachments.size() != pass->color_attachments.size(), VK_NULL_HANDLE, "The amount of resolve attachments (" + itos(pass->resolve_attachments.size()) + ") must match the number of color attachments (" + itos(pass->color_attachments.size()) + ").");
			ERR_FAIL_COND_V_MSG(texture_samples == TEXTURE_SAMPLES_1, VK_NULL_HANDLE, "Resolve attachments specified, but color attachments are not multisample.");
		}