Browse Source

Bugfix: opencl: Can only BFI_INT patch if using OpenCL binaries

Luke Dashjr 12 years ago
parent
commit
981af2bbd7
1 changed files with 10 additions and 2 deletions
  1. 10 2
      ocl.c

+ 10 - 2
ocl.c

@@ -841,8 +841,16 @@ build:
 		applog(LOG_DEBUG, "cl_amd_media_ops not found, will not set BITALIGN");
 		applog(LOG_DEBUG, "cl_amd_media_ops not found, will not set BITALIGN");
 
 
 	if (patchbfi) {
 	if (patchbfi) {
-		strcat(CompilerOptions, " -D BFI_INT");
-		applog(LOG_DEBUG, "BFI_INT patch requiring device found, patched source with BFI_INT");
+		if (usebinary)
+		{
+			strcat(CompilerOptions, " -D BFI_INT");
+			applog(LOG_DEBUG, "BFI_INT patch requiring device found, patched source with BFI_INT");
+		}
+		else
+		{
+			patchbfi = false;
+			applog(LOG_WARNING, "BFI_INT patch requiring device found, but OpenCL binary usage disabled; cannot BFI_INT patch");
+		}
 	} else
 	} else
 		applog(LOG_DEBUG, "BFI_INT patch requiring device not found, will not BFI_INT patch");
 		applog(LOG_DEBUG, "BFI_INT patch requiring device not found, will not BFI_INT patch");