Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/KhronosGroup/SPIRV-Cross.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Kristian Arntzen <post@arntzen-software.no>2022-09-21 15:48:29 +0300
committerHans-Kristian Arntzen <post@arntzen-software.no>2022-09-21 15:53:36 +0300
commita7f64a8b90c2efbb29ca7debe9a18241a152bb30 (patch)
tree79fd751dbd563be7f8e824f7edf8ac2312f9f79f
parentddaa2da6295c456e8f3b65e4a9e026a115e65627 (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.cpp3
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;