[Libreoffice-commits] core.git: 7 commits - sc/source

Tor Lillqvist tml at iki.fi
Thu Jul 4 05:49:14 PDT 2013


 sc/source/core/opencl/openclwrapper.cxx |   30 ++++++++++++++----------------
 sc/source/core/opencl/openclwrapper.hxx |    5 -----
 2 files changed, 14 insertions(+), 21 deletions(-)

New commits:
commit 743b111cf62ef42ead3d8dd6a4aefbb884ce8ee4
Author: Tor Lillqvist <tml at iki.fi>
Date:   Thu Jul 4 15:30:16 2013 +0300

    Opaque binary data is opaque binary data
    
    No need to append a newline surely. At least in Apple's OpenCL doing
    that seems to invalidate a binary OpenCL blob.
    
    Change-Id: I68bb12d5071f6452afe5a47ddf510f7e8e60cf3e

diff --git a/sc/source/core/opencl/openclwrapper.cxx b/sc/source/core/opencl/openclwrapper.cxx
index 9b9feaa..aa3ce69 100644
--- a/sc/source/core/opencl/openclwrapper.cxx
+++ b/sc/source/core/opencl/openclwrapper.cxx
@@ -441,16 +441,13 @@ int OpenclDevice::CompileKernelFile(GPUEnv *gpuInfo, const char *buildOption) {
             return 0;
         }
 
-        binary = (char*) malloc(length + 2);
+        binary = (char*) malloc(length);
         if (!binary) {
             return 0;
         }
 
-        memset(binary, 0, length + 2);
+        memset(binary, 0, length);
         b_error |= fread(binary, 1, length, fd) != length;
-        if (binary[length - 1] != '\n') {
-            binary[length++] = '\n';
-        }
 
         fclose(fd);
         fd = NULL;
commit 7e00a3690edbf71d6c3e6c0670875485f65c567d
Author: Tor Lillqvist <tml at iki.fi>
Date:   Thu Jul 4 15:13:03 2013 +0300

    Use correct type for number of devices
    
    The number returned by clGetProgramInfo(..., CL_PROGRAM_NUM_DEVICES,
    ...) and clGetContextInfo(..., CL_CONTEXT_NUM_DEVICES, ...) is of type
    cl_uint, not size_t. That makes a difference for 64-bit code.
    
    Change-Id: I1b494bf604dd87930484faed64042ed211b3d705

