Lines Matching defs:prog
46 build_notifier(cl_program prog,
48 prog_(prog), notifer(notifer), data_(data) { }
62 validate_build_common(const program &prog, cl_uint num_devs,
69 if (prog.kernel_ref_count())
73 return !count(dev, prog.devices());
272 auto &prog = obj(d_prog);
274 (d_devs ? objs(d_devs, num_devs) : ref_vector<device>(prog.devices()));
277 validate_build_common(prog, num_devs, d_devs, pfn_notify, user_data);
281 if (prog.il_type() != program::il_type::none) {
282 prog.compile(devs, opts);
283 prog.link(devs, opts, { prog });
285 return prog.build(dev).binary_type() != CL_PROGRAM_BINARY_TYPE_EXECUTABLE;
306 auto &prog = obj(d_prog);
308 (d_devs ? objs(d_devs, num_devs) : ref_vector<device>(prog.devices()));
312 validate_build_common(prog, num_devs, d_devs, pfn_notify, user_data);
319 if (prog.il_type() == program::il_type::none)
333 prog.compile(devs, opts, headers);
377 const auto has_binary = [&](const program &prog) {
378 const auto t = prog.build(dev).binary_type();
389 if (create_library && any_of([&](const program &prog) {
390 const auto t = prog.build(dev).binary_type();
412 else if (has_link_options && any_of([&](const program &prog) {
413 const auto t = prog.build(dev).binary_type();
416 prog.build(dev).opts.find("-enable-link-options") !=
436 auto prog = create<program>(ctx, all_devs);
437 auto r_prog = ret_object(prog);
443 validate_build_common(prog, num_devs, d_devs, pfn_notify, user_data);
446 prog().link(devs, opts, progs);
481 auto &prog = obj(d_prog);
485 buf.as_scalar<cl_uint>() = prog.ref_count();
489 buf.as_scalar<cl_context>() = desc(prog.context());
493 buf.as_scalar<cl_uint>() = (prog.devices().size() ?
494 prog.devices().size() :
495 prog.context().devices().size());
499 buf.as_vector<cl_device_id>() = (prog.devices().size() ?
500 descs(prog.devices()) :
501 descs(prog.context().devices()));
505 buf.as_string() = prog.source();
510 return prog.build(dev).bin.size();
512 prog.devices());
519 prog.build(dev).bin.serialize(s);
522 prog.devices());
526 buf.as_scalar<cl_uint>() = prog.symbols().size();
532 }, std::string(), prog.symbols());
541 if (prog.il_type() == program::il_type::spirv)
542 buf.as_vector<char>() = prog.source();
561 auto &prog = obj(d_prog);
564 if (!count(dev, prog.context().devices()))
569 buf.as_scalar<cl_build_status>() = prog.build(dev).status();
573 buf.as_string() = prog.build(dev).opts;
577 buf.as_string() = prog.build(dev).log;
581 buf.as_scalar<cl_program_binary_type>() = prog.build(dev).binary_type();