Browse Source

Go to kernel build should we fail to clCreateProgramWithBinary instead of failing on that device.
Should fix the windows problems with devices not initialising.

Con Kolivas 14 years ago
parent
commit
fb0c580b62
1 changed files with 4 additions and 4 deletions
  1. 4 4
      ocl.c

+ 4 - 4
ocl.c

@@ -437,14 +437,14 @@ _clState *initCl(unsigned int gpu, char *name, size_t nameSize)
 			fclose(binaryfile);
 			goto build;
 		}
-		fclose(binaryfile);
 
 		clState->program = clCreateProgramWithBinary(clState->context, 1, &devices[gpu], &binary_sizes[gpu], (const unsigned char **)&binaries[gpu], &status, NULL);
-		if (status != CL_SUCCESS)
-		{
+		if (status != CL_SUCCESS) {
 			applog(LOG_ERR, "Error: Loading Binary into cl_program (clCreateProgramWithBinary)");
-			return NULL;
+			fclose(binaryfile);
+			goto build;
 		}
+		fclose(binaryfile);
 		if (opt_debug)
 			applog(LOG_DEBUG, "Loaded binary image %s", binaryfilename);