sc/source/core/opencl/cl-test.ods |binary sc/source/core/opencl/formulagroupcl.cxx | 7 +++++++ 2 files changed, 7 insertions(+)
New commits: commit b15ded2ee474d6531e2a9b358d57bff9a6902a92 Author: Luboš Luňák <l.lu...@collabora.com> AuthorDate: Tue Oct 16 13:53:54 2018 +0200 Commit: Luboš Luňák <l.lu...@collabora.com> CommitDate: Tue Nov 13 13:14:59 2018 +0100 work around nan() not propagating its argument with nVidia OpenCL And added a check for this to cl-test.ods . Change-Id: I9b62f2cbef46d5b3dc0adda2b97dda9b8465fe88 Reviewed-on: https://gerrit.libreoffice.org/63174 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lu...@collabora.com> diff --git a/sc/source/core/opencl/cl-test.ods b/sc/source/core/opencl/cl-test.ods index fa8166bac128..7e2bae4cb3c8 100644 Binary files a/sc/source/core/opencl/cl-test.ods and b/sc/source/core/opencl/cl-test.ods differ diff --git a/sc/source/core/opencl/formulagroupcl.cxx b/sc/source/core/opencl/formulagroupcl.cxx index 85c8940c18b1..9cc9df1724e0 100644 --- a/sc/source/core/opencl/formulagroupcl.cxx +++ b/sc/source/core/opencl/formulagroupcl.cxx @@ -47,6 +47,13 @@ static const char* const publicFunc = "\n" "double CreateDoubleError(ulong nErr)\n" "{\n" + // nVidia OpenCL, at least on Linux, seems to ignore the argument to nan(), + // so using that would not propagate the type of error, work that around + // by directly constructing the proper IEEE double NaN value + // TODO: maybe use a better way to detect such systems? + "#ifdef cl_nv_pragma_unroll\n" + " return as_double(0x7FF8000000000000+nErr);\n" + "#endif\n" " return nan(nErr);\n" "}\n" "\n" _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits