Open PixelyIon opened 2 weeks ago
I think this was due to the recent update to vulkan 296 in the build pipelines in this commit: https://github.com/godotengine/godot/commit/74df6f192a5d123d291a90519805fd340282b97b
Vulkan is now pulling .296 instead of .290 which I believe had all working properly. We identified this same problem in all iphone X family (X, XS, XR) in our recent builds and that's y we started investigating. Try using the 1.3.290.0 version from here https://vulkan.lunarg.com/sdk/home
An SDK version difference won't cause this, it's just due to Godot not dropping copies with an effective size of zero pixels within their Vulkan backend.
Maybe not causing this specific issue, however we saw similar problems that caused corrupted buffers when using this same VK version you're using and solved it with a rollback to 1.3.290
Not sure what the root cause for that issue would be, it could be related given you're on MacOS since MoltenVK ships with the Vulkan SDK to my knowledge? It could handle this case differently depending on the version. It's worth noting however that the failure I'm seeing is on Linux, with a native VK driver (Mesa3D Turnip) that is separate from the Vulkan SDK.
Yeah it's definitely caused by MoltenVK. And you're right. I should probably open another issue for this problem
Tested versions
System information
Vulkan 1.3.296 - Forward Mobile - Using Device #0: Qualcomm - Turnip Adreno (TM) 750
Issue description
Godot when launched with the XR template having no modifications, ends up calling
vkCmdCopyImageToBuffer
with one of theVkBufferImageCopy
s having animageExtent.width
of0
(height/depth are both 1) which breaksVUID-VkBufferImageCopy-imageExtent-06659
("imageExtent.width must not be 0"). These problematic copies should be dropped on the Godot's end since as far as VK drivers are concerned, this is UB.Additional Context: I'm a developer of Mesa3D Turnip (FOSS VK driver for QCOM Adreno GPUs), breaking the VK specification causes a crash on our driver and since this is an application bug it isn't something we would fix.
Steps to reproduce
Minimal reproduction project (MRP)
Godot XR Template v4.1.0