Open GabeRundlett opened 1 year ago
Just as a note, 64 bit integer atomics look like they may never be supported in Metal/MoltenVK... this is really sad.
Maybe can be supported, but only on M2 class HW discussion
It can't for now. On M2 the only thing they support is 64 bit min/max, and those operations don't even return the previous value. this is linked in the linked reddit thread, which shows that the Unreal team managed to create a 32 bit workaround to their compute rasterization https://github.com/philipturner/ue5-nanite-macos/blob/main/AtomicsWorkaround/README.md
We would like to support Daxa on as many platforms as possible, but it is by no means our main priority. Daxa will not downgrade its API due to the lack of support for any features on lesser platforms. Some work has been done regarding MacOS support, though there are some big issues that prevent Daxa from working completely on MacOS.
Currently, the following lack of consideration for bindless through updating bound descriptor sets makes bindless unusable for now. This should be a pretty trivial fix within MoltenVK since Metal should support bindless fully. (2023 m2 Mac mini)
Also, Daxa requires Vulkan 1.3 support - and MoltenVK isn't there yet. Sync2 is the most relevant one for Daxa.
Just as a note, 64 bit integer atomics look like they may never be supported in Metal/MoltenVK... this is really sad.