Make use of cl_context_properties[] to clCreateContext(), even if OpenCL specificatio...
authorJens Steube <jens.steube@gmail.com>
Fri, 8 Jul 2016 12:38:57 +0000 (14:38 +0200)
committerJens Steube <jens.steube@gmail.com>
Fri, 8 Jul 2016 12:38:57 +0000 (14:38 +0200)
docs/changes.txt
include/types.h
src/hashcat.c

index 2a33d9b..78669c4 100644 (file)
@@ -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
 ##
index 02df8ea..d91878f 100644 (file)
@@ -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;
 
index 1a70430..67714d1 100644 (file)
@@ -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