The standard allows NULL to be passed as the arg_value parameter to clSetKernelArg when you want a global pointer argument of a kernel to be NULL. However, it doesn’t specify what value should be passed as arg_size, does it matter? Should it be 0 or sizeof(void *) or sizeof(cl_mem)? They all seem like reasonable things to pass.
Thanks,
Brian