Known Limitations
Resources created with
VK_IMAGE_TILING_OPTIMALandVK_TENSOR_TILING_OPTIMAL_ARMflags cannot be used with memory aliasing.Data graph pipeline creation without a shader module is not supported.
Accuracy of MATMUL computation might be incorrect for mixed reduce float types such as fp8e5m2xfp8e4m3 and fp8e4m3xfp8e5m2.
Usage of the ‘shaderFloat64’ feature requires support from the underlying ICD. This relates to high-precision types. Support of it can be checked with:
vulkaninfo 2>&1 | grep -e 'shaderFloat64\|deviceName'
If this feature is not available, add the
--use-float-as-doubleflag to the build script command to use 32-bitfloatinstead ofdouble. This behavior is automatically enabled on Darwin and Android™.
MoltenVK currently does not have full Vulkan® coverage, some notable issues are:
Several Vulkan® extensions are not available in MoltenVK, e.g. custom border color.
High-precision types in buffers/push constants is currently not supported, which forces lower precision to be used instead.
Passing Shader Storage Buffer Objects, SSBOs, to functions is currently not supported in MoltenVK.