GBE: don't enable double by default.
authorZhigang Gong <zhigang.gong@intel.com>
Thu, 11 Sep 2014 07:04:44 +0000 (15:04 +0800)
committerZhigang Gong <zhigang.gong@intel.com>
Thu, 11 Sep 2014 07:48:31 +0000 (15:48 +0800)
Actually, we don't support double completely currently.
Let's disable it now. This bring a little incompatible point with the 1.2 spec
which doesn't require the kernel to use the following pragma to enable fp64.
 #pragma OPENCL EXTENSION cl_khr_fp64 : enable

If the application wants to try the partially supported double with beignet
under opencl 1.2, the application will still need to add the above pragma.

Signed-off-by: Zhigang Gong <zhigang.gong@intel.com>
Reviewed-by: "Yang, Rong R" <rong.r.yang@intel.com>
backend/src/backend/program.cpp

index 06c22ac..be83108 100644 (file)
@@ -723,10 +723,14 @@ namespace gbe {
 
     FILE *clFile = fdopen(clFd, "w");
     FATAL_IF(clFile == NULL, "Failed to open temporary file");
-
+    // XXX enable cl_khr_fp64 may cause some potential bugs.
+    // we may need to revisit here latter when we want to support fp64 completely.
+    // For now, as we don't support fp64 actually, just disable it by default.
+#if 0
     #define ENABLE_CL_KHR_FP64_STR "#pragma OPENCL EXTENSION cl_khr_fp64 : enable\n"
     if (options && !strstr(const_cast<char *>(options), "-cl-std=CL1.1"))
       fwrite(ENABLE_CL_KHR_FP64_STR, strlen(ENABLE_CL_KHR_FP64_STR), 1, clFile);
+#endif
 
     if (!findPCH || invalidPCH) {
       clOpt.push_back("-include");