File indexing completed on 2024-05-19 04:27:19
0001 /* 0002 * SPDX-FileCopyrightText: 2020 Dmitry Kazakov <dimula73@gmail.com> 0003 * SPDX-FileCopyrightText: 2022 L. E. Segovia <amy@amyspark.me> 0004 * 0005 * SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #include "KoAlphaMaskApplicatorFactoryImpl.h" 0009 0010 #if XSIMD_UNIVERSAL_BUILD_PASS 0011 #include "KoAlphaMaskApplicator.h" 0012 0013 #include <KoConfig.h> 0014 #ifdef HAVE_OPENEXR 0015 #include <half.h> 0016 #endif 0017 0018 template<typename _channels_type_, int _channels_nb_, int _alpha_pos_> 0019 template<typename _impl> 0020 KoAlphaMaskApplicatorBase * 0021 KoAlphaMaskApplicatorFactoryImpl<_channels_type_, _channels_nb_, _alpha_pos_>:: 0022 create() 0023 { 0024 return new KoAlphaMaskApplicator<_channels_type_, 0025 _channels_nb_, 0026 _alpha_pos_, 0027 _impl>(); 0028 } 0029 0030 template KoAlphaMaskApplicatorBase * 0031 KoAlphaMaskApplicatorFactoryImpl<quint8, 4, 3>::create<xsimd::current_arch>(); 0032 template KoAlphaMaskApplicatorBase * 0033 KoAlphaMaskApplicatorFactoryImpl<quint16, 4, 3>::create<xsimd::current_arch>(); 0034 #ifdef HAVE_OPENEXR 0035 template KoAlphaMaskApplicatorBase* KoAlphaMaskApplicatorFactoryImpl<half, 4, 3>::create<xsimd::current_arch>(); 0036 #endif 0037 template KoAlphaMaskApplicatorBase* KoAlphaMaskApplicatorFactoryImpl<float, 4, 3>::create<xsimd::current_arch>(); 0038 0039 template KoAlphaMaskApplicatorBase* KoAlphaMaskApplicatorFactoryImpl<quint8, 5, 4>::create<xsimd::current_arch>(); 0040 template KoAlphaMaskApplicatorBase* KoAlphaMaskApplicatorFactoryImpl<quint16, 5, 4>::create<xsimd::current_arch>(); 0041 #ifdef HAVE_OPENEXR 0042 template KoAlphaMaskApplicatorBase* KoAlphaMaskApplicatorFactoryImpl<half, 5, 4>::create<xsimd::current_arch>(); 0043 #endif 0044 template KoAlphaMaskApplicatorBase* KoAlphaMaskApplicatorFactoryImpl<float, 5, 4>::create<xsimd::current_arch>(); 0045 0046 template KoAlphaMaskApplicatorBase* KoAlphaMaskApplicatorFactoryImpl<quint8, 2, 1>::create<xsimd::current_arch>(); 0047 template KoAlphaMaskApplicatorBase* KoAlphaMaskApplicatorFactoryImpl<quint16, 2, 1>::create<xsimd::current_arch>(); 0048 #ifdef HAVE_OPENEXR 0049 template KoAlphaMaskApplicatorBase* KoAlphaMaskApplicatorFactoryImpl<half, 2, 1>::create<xsimd::current_arch>(); 0050 #endif 0051 template KoAlphaMaskApplicatorBase* KoAlphaMaskApplicatorFactoryImpl<float, 2, 1>::create<xsimd::current_arch>(); 0052 0053 template KoAlphaMaskApplicatorBase* KoAlphaMaskApplicatorFactoryImpl<quint8, 1, 0>::create<xsimd::current_arch>(); 0054 template KoAlphaMaskApplicatorBase* KoAlphaMaskApplicatorFactoryImpl<quint16, 1, 0>::create<xsimd::current_arch>(); 0055 #ifdef HAVE_OPENEXR 0056 template KoAlphaMaskApplicatorBase* KoAlphaMaskApplicatorFactoryImpl<half, 1, 0>::create<xsimd::current_arch>(); 0057 #endif 0058 template KoAlphaMaskApplicatorBase* KoAlphaMaskApplicatorFactoryImpl<float, 1, 0>::create<xsimd::current_arch>(); 0059 0060 #endif // XSIMD_UNIVERSAL_BUILD_PASS