The spec allows clGetProgramInfo() to return information about either
the devices associated with the program or the devices associated
with the context. If there are no devices associated with the program,
then we return devices associated with the context.
https://bugs.freedesktop.org/show_bug.cgi?id=52171
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
CC: "10.0" <mesa-stable@lists.freedesktop.org>
break;
case CL_PROGRAM_NUM_DEVICES:
- buf.as_scalar<cl_uint>() = prog.devices().size();
+ buf.as_scalar<cl_uint>() = prog.devices().size() ?
+ prog.devices().size() :
+ prog.ctx.devs().size();
break;
case CL_PROGRAM_DEVICES:
- buf.as_vector<cl_device_id>() = descs(prog.devices());
+ buf.as_vector<cl_device_id>() = prog.devices().size() ?
+ descs(prog.devices()) :
+ descs(prog.ctx.devs());
break;
case CL_PROGRAM_SOURCE: