commented out benchmark does not currently work
The next changes add the requeested type objects for the specifyc tests on current API so the test can run.
dkazakov |
Krita |
commented out benchmark does not currently work
The next changes add the requeested type objects for the specifyc tests on current API so the test can run.
Only testedon OSX
all tests pass
Lint Skipped |
Unit Tests Skipped |
The patch looks fine, please push!
And also push add the following patch. Without it, the benchmark is quite useless :)
1 | diff --git a/benchmarks/kis_composition_benchmark.cpp b/benchmarks/kis_composition_benchmark.cpp |
---|---|
2 | index ad75225..a19ee5c 100644 |
3 | --- a/benchmarks/kis_composition_benchmark.cpp |
4 | +++ b/benchmarks/kis_composition_benchmark.cpp |
5 | @@ -189,14 +189,14 @@ void generateDataLine(uint seed, int numPixels, quint8 *srcPixels, quint8 *dstPi |
6 | void printData(int numPixels, quint8 *srcPixels, quint8 *dstPixels, quint8 *mask) |
7 | { |
8 | for (int i = 0; i < numPixels; i++) { |
9 | - dbgKrita << "Src: " |
10 | + qDebug() << "Src: " |
11 | << srcPixels[i*4] << "\t" |
12 | << srcPixels[i*4+1] << "\t" |
13 | << srcPixels[i*4+2] << "\t" |
14 | << srcPixels[i*4+3] << "\t" |
15 | << "Msk:" << mask[i]; |
16 | |
17 | - dbgKrita << "Dst: " |
18 | + qDebug() << "Dst: " |
19 | << dstPixels[i*4] << "\t" |
20 | << dstPixels[i*4+1] << "\t" |
21 | << dstPixels[i*4+2] << "\t" |
22 | @@ -300,19 +300,19 @@ bool compareTwoOpsPixels(QVector<Tile> &tiles, channel_type prec) { |
23 | |
24 | for (int i = 0; i < numPixels; i++) { |
25 | if (!comparePixels<channel_type>(dst1, dst2, prec)) { |
26 | - dbgKrita << "Wrong result:" << i; |
27 | - dbgKrita << "Act: " << dst1[0] << dst1[1] << dst1[2] << dst1[3]; |
28 | - dbgKrita << "Exp: " << dst2[0] << dst2[1] << dst2[2] << dst2[3]; |
29 | - dbgKrita << "Dif: " << dst1[0] - dst2[0] << dst1[1] - dst2[1] << dst1[2] - dst2[2] << dst1[3] - dst2[3]; |
30 | + qDebug() << "Wrong result:" << i; |
31 | + qDebug() << "Act: " << dst1[0] << dst1[1] << dst1[2] << dst1[3]; |
32 | + qDebug() << "Exp: " << dst2[0] << dst2[1] << dst2[2] << dst2[3]; |
33 | + qDebug() << "Dif: " << dst1[0] - dst2[0] << dst1[1] - dst2[1] << dst1[2] - dst2[2] << dst1[3] - dst2[3]; |
34 | |
35 | channel_type *s1 = src1 + 4 * i; |
36 | channel_type *s2 = src2 + 4 * i; |
37 | |
38 | - dbgKrita << "SrcA:" << s1[0] << s1[1] << s1[2] << s1[3]; |
39 | - dbgKrita << "SrcE:" << s2[0] << s2[1] << s2[2] << s2[3]; |
40 | + qDebug() << "SrcA:" << s1[0] << s1[1] << s1[2] << s1[3]; |
41 | + qDebug() << "SrcE:" << s2[0] << s2[1] << s2[2] << s2[3]; |
42 | |
43 | - dbgKrita << "MskA:" << tiles[0].mask[i]; |
44 | - dbgKrita << "MskE:" << tiles[1].mask[i]; |
45 | + qDebug() << "MskA:" << tiles[0].mask[i]; |
46 | + qDebug() << "MskE:" << tiles[1].mask[i]; |
47 | |
48 | return false; |
49 | } |
50 | @@ -431,14 +431,14 @@ void benchmarkCompositeOp(const KoCompositeOp *op, |
51 | op->composite(params); |
52 | } |
53 | |
54 | - dbgKrita << testName << "RESULT:" << timer.elapsed() << "msec"; |
55 | + qDebug() << testName << "RESULT:" << timer.elapsed() << "msec"; |
56 | |
57 | freeTiles(tiles, srcAlignmentShift, dstAlignmentShift); |
58 | } |
59 | |
60 | void benchmarkCompositeOp(const KoCompositeOp *op, const QString &postfix) |
61 | { |
62 | - dbgKrita << "Testing Composite Op:" << op->id() << "(" << postfix << ")"; |
63 | + qDebug() << "Testing Composite Op:" << op->id() << "(" << postfix << ")"; |
64 | |
65 | benchmarkCompositeOp(op, true, 0.5, 0.3, 0, 0, ALPHA_RANDOM, ALPHA_RANDOM); |
66 | benchmarkCompositeOp(op, true, 0.5, 0.3, 8, 0, ALPHA_RANDOM, ALPHA_RANDOM); |
67 | @@ -503,9 +503,9 @@ void checkRounding(qreal opacity, qreal flow, qreal averageOpacity = -1, quint32 |
68 | for (int j = 0; j < vecSize; j++) { |
69 | |
70 | //if (8 * i + j == 7080) { |
71 | - // dbgKrita << "src: " << src2[0] << src2[1] << src2[2] << src2[3]; |
72 | - // dbgKrita << "dst: " << dst2[0] << dst2[1] << dst2[2] << dst2[3]; |
73 | - // dbgKrita << "msk:" << msk2[0]; |
74 | + // qDebug() << "src: " << src2[0] << src2[1] << src2[2] << src2[3]; |
75 | + // qDebug() << "dst: " << dst2[0] << dst2[1] << dst2[2] << dst2[3]; |
76 | + // qDebug() << "msk:" << msk2[0]; |
77 | //} |
78 | |
79 | Compositor::template compositeOnePixelScalar<true, Vc::CurrentImplementation::current()>(src2, dst2, msk2, params.opacity, paramsWrapper); |
80 | @@ -529,12 +529,12 @@ void checkRounding(qreal opacity, qreal flow, qreal averageOpacity = -1, quint32 |
81 | } |
82 | |
83 | if(!compareResult || errorcount > 1) { |
84 | - dbgKrita << "Wrong rounding in pixel:" << 8 * i + j; |
85 | - dbgKrita << "Vector version: " << dst1[0] << dst1[1] << dst1[2] << dst1[3]; |
86 | - dbgKrita << "Scalar version: " << dst2[0] << dst2[1] << dst2[2] << dst2[3]; |
87 | + qDebug() << "Wrong rounding in pixel:" << 8 * i + j; |
88 | + qDebug() << "Vector version: " << dst1[0] << dst1[1] << dst1[2] << dst1[3]; |
89 | + qDebug() << "Scalar version: " << dst2[0] << dst2[1] << dst2[2] << dst2[3]; |
90 | |
91 | - dbgKrita << "src:" << src1[0] << src1[1] << src1[2] << src1[3]; |
92 | - dbgKrita << "msk:" << msk1[0]; |
93 | + qDebug() << "src:" << src1[0] << src1[1] << src1[2] << src1[3]; |
94 | + qDebug() << "msk:" << msk1[0]; |
95 | |
96 | QFAIL("Wrong rounding"); |
97 | } |
Path | Packages | |||
---|---|---|---|---|
M | benchmarks/CMakeLists.txt (8 lines) | |||
M | benchmarks/kis_composition_benchmark.cpp (20 lines) |