diff --git a/source/blender/gpu/metal/mtl_shader_generator.mm b/source/blender/gpu/metal/mtl_shader_generator.mm index d0077cb5a9b..d9b17597364 100644 --- a/source/blender/gpu/metal/mtl_shader_generator.mm +++ b/source/blender/gpu/metal/mtl_shader_generator.mm @@ -3166,10 +3166,11 @@ std::string MSLGeneratorInterface::generate_msl_vertex_attribute_input_populatio &do_attribute_conversion_on_read, this->vertex_input_attributes[attribute].type); if (do_attribute_conversion_on_read) { - out << "\t" << attribute_conversion_func_name << "(MTL_AttributeConvert" << attribute - << ", v_in." << this->vertex_input_attributes[attribute].name << ", " - << shader_stage_inst_name << "." << this->vertex_input_attributes[attribute].name - << ");" << std::endl; + BLI_assert(this->vertex_input_attributes[attribute].layout_location >= 0); + out << "\t" << attribute_conversion_func_name << "(MTL_AttributeConvert" + << this->vertex_input_attributes[attribute].layout_location << ", v_in." + << this->vertex_input_attributes[attribute].name << ", " << shader_stage_inst_name + << "." << this->vertex_input_attributes[attribute].name << ");" << std::endl; } else { out << "\t" << shader_stage_inst_name << "."