Revision 7cf94c1...
Go back to digest for 9th December 2012Features in Office
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
- /pigment/compositeops
- libs/KoOptimizedCompositeOpFactoryPerArch.cpp
- libs/KoOptimizedCompositeOpFactoryPerArch.h
- libs/KoVcMultiArchBuildSupport.h
- 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