Calligra can optionally be built with support for vc, which is a SIMD vectorization helper / abstraction library. With it, there is a significant speed boost in Krita. The current ebuild for calligra will build with vc support if the library is found during config. The vc library itself should be fairly easy to support. Very few dependencies, and a simple cmake build system. Manually built the library, and re-emerged calligra. No apparent problems. (And very responsive painting!) Project page: http://code.compeng.uni-frankfurt.de/projects/vc Blog - Krita using vc: http://krita.org/item/119-september-update Reproducible: Always
Thanks for reporting. Support on dev-libs/vc has been added to calligra 2.7 beta 3 (2.6.92) in kde overlay. This will hit the tree with calligra-2.7.0. http://git.overlays.gentoo.org/gitweb/?p=proj/kde.git;a=commit;h=79dd987a14b7871e347a0f8e071687155131fcf6
With vc support, calligra-2.6.92 fails to compile: In file included from /var/tmp/portage/app-office/calligra-2.6.92/work/calligra-2.6.92/libs/pigment/compositeops/KoOptimizedCompositeOpAlphaDarken32.h:26:0, from /var/tmp/portage/app-office/calligra-2.6.92/work/calligra-2.6.92/libs/pigment/compositeops/KoOptimizedCompositeOpFactoryPerArch.cpp:23: /var/tmp/portage/app-office/calligra-2.6.92/work/calligra-2.6.92/libs/pigment/compositeops/KoStreamedMath.h: In static member function 'static void KoStreamedMath<_impl>::write_channels_32(quint8*, AsArg, AsArg, AsArg, AsArg)': /var/tmp/portage/app-office/calligra-2.6.92/work/calligra-2.6.92/libs/pigment/compositeops/KoStreamedMath.h:172:48: error: invalid qualifiers on non-member function type Vc::uint_v v2 = (Vc::uint_v(Vc::int_v(c1)) & mask) << 16; ^ /var/tmp/portage/app-office/calligra-2.6.92/work/calligra-2.6.92/libs/pigment/compositeops/KoStreamedMath.h:172:48: error: invalid qualifiers on non-member function type /var/tmp/portage/app-office/calligra-2.6.92/work/calligra-2.6.92/libs/pigment/compositeops/KoStreamedMath.h:173:48: error: invalid qualifiers on non-member function type Vc::uint_v v3 = (Vc::uint_v(Vc::int_v(c2)) & mask) << 8; ^ /var/tmp/portage/app-office/calligra-2.6.92/work/calligra-2.6.92/libs/pigment/compositeops/KoStreamedMath.h:173:48: error: invalid qualifiers on non-member function type make[2]: *** [libs/pigment/CMakeFiles/pigmentcms.dir/compositeops/KoOptimizedCompositeOpFactoryPerArch.cpp.o] Error 1 make[1]: *** [libs/pigment/CMakeFiles/pigmentcms.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... [ 10%] Building CXX object filters/stage/powerpoint/CMakeFiles/ppttoodplib.dir/ParsedPresentation.cpp.o [ 10%] Building CXX object filters/stage/powerpoint/CMakeFiles/ppttoodplib.dir/DateTimeFormat.cpp.o [ 10%] Building CXX object filters/stage/powerpoint/CMakeFiles/ppttoodplib.dir/pptstyle.cpp.o Linking CXX static library ../../../lib/libppttoodplib.a [ 10%] Built target ppttoodplib make: *** [all] Error 2 * ERROR: app-office/calligra-2.6.92 failed (compile phase): * emake failed * * If you need support, post the output of `emerge --info '=app-office/calligra-2.6.92'`, * the complete build log and the output of `emerge -pqv '=app-office/calligra-2.6.92'`. * This ebuild is from an overlay named 'kde': '/usr/local/portage/layman/kde/' * The complete build log is located at '/var/tmp/portage/app-office/calligra-2.6.92/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/app-office/calligra-2.6.92/temp/environment'. * Working directory: '/var/tmp/portage/app-office/calligra-2.6.92/work/calligra-2.6.92_build' * S: '/var/tmp/portage/app-office/calligra-2.6.92/work/calligra-2.6.92'
Created attachment 353638 [details] build.log for build with dev-libs/vc
With GCC-4.8.1 and the following patch I have built calligra-2.7.1 (krita) with vc enabled. There were no errors with this build.
Created attachment 355340 [details, diff] this is that patch to get calligra 2.7.1 to build against gcc 4.8.1
...with dev-libs/vc
(In reply to salamanderrake from comment #5) > Created attachment 355340 [details, diff] [details, diff] > this is that patch to get calligra 2.7.1 to build against gcc 4.8.1 Please report this patch to gcc upstream and gentoo maintainer.
Thanks all. Bumped in tree, sync in some hours to get the changes. Please open a new bug about the build failure against gcc 4.8. +*calligra-2.7.2 (14 Sep 2013) + + 14 Sep 2013; Johannes Huber <johu@gentoo.org> +calligra-2.7.2.ebuild, + metadata.xml: + Version bump wrt bug #479530. New build option for dev-libs/vc SIMD + vectorization helper / abstraction library, bug #475280.