diff options
author | Hans-Kristian Arntzen <post@arntzen-software.no> | 2021-10-25 10:55:11 +0200 |
---|---|---|
committer | Hans-Kristian Arntzen <post@arntzen-software.no> | 2021-10-25 10:55:11 +0200 |
commit | edf247fb1c632a0c4487207a51151bd1f7f8aef5 (patch) | |
tree | 9c7c909f2b400d0a2dad9d8f2a9f146241fe072c /spirv_msl.hpp | |
parent | 43eecb23603a5eccaefdc423a8b488931609c85f (diff) | |
download | SPIRV-Cross-edf247fb1c632a0c4487207a51151bd1f7f8aef5.tar.gz SPIRV-Cross-edf247fb1c632a0c4487207a51151bd1f7f8aef5.tar.bz2 SPIRV-Cross-edf247fb1c632a0c4487207a51151bd1f7f8aef5.zip |
MSL: Workaround compiler crashes when using threadgroup bool.
Promote to short instead and do simple casts on load/store instead.
Not 100% complete fix since structs can contain booleans, but this is
getting into pretty ridiculously complicated territory.
Diffstat (limited to 'spirv_msl.hpp')
-rw-r--r-- | spirv_msl.hpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/spirv_msl.hpp b/spirv_msl.hpp index ce43cd9e..d1d2ef3e 100644 --- a/spirv_msl.hpp +++ b/spirv_msl.hpp @@ -960,8 +960,8 @@ protected: bool does_shader_write_sample_mask = false; - void cast_to_builtin_store(uint32_t target_id, std::string &expr, const SPIRType &expr_type) override; - void cast_from_builtin_load(uint32_t source_id, std::string &expr, const SPIRType &expr_type) override; + void cast_to_variable_store(uint32_t target_id, std::string &expr, const SPIRType &expr_type) override; + void cast_from_variable_load(uint32_t source_id, std::string &expr, const SPIRType &expr_type) override; void emit_store_statement(uint32_t lhs_expression, uint32_t rhs_expression) override; void analyze_sampled_image_usage(); |