From 5909bbb7b7547873ef7b874530bbe8a5688a3ce3 Mon Sep 17 00:00:00 2001 From: Jens Steube Date: Fri, 8 Jul 2016 14:38:57 +0200 Subject: [PATCH] Make use of cl_context_properties[] to clCreateContext(), even if OpenCL specification allow the use of NULL, some runtimes fail without --- docs/changes.txt | 5 ++++- include/types.h | 2 ++ src/hashcat.c | 8 +++++++- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/docs/changes.txt b/docs/changes.txt index 2a33d9b..78669c4 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 02df8ea..d91878f 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 1a70430..67714d1 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 -- 2.25.1