mirror of
https://github.com/hashcat/hashcat
synced 2024-12-27 05:13:45 +01:00
OpenCL Runtime: Reinterpret return code CL_DEVICE_NOT_FOUND from clGetDeviceIDs() as non-fatal
This commit is contained in:
parent
53fb4050f6
commit
5628317de8
@ -1,3 +1,11 @@
|
||||
* changes v6.0.0 -> v6.0.x
|
||||
|
||||
##
|
||||
## Improvements
|
||||
##
|
||||
|
||||
- OpenCL Runtime: Reinterpret return code CL_DEVICE_NOT_FOUND from clGetDeviceIDs() as non-fatal
|
||||
|
||||
* changes v5.1.0 -> v6.0.0
|
||||
|
||||
##
|
||||
|
@ -5185,7 +5185,31 @@ int backend_ctx_init (hashcat_ctx_t *hashcat_ctx)
|
||||
{
|
||||
event_log_error (hashcat_ctx, "clGetDeviceIDs(): %s", val2cstr_cl (CL_rc));
|
||||
|
||||
return -1;
|
||||
// Special handling for CL_DEVICE_NOT_FOUND, see: https://github.com/hashcat/hashcat/issues/2455
|
||||
|
||||
#define IGNORE_DEVICE_NOT_FOUND 1
|
||||
|
||||
if (IGNORE_DEVICE_NOT_FOUND)
|
||||
{
|
||||
backend_ctx_t *backend_ctx = hashcat_ctx->backend_ctx;
|
||||
|
||||
OCL_PTR *ocl = (OCL_PTR *) backend_ctx->ocl;
|
||||
|
||||
const cl_int CL_err = ocl->clGetDeviceIDs (opencl_platform, CL_DEVICE_TYPE_ALL, DEVICES_MAX, opencl_platform_devices, &opencl_platform_devices_cnt);
|
||||
|
||||
if (CL_err == CL_DEVICE_NOT_FOUND)
|
||||
{
|
||||
// we ignore this error
|
||||
}
|
||||
else
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
opencl_platforms_devices[opencl_platforms_idx] = opencl_platform_devices;
|
||||
|
Loading…
Reference in New Issue
Block a user