Revision 7cf94c1...

Go back to digest for 9th December 2012

Features in Office

Dmitry Kazakov committed changes in [calligra/vector_compositioning_kazakov] /:

Added the first version of per-architecture binaries for composition

Pros:
+ we can have prebuild versions for all the architectures supported
by Vc (Amd XMA4 and XOP are not supported by Vc yet)
+ the implementation is chosen dynamically on Krita start
+ the semi-general code for multi-arch builds now in
KoVcMultiArchBuildSupport.h (might be ported upstream in the future)

Cons:
- it depends on Vc's 'staging' branch, so it can't be put in master
right now
- the code became much less readable due to all that template magic
- I had to copy-paste Vc's 'vc_compile_for_all_implementations' cmake
macro, because we do not need 'Scalar' implementation
- the size of the pigment library grew almost 1.5 times: 11->17 MiB
(probably, we still need plugin system for this)

File Changes

Added 3 files
  • /pigment/compositeops
  •   libs/KoOptimizedCompositeOpFactoryPerArch.cpp
  •   libs/KoOptimizedCompositeOpFactoryPerArch.h
  •   libs/KoVcMultiArchBuildSupport.h
Modified 7 files
  •   CMakeLists.txt
  •   krita/benchmarks/kis_composition_benchmark.cpp
  •   libs/pigment/CMakeLists.txt
  •   libs/pigment/compositeops/KoOptimizedCompositeOpAlphaDarken32.h
  •   libs/pigment/compositeops/KoOptimizedCompositeOpFactory.cpp
  •   libs/pigment/compositeops/KoOptimizedCompositeOpOver32.h
  •   libs/pigment/compositeops/KoStreamedMath.h
10 files changed in total