Browse Source

Revert "Don't explicitly retain the cl program as it is of no benefit to do so and may lead to problems when trying to release the program."

This reverts commit 32910463a3124265b56aca48a6c0fbb107ccfb70.

Turns out this does help.
Con Kolivas 14 years ago
parent
commit
25caca9086
1 changed files with 12 additions and 0 deletions
  1. 12 0
      ocl.c

+ 12 - 0
ocl.c

@@ -465,6 +465,12 @@ build:
 		return NULL;
 	}
 
+	clRetainProgram(clState->program);
+	if (status != CL_SUCCESS) {
+		applog(LOG_ERR, "Error: Retaining Program (clRetainProgram)");
+		return NULL;
+	}
+
 	/* create a cl program executable for all the devices specified */
 	char *CompilerOptions = calloc(1, 256);
 
@@ -588,6 +594,12 @@ build:
 			applog(LOG_ERR, "Error: Loading Binary into cl_program (clCreateProgramWithBinary)");
 			return NULL;
 		}
+
+		clRetainProgram(clState->program);
+		if (status != CL_SUCCESS) {
+			applog(LOG_ERR, "Error: Retaining Program (clRetainProgram)");
+			return NULL;
+		}
 	}
 
 	free(source);