Krita Source Code Documentation
Loading...
Searching...
No Matches
KoOptimizedCompositeOpFactoryPerArch_Scalar.cpp
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: 2012 Dmitry Kazakov <dimula73@gmail.com>
3
* SPDX-FileCopyrightText: 2022 L. E. Segovia <amy@amyspark.me>
4
*
5
* SPDX-License-Identifier: LGPL-2.1-or-later
6
*/
7
8
#include "
KoOptimizedCompositeOpFactoryPerArch.h
"
9
10
#include "
KoColorSpaceTraits.h
"
11
#include "
KoCompositeOpAlphaDarken.h
"
12
#include "
KoAlphaDarkenParamsWrapper.h
"
13
#include "
KoCompositeOpOver.h
"
14
#include "
KoCompositeOpCopy2.h
"
15
16
template
<>
17
template
<>
18
KoCompositeOp
*
19
KoOptimizedCompositeOpFactoryPerArch<KoOptimizedCompositeOpAlphaDarkenHard32>::
20
create<xsimd::generic>
(
const
KoColorSpace
*param)
21
{
22
return
new
KoCompositeOpAlphaDarken<KoBgrU8Traits, KoAlphaDarkenParamsWrapperHard>
(param);
23
}
24
25
template
<>
26
template
<>
27
KoCompositeOp
*
KoOptimizedCompositeOpFactoryPerArch
<
28
KoOptimizedCompositeOpAlphaDarkenCreamy32
>::
29
create<xsimd::generic>(
const
KoColorSpace
*param)
30
{
31
return
new
KoCompositeOpAlphaDarken<KoBgrU8Traits, KoAlphaDarkenParamsWrapperCreamy>
(param);
32
}
33
34
template
<>
35
template
<>
36
KoCompositeOp
*
37
KoOptimizedCompositeOpFactoryPerArch<KoOptimizedCompositeOpOver32>::create
<
38
xsimd::generic>(
const
KoColorSpace
*param)
39
{
40
return
new
KoCompositeOpOver<KoBgrU8Traits>
(param);
41
}
42
43
template
<>
44
template
<>
45
KoCompositeOp
*
46
KoOptimizedCompositeOpFactoryPerArch<KoOptimizedCompositeOpAlphaDarkenHard128>::
47
create<xsimd::generic>
(
const
KoColorSpace
*param)
48
{
49
return
new
KoCompositeOpAlphaDarken<KoRgbF32Traits, KoAlphaDarkenParamsWrapperHard>
(param);
50
}
51
52
template
<>
53
template
<>
54
KoCompositeOp
*
KoOptimizedCompositeOpFactoryPerArch
<
55
KoOptimizedCompositeOpAlphaDarkenCreamy128
>::
56
create<xsimd::generic>(
const
KoColorSpace
*param)
57
{
58
return
new
KoCompositeOpAlphaDarken<KoRgbF32Traits, KoAlphaDarkenParamsWrapperCreamy>
(param);
59
}
60
61
template
<>
62
template
<>
63
KoCompositeOp
*
64
KoOptimizedCompositeOpFactoryPerArch<KoOptimizedCompositeOpOver128>::create
<
65
xsimd::generic>(
const
KoColorSpace
*param)
66
{
67
return
new
KoCompositeOpOver<KoRgbF32Traits>
(param);
68
}
69
70
template
<>
71
template
<>
72
KoCompositeOp
*
73
KoOptimizedCompositeOpFactoryPerArch<KoOptimizedCompositeOpOverU64>::create
<
74
xsimd::generic>(
const
KoColorSpace
*param)
75
{
76
return
new
KoCompositeOpOver<KoBgrU16Traits>
(param);
77
}
78
79
template
<>
80
template
<>
81
KoCompositeOp
*
82
KoOptimizedCompositeOpFactoryPerArch<KoOptimizedCompositeOpCopy128>::create
<
83
xsimd::generic>(
const
KoColorSpace
*param)
84
{
85
return
new
KoCompositeOpCopy2<KoRgbF32Traits>
(param);
86
}
87
88
template
<>
89
template
<>
90
KoCompositeOp
*
91
KoOptimizedCompositeOpFactoryPerArch<KoOptimizedCompositeOpCopyU64>::create
<
92
xsimd::generic>(
const
KoColorSpace
*param)
93
{
94
return
new
KoCompositeOpCopy2<KoBgrU16Traits>
(param);
95
}
96
97
template
<>
98
template
<>
99
KoCompositeOp
*
100
KoOptimizedCompositeOpFactoryPerArch<KoOptimizedCompositeOpCopy32>::create
<
101
xsimd::generic>(
const
KoColorSpace
*param)
102
{
103
return
new
KoCompositeOpCopy2<KoBgrU8Traits>
(param);
104
}
105
106
template
<>
107
template
<>
108
KoCompositeOp
*
109
KoOptimizedCompositeOpFactoryPerArch<KoOptimizedCompositeOpAlphaDarkenHardU64>::
110
create<xsimd::generic>
(
const
KoColorSpace
*param)
111
{
112
return
new
KoCompositeOpAlphaDarken<KoBgrU16Traits, KoAlphaDarkenParamsWrapperHard>
(param);
113
}
114
115
template
<>
116
template
<>
117
KoCompositeOp
*
KoOptimizedCompositeOpFactoryPerArch
<
118
KoOptimizedCompositeOpAlphaDarkenCreamyU64
>::
119
create<xsimd::generic>(
const
KoColorSpace
*param)
120
{
121
return
new
KoCompositeOpAlphaDarken<KoBgrU16Traits, KoAlphaDarkenParamsWrapperCreamy>
(param);
122
}
123
KoAlphaDarkenParamsWrapper.h
KoColorSpaceTraits.h
KoCompositeOpAlphaDarken.h
KoCompositeOpCopy2.h
KoCompositeOpOver.h
KoOptimizedCompositeOpFactoryPerArch.h
KoColorSpace
Definition
KoColorSpace.h:78
KoCompositeOpAlphaDarken
Definition
KoCompositeOpAlphaDarken.h:20
KoCompositeOpCopy2
Definition
KoCompositeOpCopy2.h:23
KoCompositeOpOver
Definition
KoCompositeOpOver.h:44
KoOptimizedCompositeOpAlphaDarkenCreamy128
Definition
KoOptimizedCompositeOpAlphaDarken128.h:229
KoOptimizedCompositeOpAlphaDarkenCreamy32
Definition
KoOptimizedCompositeOpAlphaDarken32.h:252
KoOptimizedCompositeOpAlphaDarkenCreamyU64
Definition
KoOptimizedCompositeOpAlphaDarken128.h:266
KoCompositeOp
Definition
KoCompositeOp.cpp:107
KoOptimizedCompositeOpFactoryPerArch
Definition
KoOptimizedCompositeOpFactoryPerArch.h:53
libs
pigment
compositeops
KoOptimizedCompositeOpFactoryPerArch_Scalar.cpp
Generated at
2025-11-04 02:30:02+01:00
from
Krita
branch
master
, commit
c9dde2e79561a8aea4a7e8d9ac99c98a7bac9e52