From 1d21bd057a6b1701dd44a79e82259c0f3ded2b70 Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Thu, 28 Jun 2012 20:05:21 +0000 Subject: [PATCH] clover: Handle NULL devs argument in clBuildProgram If devs is NULL, then the kernel should be compiled for all devices associated with the program. --- src/gallium/state_trackers/clover/api/program.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/gallium/state_trackers/clover/api/program.cpp b/src/gallium/state_trackers/clover/api/program.cpp index e874c51..b167904 100644 --- a/src/gallium/state_trackers/clover/api/program.cpp +++ b/src/gallium/state_trackers/clover/api/program.cpp @@ -142,12 +142,17 @@ clBuildProgram(cl_program prog, cl_uint count, const cl_device_id *devs, (!pfn_notify && user_data)) throw error(CL_INVALID_VALUE); - if (any_of([&](const cl_device_id dev) { - return !prog->ctx.has_device(dev); - }, devs, devs + count)) - throw error(CL_INVALID_DEVICE); + if (devs) { + if (any_of([&](const cl_device_id dev) { + return !prog->ctx.has_device(dev); + }, devs, devs + count)) + throw error(CL_INVALID_DEVICE); + + prog->build({ devs, devs + count }); + } else { + prog->build(prog->ctx.devs); + } - prog->build({ devs, devs + count }); return CL_SUCCESS; } catch (error &e) { -- 2.7.4