Starting from Android 8, the GPU detection is broken due to the fact that dlopen() now return NULL.
This was done to fix issues with library names resolution.
New API was introduced, but it's not available from the NDK.
Instead, we have to load the library manually and call the function directly.
Unfortunately, on Android this behavior was changed even more, and now we need to look for other functions.
By fixing this behavior, we have now successful Mali GPU detection.
But unfortunately, this doesn't work for Qualcomm Adreno GPUs.
Looks like implementation of Qualcomm has some problems with clGetDeviceIDs.
It returns CL_DEVICE_NOT_FOUND for CL_DEVICE_TYPE_GPU and CL_DEVICE_TYPE_ACCELERATOR combined.
But it returns CL_SUCCESS when asking separately for CL_DEVICE_TYPE_GPU or CL_DEVICE_TYPE_ACCELERATOR.
So we will ask for CL_DEVICE_TYPE_GPU and CL_DEVICE_TYPE_ACCELERATOR separately.
This fixes#3613 and #4204.
Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
- add --is_gzip option to sample_bitwise_validator.
If set, all files are treated as gzip archives.
Check their 10-byte header to verify that it's a gzip file,
but ignore it when comparing files.
- validator.cpp: don't error out on unparsed cmdline args,
since we're now using them in sample_bitwise_validator
and sample_substr_validator.
- fix build error on Debian
for the things that BOINC actually needs
(fixes server compile problems)
- client: fix various compile errors in coproc_detect.cpp
svn path=/trunk/boinc/; revision=23310