clover: Don't erase build info of devices not being built

Every call to _cl_program::build() was erasing the binaries and logs for
every device associated with the program.  This is incorrect because
it is possible to build a program for only a subset of devices and so
any device not being build should not have this information erased.

Reviewed-by: Francisco Jerez <currojerez@riseup.net>
This commit is contained in:
Tom Stellard 2012-12-10 16:04:04 +00:00
parent c7f9fb37ea
commit 7f71efcf7a

View file

@ -42,10 +42,10 @@ _cl_program::_cl_program(clover::context &ctx,
void
_cl_program::build(const std::vector<clover::device *> &devs) {
__binaries.clear();
__logs.clear();
for (auto dev : devs) {
__binaries.erase(dev);
__logs.erase(dev);
try {
auto module = (dev->ir_format() == PIPE_SHADER_IR_TGSI ?
compile_program_tgsi(__source) :