diff --git a/docs/changes.txt b/docs/changes.txt index 2a33d9b2c..78669c4bd 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -4,9 +4,12 @@ ## Improvements ## -- Make linux-build POSIX compatible; Also allow it to actually compile on musl-libc systems +- Make Linux build POSIX compatible; Also allow it to actually compile on musl-libc systems +- Add support to compile on FreeBSD +- Make use of cl_context_properties[] to clCreateContext(), even if OpenCL specification allow the use of NULL, some runtimes fail without - The Time.Estimated attribute in status display should also show --runtime limit if user set it + ## ## Bugs ## diff --git a/include/types.h b/include/types.h index 02df8ea76..d91878f35 100644 --- a/include/types.h +++ b/include/types.h @@ -1012,6 +1012,8 @@ struct __hc_device_param double nvidia_spin_damp; + cl_platform_id platform; + cl_uint device_vendor_id; cl_uint platform_vendor_id; diff --git a/src/hashcat.c b/src/hashcat.c index 1a704304d..67714d15d 100644 --- a/src/hashcat.c +++ b/src/hashcat.c @@ -15034,7 +15034,13 @@ int main (int argc, char **argv) * create context for each device */ - device_param->context = hc_clCreateContext (data.ocl, NULL, 1, &device_param->device, NULL, NULL); + cl_context_properties properties[3]; + + properties[0] = CL_CONTEXT_PLATFORM; + properties[1] = (cl_context_properties) device_param->platform; + properties[2] = 0; + + device_param->context = hc_clCreateContext (data.ocl, properties, 1, &device_param->device, NULL, NULL); /** * create command-queue