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