sc/source/core/opencl/formulagroupcl.cxx |    6 ++++++
 1 file changed, 6 insertions(+)

New commits:
commit a0b059a37e775a466c6fb0043335aae4d3e93fbf
Author:     Luboš Luňák <l.lu...@collabora.com>
AuthorDate: Wed Nov 28 16:33:02 2018 +0100
Commit:     Luboš Luňák <l.lu...@collabora.com>
CommitDate: Mon Dec 3 15:33:18 2018 +0100

    make OpenCL SUM() treat empty cells properly
    
    The data vector may not have all values (if last cells are empty).
    In that case GetRefRowSize() is larger than GetArrayLength().
    Other cases in this function had a similar check, this one was
    missing it for some reason (with the 'gid0' removed, since it's
    a fixed position).
    
    Change-Id: I01692b51d6ed22ee6db419508cacf556fb9e644d
    Reviewed-on: https://gerrit.libreoffice.org/64237
    Tested-by: Jenkins
    Reviewed-by: Luboš Luňák <l.lu...@collabora.com>

diff --git a/sc/source/core/opencl/formulagroupcl.cxx 
b/sc/source/core/opencl/formulagroupcl.cxx
index 4db3fb4ebe11..2501dd8d3916 100644
--- a/sc/source/core/opencl/formulagroupcl.cxx
+++ b/sc/source/core/opencl/formulagroupcl.cxx
@@ -1073,9 +1073,12 @@ public:
                         ss << "i = outLoop*" << outLoopSize << "+" << count << 
";\n\t";
                         if (count == 0)
                         {
+                            temp1 << "if(i < " << mpDVR->GetArrayLength();
+                            temp1 << "){\n\t\t";
                             temp1 << "tmp = legalize(";
                             temp1 << 
mpCodeGen->Gen2(GenSlidingWindowDeclRef(), "tmp");
                             temp1 << ", tmp);\n\t\t\t";
+                            temp1 << "}\n\t";
                         }
                         ss << temp1.str();
                     }
@@ -1087,9 +1090,12 @@ public:
                     ss << "i = " << count << ";\n\t";
                     if (count == nCurWindowSize / outLoopSize * outLoopSize)
                     {
+                        temp2 << "if(i < " << mpDVR->GetArrayLength();
+                        temp2 << "){\n\t\t";
                         temp2 << "tmp = legalize(";
                         temp2 << mpCodeGen->Gen2(GenSlidingWindowDeclRef(), 
"tmp");
                         temp2 << ", tmp);\n\t\t\t";
+                        temp2 << "}\n\t";
                     }
                     ss << temp2.str();
                 }
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to