diff --git a/sc/source/core/opencl/openclwrapper.cxx b/sc/source/core/opencl/openclwrapper.cxx
index f85f172..9b9feaa 100644
--- a/sc/source/core/opencl/openclwrapper.cxx
+++ b/sc/source/core/opencl/openclwrapper.cxx
@@ -220,7 +220,8 @@ int OpenclDevice::GeneratBinFromKernelSource(cl_program program,
         const char * clFileName) {
      unsigned int i = 0;
     cl_int status;
-    size_t *binarySizes, numDevices;
+    size_t *binarySizes;
+    cl_uint numDevices;
     cl_device_id *devices;
     char **binaries, *str = NULL;
 
@@ -403,7 +404,7 @@ int OpenclDevice::CompileKernelFile(GPUEnv *gpuInfo, const char *buildOption) {
     const char *source;
     size_t source_size[1];
     int b_error, binary_status, binaryExisted, idx;
-    size_t numDevices;
+    cl_uint numDevices;
     cl_device_id *devices;
     FILE *fd, *fd1;
     const char* filename = "kernel.cl";
commit 5dff961ba5fab6d451d9d993e076d190a93be495
Author: Tor Lillqvist <tml at iki.fi>
Date:   Thu Jul 4 14:59:35 2013 +0300

    Don't look for just GPUs
    
    Change-Id: Ie7dbeac17b6dc56616ae5fa16f71d568a7771d5b

diff --git a/sc/source/core/opencl/openclwrapper.cxx b/sc/source/core/opencl/openclwrapper.cxx
index fcb6c02..f85f172 100644
--- a/sc/source/core/opencl/openclwrapper.cxx
+++ b/sc/source/core/opencl/openclwrapper.cxx
@@ -175,7 +175,7 @@ int OpenclDevice::BinaryGenerated(const char * clFileName, FILE ** fhandle) {
 	FILE *fd = NULL;
 	cl_uint numDevices=0;
 	status = clGetDeviceIDs(gpuEnv.platform, // platform
-							CL_DEVICE_TYPE_GPU, // device_type
+                            CL_DEVICE_TYPE_ALL, // device_type
 							0, // num_entries
 							NULL, // devices
 							&numDevices);
@@ -651,7 +651,7 @@ int OpenclDevice::InitOpenclRunEnv(GPUEnv *gpuInfo)
                     gpuInfo->platform = platforms[i];
 
                     status = clGetDeviceIDs(gpuInfo->platform, // platform
-												CL_DEVICE_TYPE_GPU, // device_type
+                                                CL_DEVICE_TYPE_ALL, // device_type
 												0, // num_entries
 												NULL, // devices
 												&numDevices);
@@ -681,12 +681,15 @@ int OpenclDevice::InitOpenclRunEnv(GPUEnv *gpuInfo)
         gpuInfo->context = clCreateContextFromType(cps, gpuInfo->dType, NULL,
                 NULL, &status);
 
+        // If no GPU, check for CPU.
         if ((gpuInfo->context == (cl_context) NULL)
                 || (status != CL_SUCCESS)) {
             gpuInfo->dType = CL_DEVICE_TYPE_CPU;
             gpuInfo->context = clCreateContextFromType(cps, gpuInfo->dType,
                     NULL, NULL, &status);
         }
+
+        // If no GPU or CPU, check for a "default" type.
         if ((gpuInfo->context == (cl_context) NULL)
                 || (status != CL_SUCCESS)) {
             gpuInfo->dType = CL_DEVICE_TYPE_DEFAULT;
commit c5922978c87e246c1bc2ae6111415ec0764d6865
Author: Tor Lillqvist <tml at iki.fi>
Date:   Thu Jul 4 13:37:35 2013 +0300

    sizeof(char) is 1 by definition
    
    Change-Id: Ibd6f74a84b49e609c8771080984832eb61949a68

diff --git a/sc/source/core/opencl/openclwrapper.cxx b/sc/source/core/opencl/openclwrapper.cxx
index 7a1103d..fcb6c02 100644
--- a/sc/source/core/opencl/openclwrapper.cxx
+++ b/sc/source/core/opencl/openclwrapper.cxx
@@ -150,7 +150,7 @@ int OpenclDevice::ConvertToString(const char *filename, char **source) {
 
         file_size = ftell(file);
         rewind(file);
-        *source = (char*) malloc(sizeof(char) * file_size + 1);
+        *source = (char*) malloc(file_size + 1);
         if (*source == (char*) NULL) {
             return 0;
         }
@@ -209,7 +209,7 @@ int OpenclDevice::WriteBinaryToFile(const char* fileName, const char* birary,
         return 0;
     }
 
-    fwrite(birary, sizeof(char), numBytes, output);
+    fwrite(birary, 1, numBytes, output);
     fclose(output);
 
     return 1;
@@ -252,7 +252,7 @@ int OpenclDevice::GeneratBinFromKernelSource(cl_program program,
 
     for (i = 0; i < numDevices; i++) {
         if (binarySizes[i] != 0) {
-            binaries[i] = (char*) malloc(sizeof(char) * binarySizes[i]);
+            binaries[i] = (char*) malloc(binarySizes[i]);
             if (binaries[i] == NULL) {
                 return 0;
             }
@@ -519,7 +519,7 @@ int OpenclDevice::CompileKernelFile(GPUEnv *gpuInfo, const char *buildOption) {
 
         fd1 = fopen("kernel-build.log", "w+");
         if (fd1 != NULL) {
-            fwrite(buildLog, sizeof(char), length, fd1);
+            fwrite(buildLog, 1, length, fd1);
             fclose(fd1);
         }
 
commit e79ccf01ec79849aeebeed9a024a1d1cd5d7a6e9
Author: Tor Lillqvist <tml at iki.fi>
Date:   Thu Jul 4 13:36:15 2013 +0300

    MaxTextExtent is not used
    
    Change-Id: I03ee9f65da11b4dc8a7a81d5f23f8103bd5a0534

diff --git a/sc/source/core/opencl/openclwrapper.hxx b/sc/source/core/opencl/openclwrapper.hxx
index 4494b50..349809b 100644
--- a/sc/source/core/opencl/openclwrapper.hxx
+++ b/sc/source/core/opencl/openclwrapper.hxx
@@ -18,8 +18,6 @@
 #include <CL/cl.h>
 #endif
 
-#define MaxTextExtent  4096
-
 #if defined(_MSC_VER)
 #ifndef strcasecmp
 #define strcasecmp strcmp
commit 3535c21bc6d90bce3b86cb60ea02e549c1cf8cc1
Author: Tor Lillqvist <tml at iki.fi>
Date:   Thu Jul 4 13:33:22 2013 +0300

    CL_MAP_WRITE_INVALIDATE_REGION is not used
    
    Change-Id: Ib7bb60c26dee4a78e19dbc84cd1f8fb61d656a72

diff --git a/sc/source/core/opencl/openclwrapper.hxx b/sc/source/core/opencl/openclwrapper.hxx
index a459545..4494b50 100644
--- a/sc/source/core/opencl/openclwrapper.hxx
+++ b/sc/source/core/opencl/openclwrapper.hxx
@@ -19,8 +19,6 @@
 #endif
 
 #define MaxTextExtent  4096
-//support AMD opencl
-#define CL_MAP_WRITE_INVALIDATE_REGION (1 << 2)
 
 #if defined(_MSC_VER)
 #ifndef strcasecmp
commit ba9f29d566598b5cee35984c80a06359212dff94
Author: Tor Lillqvist <tml at iki.fi>
Date:   Thu Jul 4 13:27:10 2013 +0300

    Bin leftover (?) no-op clGetCommandQueueInfo() call
    
    Change-Id: I6d22847eac3e0677c5ee67378b6772980fa17272

diff --git a/sc/source/core/opencl/openclwrapper.cxx b/sc/source/core/opencl/openclwrapper.cxx
index 09a9f0a..7a1103d 100644
--- a/sc/source/core/opencl/openclwrapper.cxx
+++ b/sc/source/core/opencl/openclwrapper.cxx
@@ -725,9 +725,6 @@ int OpenclDevice::InitOpenclRunEnv(GPUEnv *gpuInfo)
         }
     }
 
-    status = clGetCommandQueueInfo(gpuInfo->commandQueue,
-            CL_QUEUE_THREAD_HANDLE_AMD, 0, NULL, NULL);
-
     return 0;
 
 }
diff --git a/sc/source/core/opencl/openclwrapper.hxx b/sc/source/core/opencl/openclwrapper.hxx
index b9d2255..a459545 100644
--- a/sc/source/core/opencl/openclwrapper.hxx
+++ b/sc/source/core/opencl/openclwrapper.hxx
@@ -20,7 +20,6 @@
 
 #define MaxTextExtent  4096
 //support AMD opencl
-#define CL_QUEUE_THREAD_HANDLE_AMD 0x403E
 #define CL_MAP_WRITE_INVALIDATE_REGION (1 << 2)
 
 #if defined(_MSC_VER)


More information about the Libreoffice-commits mailing list