On Sun, 2014-08-10 at 16:46 +0200, EdB wrote: > From: EdB <e...@sigluy.net> > > If there is only one device associed with the kernel and device arg is NULL > you don't have to trigger CL_INVALID_DEVICE > --- > tests/cl/api/get-kernel-work-group-info.c | 31 > +++++++++++++++++++------------ > 1 file changed, 19 insertions(+), 12 deletions(-) > > diff --git a/tests/cl/api/get-kernel-work-group-info.c > b/tests/cl/api/get-kernel-work-group-info.c > index 47d09da..bf0bb29 100644 > --- a/tests/cl/api/get-kernel-work-group-info.c > +++ b/tests/cl/api/get-kernel-work-group-info.c > @@ -61,6 +61,7 @@ piglit_cl_test(const int argc, > int i; > cl_int errNo; > cl_kernel kernel; > + cl_uint* dev_count_ptr; > > size_t param_value_size; > void* param_value; > @@ -168,24 +169,30 @@ piglit_cl_test(const int argc, > piglit_cl_get_error_name(errNo)); > piglit_merge_result(&result, PIGLIT_FAIL); > } > - > + > /* > * CL_INVALID_DEVICE if device is not in the list of devices associated > with > * kernel or if device is NULL but there is more than one device > associated > * with kernel. > */ > - errNo = clGetKernelWorkGroupInfo(kernel, > - NULL, > - CL_KERNEL_WORK_GROUP_SIZE, > - 0, > - NULL, > - ¶m_value_size); > - if(!piglit_cl_check_error(errNo, CL_INVALID_DEVICE)) { > - fprintf(stderr, > - "Failed (error code: %s): Trigger CL_INVALID_DEVICE if > device is NULL but there is more than one device associated with kernel.\n", > - piglit_cl_get_error_name(errNo)); > - piglit_merge_result(&result, PIGLIT_FAIL); > + dev_count_ptr = piglit_cl_get_program_info(env->program, > CL_PROGRAM_NUM_DEVICES); > + if (*dev_count_ptr != 1) { > + errNo = clGetKernelWorkGroupInfo(kernel, > + NULL, > + CL_KERNEL_WORK_GROUP_SIZE, > + 0, > + NULL, > + ¶m_value_size); > + if(!piglit_cl_check_error(errNo, CL_INVALID_DEVICE)) { > + if (*dev_count_ptr != 1) {
What is the purpose of testing (*dev_count_ptr != 1) again? It's already in one big !=1 block. Moreover, can the number of devices ever be != 1 since the test is marked run_per_device? IMO this change effectively disables the subtest jan > + fprintf(stderr, > + "Failed (error code: %s): Trigger > CL_INVALID_DEVICE if device is NULL but there is more than one device > associated with kernel.\n", > + piglit_cl_get_error_name(errNo)); > + piglit_merge_result(&result, PIGLIT_FAIL); > + } > + } > } > + free(dev_count_ptr); > > clReleaseKernel(kernel); > -- Jan Vesely <jan.ves...@rutgers.edu>
signature.asc
Description: This is a digitally signed message part
_______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/piglit