Module: Mesa
Branch: master
Commit: 263eb7fa39a16bcce7d64a4b8343c6adbc3e916c
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=263eb7fa39a16bcce7d64a4b8343c6adbc3e916c

Author: Tom Stellard <[email protected]>
Date:   Mon Nov  3 09:14:01 2014 -0500

clover: Fix clBuildProgram piglit regression

Should trigger CL_INVALID_VALUE if device_list is NULL and num_devices
is greater than zero.

Introduced by e5468dfa523be2a7a0d04bb9efcf8ae780957563

Reported by: EdB

Reviewed-by: Francisco Jerez <[email protected]>

---

 src/gallium/state_trackers/clover/api/program.cpp |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/gallium/state_trackers/clover/api/program.cpp 
b/src/gallium/state_trackers/clover/api/program.cpp
index 64c4a43..3a6c054 100644
--- a/src/gallium/state_trackers/clover/api/program.cpp
+++ b/src/gallium/state_trackers/clover/api/program.cpp
@@ -27,7 +27,7 @@ using namespace clover;
 
 namespace {
    void validate_build_program_common(const program &prog, cl_uint num_devs,
-                                      const ref_vector<device> &devs,
+                                      const cl_device_id *d_devs,
                                       void (*pfn_notify)(cl_program, void *),
                                       void *user_data) {
 
@@ -39,7 +39,7 @@ namespace {
 
       if (any_of([&](const device &dev) {
                return !count(dev, prog.context().devices());
-            }, devs))
+            }, objs<allow_empty_tag>(d_devs, num_devs)))
          throw error(CL_INVALID_DEVICE);
    }
 }
@@ -177,7 +177,7 @@ clBuildProgram(cl_program d_prog, cl_uint num_devs,
                 ref_vector<device>(prog.context().devices()));
    auto opts = (p_opts ? p_opts : "");
 
-   validate_build_program_common(prog, num_devs, devs, pfn_notify, user_data);
+   validate_build_program_common(prog, num_devs, d_devs, pfn_notify, 
user_data);
 
    prog.build(devs, opts);
    return CL_SUCCESS;
@@ -200,7 +200,7 @@ clCompileProgram(cl_program d_prog, cl_uint num_devs,
    auto opts = (p_opts ? p_opts : "");
    header_map headers;
 
-   validate_build_program_common(prog, num_devs, devs, pfn_notify, user_data);
+   validate_build_program_common(prog, num_devs, d_devs, pfn_notify, 
user_data);
 
    if (bool(num_headers) != bool(header_names))
       throw error(CL_INVALID_VALUE);

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to