diff --git a/spirv_msl.cpp b/spirv_msl.cpp index a2cea6333..43ea56132 100644 --- a/spirv_msl.cpp +++ b/spirv_msl.cpp @@ -18167,6 +18167,10 @@ void CompilerMSL::emit_argument_buffer_aliased_descriptor(const SPIRVariable &al } else { + // This alias may have already been used to emit an entry point declaration. If there is a mismatch, we need a recompile. + // Moving this code to be run earlier will also conflict, + // because we need the qualified alias for the base resource, + // so forcing recompile until things sync up is the least invasive method for now. if (ir.meta[aliased_var.self].decoration.qualified_alias != name) force_recompile();