Mesa (master): clover: Handle NULL devs argument in clBuildProgram
Francisco Jerez
currojerez at kemper.freedesktop.org
Sun Jul 1 13:55:43 UTC 2012
Module: Mesa
Branch: master
Commit: 1d21bd057a6b1701dd44a79e82259c0f3ded2b70
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1d21bd057a6b1701dd44a79e82259c0f3ded2b70
Author: Tom Stellard <tstellar at gmail.com>
Date: Thu Jun 28 20:05:21 2012 +0000
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 files 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) {
More information about the mesa-commit
mailing list