From: Tom Stellard Date: Mon, 3 Nov 2014 14:14:01 +0000 (-0500) Subject: clover: Fix clBuildProgram piglit regression X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=263eb7fa39a16bcce7d64a4b8343c6adbc3e916c;p=mesa.git 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 --- diff --git a/src/gallium/state_trackers/clover/api/program.cpp b/src/gallium/state_trackers/clover/api/program.cpp index 64c4a43f4b3..3a6c0546153 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 &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(d_devs, num_devs))) throw error(CL_INVALID_DEVICE); } } @@ -177,7 +177,7 @@ clBuildProgram(cl_program d_prog, cl_uint num_devs, ref_vector(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);