[Libreoffice-commits] core.git: Branch 'libreoffice-4-2' - sc/source

I-Jui Sung (Ray) ray at multicorewareinc.com
Thu Nov 28 22:31:37 PST 2013


 sc/source/core/opencl/formulagroupcl.cxx |   21 +++++++++++----------
 1 file changed, 11 insertions(+), 10 deletions(-)

New commits:
commit 6eda7db090d35f556e1e8e988f118efa4a8a53b9
Author: I-Jui (Ray) Sung <ray at multicorewareinc.com>
Date:   Fri Nov 29 00:29:50 2013 -0600

    GPU Calc: fix compilation failures
    
    Change-Id: Idafbd9fb3fb71a1da9ba6b7a39007eac3865c932

diff --git a/sc/source/core/opencl/formulagroupcl.cxx b/sc/source/core/opencl/formulagroupcl.cxx
index d11711e..cc4fc04 100644
--- a/sc/source/core/opencl/formulagroupcl.cxx
+++ b/sc/source/core/opencl/formulagroupcl.cxx
@@ -1421,7 +1421,14 @@ public:
     }
     virtual std::string BinFuncName(void) const { return "fsop"; }
 };
-
+namespace {
+struct SumIfsArgs {
+    SumIfsArgs(cl_mem x): mCLMem(x), mConst(0.0) {}
+    SumIfsArgs(double x): mCLMem(NULL), mConst(x) {}
+    cl_mem mCLMem;
+    double mConst;
+};
+}
 /// Helper functions that have multiple buffers
 class DynamicKernelSoPArguments: public DynamicKernelArgument
 {
@@ -1454,12 +1461,6 @@ public:
 
             if (OpSumCodeGen->NeedReductionKernel())
             {
-                struct SumIfsArgs {
-                    SumIfsArgs(cl_mem x): mCLMem(x), mConst(0.0) {}
-                    SumIfsArgs(double x): mCLMem(NULL), mConst(x) {}
-                    cl_mem mCLMem;
-                    double mConst;
-                };
                 assert(slidingArgPtr);
                 size_t nInput = slidingArgPtr -> GetArrayLength();
                 size_t nCurWindowSize = slidingArgPtr -> GetWindowSize();
@@ -1469,13 +1470,13 @@ public:
                         e= mvSubArguments.end(); it!=e; ++it)
                 {
                     if (VectorRef *VR = dynamic_cast<VectorRef *>(it->get()))
-                        vclmem.push_back(VR->GetCLBuffer());
+                        vclmem.push_back(SumIfsArgs(VR->GetCLBuffer()));
                     else if (DynamicKernelConstantArgument *CA =
                             dynamic_cast<
                             DynamicKernelConstantArgument *>(it->get()))
-                        vclmem.push_back(CA->GetDouble());
+                        vclmem.push_back(SumIfsArgs(CA->GetDouble()));
                     else
-                        vclmem.push_back((cl_mem)NULL);
+                        vclmem.push_back(SumIfsArgs((cl_mem)NULL));
                 }
                 mpClmem2 = clCreateBuffer(kEnv.mpkContext, CL_MEM_READ_WRITE,
                         sizeof(double)*nVectorWidth, NULL, &err);


More information about the Libreoffice-commits mailing list