diff options
author | Hans-Kristian Arntzen <post@arntzen-software.no> | 2022-09-21 15:48:29 +0300 |
---|---|---|
committer | Hans-Kristian Arntzen <post@arntzen-software.no> | 2022-09-21 15:53:36 +0300 |
commit | a7f64a8b90c2efbb29ca7debe9a18241a152bb30 (patch) | |
tree | 79fd751dbd563be7f8e824f7edf8ac2312f9f79f | |
parent | ddaa2da6295c456e8f3b65e4a9e026a115e65627 (diff) |
MSL: Report unsupported 64-bit atomics.
Overall just broken in some cases. And lack of fetch_* variants for a
few opcodes is also broken. When officially supported in some future MSL
version, this can be lifted.
-rw-r--r-- | spirv_msl.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/spirv_msl.cpp b/spirv_msl.cpp index dd80fbbc..36a128ba 100644 --- a/spirv_msl.cpp +++ b/spirv_msl.cpp @@ -9413,6 +9413,9 @@ void CompilerMSL::emit_atomic_func_op(uint32_t result_type, uint32_t result_id, else if (opcode == OpAtomicSMax || opcode == OpAtomicSMin) expected_type = to_signed_basetype(type.width); + if (type.width == 64) + SPIRV_CROSS_THROW("MSL currently does not support 64-bit atomics."); + auto remapped_type = type; remapped_type.basetype = expected_type; |