@@ -521,6 +521,7 @@ struct CLIArguments
521521 bool msl_view_index_from_device_index = false ;
522522 bool msl_dispatch_base = false ;
523523 bool msl_decoration_binding = false ;
524+ bool msl_force_active_argument_buffer_resources = false ;
524525 bool glsl_emit_push_constant_as_ubo = false ;
525526 bool glsl_emit_ubo_as_plain_uniforms = false ;
526527 bool vulkan_glsl_disable_ext_samplerless_texture_functions = false ;
@@ -612,6 +613,7 @@ static void print_help()
612613 " \t [--msl-dispatch-base]\n "
613614 " \t [--msl-dynamic-buffer <set index> <binding>]\n "
614615 " \t [--msl-decoration-binding]\n "
616+ " \t [--msl-force-active-argument-buffer-resources]\n "
615617 " \t [--hlsl]\n "
616618 " \t [--reflect]\n "
617619 " \t [--shader-model]\n "
@@ -801,6 +803,7 @@ static string compile_iteration(const CLIArguments &args, std::vector<uint32_t>
801803 msl_opts.view_index_from_device_index = args.msl_view_index_from_device_index ;
802804 msl_opts.dispatch_base = args.msl_dispatch_base ;
803805 msl_opts.enable_decoration_binding = args.msl_decoration_binding ;
806+ msl_opts.force_active_argument_buffer_resources = args.msl_force_active_argument_buffer_resources ;
804807 msl_comp->set_msl_options (msl_opts);
805808 for (auto &v : args.msl_discrete_descriptor_sets )
806809 msl_comp->add_discrete_descriptor_set (v);
@@ -1148,6 +1151,9 @@ static int main_inner(int argc, char *argv[])
11481151 args.msl_dynamic_buffers .push_back (make_pair (desc_set, binding));
11491152 });
11501153 cbs.add (" --msl-decoration-binding" , [&args](CLIParser &) { args.msl_decoration_binding = true ; });
1154+ cbs.add (" --msl-force-active-argument-buffer-resources" , [&args](CLIParser &) {
1155+ args.msl_force_active_argument_buffer_resources = true ;
1156+ });
11511157 cbs.add (" --extension" , [&args](CLIParser &parser) { args.extensions .push_back (parser.next_string ()); });
11521158 cbs.add (" --rename-entry-point" , [&args](CLIParser &parser) {
11531159 auto old_name = parser.next_string ();
0 commit comments