Lines Matching refs:prog
43 build_notifier(cl_program prog, in build_notifier() argument
45 prog_(prog), notifer(notifer), data_(data) { } in build_notifier()
59 validate_build_common(const program &prog, cl_uint num_devs, in validate_build_common() argument
66 if (prog.kernel_ref_count()) in validate_build_common()
70 return !count(dev, prog.devices()); in validate_build_common()
204 auto &prog = obj(d_prog); in clBuildProgram() local
206 (d_devs ? objs(d_devs, num_devs) : ref_vector<device>(prog.devices())); in clBuildProgram()
209 validate_build_common(prog, num_devs, d_devs, pfn_notify, user_data); in clBuildProgram()
213 if (prog.has_source) { in clBuildProgram()
214 prog.compile(devs, opts); in clBuildProgram()
215 prog.link(devs, opts, { prog }); in clBuildProgram()
217 return prog.build(dev).binary_type() != CL_PROGRAM_BINARY_TYPE_EXECUTABLE; in clBuildProgram()
238 auto &prog = obj(d_prog); in clCompileProgram() local
240 (d_devs ? objs(d_devs, num_devs) : ref_vector<device>(prog.devices())); in clCompileProgram()
244 validate_build_common(prog, num_devs, d_devs, pfn_notify, user_data); in clCompileProgram()
251 if (!prog.has_source) in clCompileProgram()
265 prog.compile(devs, opts, headers); in clCompileProgram()
309 const auto has_binary = [&](const program &prog) { in validate_link_devices() argument
310 const auto t = prog.build(dev).binary_type(); in validate_link_devices()
321 if (create_library && any_of([&](const program &prog) { in validate_link_devices() argument
322 const auto t = prog.build(dev).binary_type(); in validate_link_devices()
344 else if (has_link_options && any_of([&](const program &prog) { in validate_link_devices() argument
345 const auto t = prog.build(dev).binary_type(); in validate_link_devices()
348 prog.build(dev).opts.find("-enable-link-options") != in validate_link_devices()
368 auto prog = create<program>(ctx, all_devs); in clLinkProgram() local
369 auto r_prog = ret_object(prog); in clLinkProgram()
375 validate_build_common(prog, num_devs, d_devs, pfn_notify, user_data); in clLinkProgram()
378 prog().link(devs, opts, progs); in clLinkProgram()
410 auto &prog = obj(d_prog); in clGetProgramInfo() local
414 buf.as_scalar<cl_uint>() = prog.ref_count(); in clGetProgramInfo()
418 buf.as_scalar<cl_context>() = desc(prog.context()); in clGetProgramInfo()
422 buf.as_scalar<cl_uint>() = (prog.devices().size() ? in clGetProgramInfo()
423 prog.devices().size() : in clGetProgramInfo()
424 prog.context().devices().size()); in clGetProgramInfo()
428 buf.as_vector<cl_device_id>() = (prog.devices().size() ? in clGetProgramInfo()
429 descs(prog.devices()) : in clGetProgramInfo()
430 descs(prog.context().devices())); in clGetProgramInfo()
434 buf.as_string() = prog.source(); in clGetProgramInfo()
439 return prog.build(dev).binary.size(); in clGetProgramInfo()
441 prog.devices()); in clGetProgramInfo()
448 prog.build(dev).binary.serialize(s); in clGetProgramInfo()
451 prog.devices()); in clGetProgramInfo()
455 buf.as_scalar<cl_uint>() = prog.symbols().size(); in clGetProgramInfo()
461 }, std::string(), prog.symbols()); in clGetProgramInfo()
479 auto &prog = obj(d_prog); in clGetProgramBuildInfo() local
482 if (!count(dev, prog.context().devices())) in clGetProgramBuildInfo()
487 buf.as_scalar<cl_build_status>() = prog.build(dev).status(); in clGetProgramBuildInfo()
491 buf.as_string() = prog.build(dev).opts; in clGetProgramBuildInfo()
495 buf.as_string() = prog.build(dev).log; in clGetProgramBuildInfo()
499 buf.as_scalar<cl_program_binary_type>() = prog.build(dev).binary_type(); in clGetProgramBuildInfo()